Visual Studio CodeのAKS拡張でGitHub Workflowを作成する方法と更新ポイント

Visual Studio Code で AKS へのデプロイを自動化したい場合、今回確認すべきポイントは「新しい移行作業が必要か」ではなく、AKS 拡張機能で生成される GitHub Workflow を、組織の権限設計・ACR・namespace・認証方式に合わせて安全に運用できるかです。Microsoft Learn の対象記事は、Visual Studio Code の Azure Kubernetes Service(AKS)拡張から GitHub Workflow を作成し、アプリのビルド、テスト、AKS へのデプロイを CI/CD として扱う手順を説明しています。(Microsoft Learn)

なお、2026年7月3日更新として確認できる実体は、MicrosoftDocs の GitHub 履歴上では日本時間換算で2026年7月3日に反映されたドキュメントメタデータ更新です。対象ファイルには ms.subservice: aks-developer が追加されており、コミット説明でも「front-matter only; no article body content changed」と明記されています。つまり、本文手順そのものに大きな変更が入ったわけではなく、現時点で強制的な設定変更や移行期限が追加された更新ではありません。(GitHub)

目次

Visual Studio Code の AKS 拡張で GitHub Workflow を作成する機能とは

この機能は、Visual Studio Code 上の Azure Kubernetes Service 拡張機能から、AKS 向けの GitHub Actions ワークフロー作成を支援するものです。対象は「Visual Studio IDE」ではなく、Visual Studio Code の AKS 拡張機能です。混同しやすい点ですが、Visual Studio の発行機能ではなく、VS Code の Kubernetes/Azure 操作画面から AKS クラスターを選び、GitHub Workflow の作成に進む流れです。(Microsoft Learn)

GitHub Workflow は、コードのビルド、テスト、コンテナーイメージの作成、Azure Container Registry(ACR)への push、AKS クラスターへのデプロイを自動化するための仕組みです。Microsoft Learn では、GitHub Actions を使うことで ACR から AKS へコンテナーをデプロイでき、AKS 向けのアクションとして azure/aks-set-context、azure/k8s-deploy、azure/k8s-bake、azure/setup-kubectl などが利用できると説明されています。(Microsoft Learn)

実務上の価値は、単に YAML ファイルを作ることではありません。開発者が VS Code から AKS クラスター、ACR、Dockerfile、namespace を選び、デプロイのひな形を短時間で作れるため、初期構築のばらつきを減らせます。一方で、生成されたワークフローをそのまま本番環境に適用すると、権限過多、誤った namespace へのデプロイ、意図しないブランチからの自動反映といった問題が起きやすくなります。

2026年7月3日更新ポイントで見るべきこと

今回の更新ポイントは、機能追加や破壊的変更ではなく、AKS ドキュメントの分類・所有情報の整理と見るのが妥当です。公開ページ側では対象記事の本文が GitHub Workflow 作成手順を説明しており、MicrosoftDocs のコミットでは対象ファイルに ms.subservice: aks-developer が追加されています。(Microsoft Learn)

確認項目公式情報から読み取れる内容実務への影響
対象機能VS Code の AKS 拡張から GitHub Workflow を作成する手順AKS 向け CI/CD の初期作成を支援
2026年7月3日相当の更新ms.subservice: aks-developer の追加ドキュメント分類・検索性・管理情報の整理が中心
本文手順の変更コミット説明上は本文変更なし既存ワークフローの即時修正は原則不要
設定変更強制変更は確認できないただし生成済み YAML の棚卸しは推奨
移行期限対象情報内では移行期限の追加は確認できない期限対応ではなく運用品質の見直しとして扱う
管理者の確認点認証、ACR、AKS RBAC、namespace、ブランチ保護本番適用前のレビューが重要

特に管理者が押さえるべきなのは、「更新されたから何かを移行する」のではなく、「この機能で作ったワークフローが、現在の社内標準に合っているか」を確認することです。たとえば、OIDC を使う設計にするのか、サービスプリンシパルの client secret を使うのか、GitHub Environment の承認を必須にするのか、といった点は、生成ツール任せにせず明示的に決める必要があります。

作成前に必要な前提条件

公式手順では、Visual Studio Code でコードを含むフォルダーを開いていること、現在の workspace が有効な git リポジトリであること、Azure Kubernetes Service 拡張機能がインストールされていることが前提として示されています。(Microsoft Learn)

準備するもの確認ポイントよくある失敗
Visual Studio Code対象プロジェクトのフォルダーを開いている空フォルダーや別プロジェクトで作業してしまう
git リポジトリgit status で正常に確認できるGitHub に push していないローカルだけの状態で進める
AKS 拡張機能VS Code に Azure Kubernetes Service 拡張をインストールKubernetes 拡張だけ入れて AKS メニューが見つからない
GitHub リポジトリworkflow を保存するリポジトリを選べる個人リポジトリと組織リポジトリを取り違える
Azure サブスクリプションAKS と ACR が存在する subscription を選ぶ検証用 subscription に本番 workflow を作る
Dockerfileビルド対象の Dockerfile を特定するDockerfile の階層と build context が合っていない
ACRpush 先の Container Registry を選ぶAKS が pull できない ACR を選ぶ
AKS クラスターcluster resource group と cluster を正しく選ぶ同名クラスターや別リージョンのクラスターを選ぶ
namespaceデプロイ先 namespace を明示するdefault に本番アプリを置いてしまう

前提条件の中で特に事故が多いのは、Dockerfile と build context の組み合わせです。たとえば、リポジトリ直下に Dockerfile があり、アプリ本体が src/app にある構成なのに build context を誤ると、ローカルでは動くのに GitHub Actions 上では依存ファイルが見つからない、という失敗が起きます。

GitHub Workflow の作成手順

公式手順では、GitHub Workflow 作成画面に入る方法として、コマンドパレット経由と Kubernetes view 経由の2通りが示されています。コマンドパレットの場合は Ctrl+Shift+P を開き、必要項目を入力して Create を選びます。Kubernetes view の場合は、Clouds > Azure > サブスクリプション > Automated Deployments 配下で対象クラスターを右クリックし、Create a GitHub Workflow を選択します。(Microsoft Learn)

コマンドパレットから作成する流れ

  1. Visual Studio Code で対象プロジェクトを開く
  2. Ctrl+Shift+P でコマンドパレットを開く
  3. AKS 拡張機能の GitHub Workflow 作成コマンドを選ぶ
  4. Workflow name を入力する
  5. GitHub repository を選ぶ
  6. Azure subscription を選ぶ
  7. Dockerfile と build context を指定する
  8. ACR Resource Group、Container Registry、ACR image を指定する
  9. Cluster Resource Group、Cluster、Namespace を指定する
  10. Deployment option の Type を選び、Create を実行する

Kubernetes view から作成する流れ

Kubernetes view から進める方法は、AKS クラスターを見ながら操作できるため、複数クラスターを管理している環境で使いやすい方法です。特に、開発・ステージング・本番でサブスクリプションや resource group が分かれている場合は、Kubernetes view で対象クラスターを確認してから作成するほうが誤選択を防ぎやすくなります。

ただし、Kubernetes view から始めても、最終的に確認すべき項目は同じです。Workflow name、GitHub repository、subscription、Dockerfile、build context、ACR、AKS cluster、namespace、deployment type は必ず確認します。公式手順でも、これらの入力項目が作成時に必要な情報として示されています。(Microsoft Learn)

生成された workflow で必ず確認する項目

Automated Deployments では、構成を確認してデプロイすると、選択したコードリポジトリに対して pull request が生成されます。PR を merge すると、GitHub Actions workflow が実行され、アプリケーションをコンテナーイメージにビルドし、ACR に格納し、AKS クラスターへデプロイする流れになります。(Microsoft Learn)

生成された workflow は、作成直後に次の観点でレビューしてください。

確認項目見るべきポイント本番運用での判断基準
トリガーpush、pull_request、対象ブランチ本番 deploy は main merge だけ、または environment 承認後に限定
認証方式OIDC か client secret か可能なら OIDC を優先し、長期 secret を減らす
権限Azure RBAC、AKS RBAC、ACR 権限subscription 全体ではなく必要最小スコープ
イメージタグlatest 依存になっていないかcommit SHA、build number、digest などで追跡可能にする
namespaceデプロイ先が明示されているかアプリ単位・環境単位で namespace を分ける
manifestreplicas、resources、probe、service 設定readiness/liveness probe と resource requests を確認
secretworkflow や manifest に平文がないかGitHub Secrets、Azure Key Vault、Kubernetes Secret などで管理
rollback失敗時に戻せるか直前イメージ、Helm release、manifest 履歴を確認
監視デプロイ後に状態を見られるかPod、Deployment、Service、Ingress、ログ、メトリックを確認

特に重要なのは認証方式です。Microsoft Learn では、GitHub Actions から Azure へ OpenID Connect(OIDC)で認証する場合、Microsoft Entra アプリケーションまたはユーザー割り当てマネージド ID に federated identity credential を構成し、AZURE_CLIENT_ID、AZURE_TENANT_ID、AZURE_SUBSCRIPTION_ID などを GitHub Secrets に登録する流れが説明されています。また、OIDC トークン取得には workflow 側で id-token: write 権限が必要です。(Microsoft Learn)

client secret を使う方式もありますが、長期 secret の漏えいリスクがあるため、公開リポジトリや複数チームで運用するリポジトリでは特に注意が必要です。Microsoft Learn でも、client secret は慎重に扱い、安全に保管し、権限のあるユーザーにのみ共有するよう警告されています。(Microsoft Learn)

影響範囲:開発者、DevOps、管理者で見るポイントが違う

Visual Studio Code の AKS 拡張による GitHub Workflow 作成は、開発者には便利な自動化機能ですが、組織全体では CI/CD 標準、クラウド権限、コンテナーセキュリティに影響します。AKS 拡張自体は、AKS クラスターの表示・管理、診断、AKS Periscope、Azure Service Operator、クラスターの start/stop、GitHub Workflow 作成など複数の操作を VS Code から扱える機能として説明されています。(Microsoft Learn)

開発者への影響

開発者は、AKS 向けの GitHub Actions YAML をゼロから書かなくても、基本形を作成できます。これにより、コンテナー化や Kubernetes デプロイに慣れていないチームでも、最初の CI/CD を構築しやすくなります。

ただし、生成された workflow は「完成品」ではなく「たたき台」と考えるべきです。テスト、脆弱性スキャン、静的解析、承認フロー、環境別変数、リリースノート作成などは、プロジェクトの運用ルールに合わせて追加する必要があります。

DevOps・SRE への影響

DevOps や SRE は、生成された workflow が社内の標準パターンに合っているかを確認します。たとえば、次のような観点です。

  • build と deploy が同じ job に詰め込まれていないか
  • staging と production の environment が分かれているか
  • 本番 deploy に reviewer approval が設定されているか
  • 失敗時の通知先が明確か
  • deployment の結果を監視基盤で追跡できるか
  • Kubernetes manifest に resource requests、limits、probe が設定されているか

GitHub Actions の初期作成が簡単になるほど、レビューなしで本番環境へ反映される危険も増えます。特に main ブランチへの push だけで本番 deploy される設計は、少人数の検証環境では便利でも、チーム開発やグローバル運用では事故につながりやすい構成です。

Azure 管理者への影響

Azure 管理者は、GitHub Actions から Azure に入る ID の権限を確認します。ACR に push する権限、AKS へ deploy する権限、対象 resource group の範囲、namespace 単位の Kubernetes RBAC などを整理します。

グローバル企業では、サブスクリプション、テナント、リージョン、クラウド環境が分かれることがあります。Azure Login action の OIDC 設定では、public cloud 以外の環境では audience などの値を環境に合わせて調整する必要があるため、Azure Government などの非パブリッククラウドでは生成された workflow の認証設定をそのまま使わず確認してください。(Microsoft Learn)

設定変更と移行期限はあるのか

今回確認できる公式情報の範囲では、既存ユーザーに対する強制的な設定変更や移行期限は示されていません。MicrosoftDocs の該当コミットは front matter の更新であり、対象記事では ms.subservice: aks-developer が追加されたのみです。本文手順の変更、非推奨化、期限付き移行、既存 GitHub Workflow の破壊的変更は確認できません。(GitHub)

ただし、移行期限がないからといって放置してよいわけではありません。次の条件に当てはまる環境では、生成済み workflow の見直しをおすすめします。

見直すべき状態理由推奨対応
client secret で Azure にログインしているsecret 漏えい時の影響が大きいOIDC 化を検討
subscription 全体に Contributor を付与している権限過多になりやすいresource group または必要操作に絞る
本番 deploy が push だけで実行される誤操作がそのまま反映されるenvironment 承認や branch protection を追加
latest タグで deploy しているどのコードが動いているか追跡しにくいcommit SHA や digest を使う
default namespace に配置している権限分離・監視・削除時に混乱しやすいアプリ・環境ごとに namespace を分ける
Dockerfile と build context が曖昧CI 上でビルド失敗しやすいworkflow 上でパスを明示
private AKS cluster を使っているrunner から API server に到達できない場合があるself-hosted runner やネットワーク経路を確認

private cluster の場合、AKS へのアクセスには cluster VNet、peering されたネットワーク、private endpoint などからの接続が必要になると Microsoft Learn で説明されています。GitHub-hosted runner から直接到達できない構成では、workflow の deploy ステップだけ失敗することがあるため、ネットワーク到達性の確認が重要です。(Microsoft Learn)

Automated Deployments と Draft の関係

AKS の Automated Deployments は、アプリケーションを Kubernetes へ載せるための作業を支援する機能です。Microsoft Learn では、Dockerfile がない場合に Automated Deployments が生成できること、構成確認後に pull request が作成され、merge によって GitHub Actions workflow が実行される流れが説明されています。(Microsoft Learn)

また、AKS には Draft という関連機能もあります。Draft は、Dockerfile、Kubernetes manifest、Helm chart、Kustomize 構成、GitHub Actions workflow などの生成を支援する open-source プロジェクトとして説明されており、draft setup-gh、draft generate-workflow、draft up などのコマンドが用意されています。(Microsoft Learn)

使い分けの目安は次のとおりです。

目的向いている方法判断基準
VS Code から対話的に作成したいAKS 拡張の Automated DeploymentsGUI 操作でクラスターや ACR を選びたい
CLI で再現可能にしたいDraft / Azure CLIチーム標準や自動化スクリプトに組み込みたい
既存の GitHub Actions を拡張したい手動で YAML 編集すでに CI/CD 標準がある
本番 GitOps を運用しているFlux、Argo CD などと併用検討deploy を GitHub Actions 直実行にしない方針がある
検証環境をすばやく作りたいAKS 拡張の生成機能最短で build・push・deploy を試したい

ポイントは、Automated Deployments を「本番標準の完成形」として扱わないことです。最初の workflow 作成には便利ですが、複数環境、承認フロー、セキュリティスキャン、SBOM、署名、ポリシー適用まで含める場合は、生成後に必ず組織標準へ合わせ込みます。

管理者が確認すべきチェックリスト

本番または共有環境で Visual Studio Code の AKS 拡張から GitHub Workflow を作成する場合、管理者は次の順番で確認すると抜け漏れを防げます。

GitHub 側の確認

項目確認内容
リポジトリ個人所有ではなく、適切な organization 管理下にあるか
branch protectionmain への直接 push を禁止しているか
pull request review本番反映前にレビューが必須か
GitHub Environmentstaging、production などが分かれているか
environment protectionproduction に reviewer approval があるか
Secrets不要な長期 secret が残っていないか
workflow permissionscontents: read、id-token: write など必要最小限か
runnerprivate cluster や閉域環境に到達できる runner か

Azure 側の確認

項目確認内容
Microsoft Entra IDGitHub Actions 用の ID が明確に分かれているか
Federated credentialsOIDC の subject が対象 repo・branch・environment に絞られているか
Azure RBACsubscription 全体の Contributor になっていないか
ACR 権限push する ID と pull する AKS 側 ID の権限が整理されているか
AKS RBACデプロイに必要な namespace だけ操作できるか
Networkprivate cluster の API server に runner から到達できるか
Logsデプロイ失敗時に GitHub Actions と AKS の両方から追跡できるか

Kubernetes 側の確認

項目確認内容
namespaceアプリ・環境ごとに分離されているか
Deploymentreplicas、rolling update、resources が適切か
probesreadiness/liveness/startup probe が設定されているか
Servicetype、port、selector が意図どおりか
IngressTLS、host、ingress class が正しいか
Secretmanifest に平文の機密情報が入っていないか
ConfigMap環境差分がコードと分離されているか
PolicyAzure Policy、OPA、Gatekeeper などの制約に違反しないか

よくある失敗と対策

Visual Studio と Visual Studio Code を混同する

今回の対象は Visual Studio Code の AKS 拡張機能です。Visual Studio IDE の発行ウィザードや、Azure Portal のデプロイ機能とは操作場所が異なります。社内手順書では「Visual Studio」ではなく「Visual Studio Code の AKS extension」と明記したほうが混乱を防げます。

GitHub repository の選択を誤る

組織アカウントのリポジトリに入れるべき workflow を、個人アカウントの fork や検証用 repository に作ってしまうケースがあります。作成前に repository owner、branch、Actions の有効化状態、Secrets の登録場所を確認してください。

Dockerfile と build context がずれる

monorepo では特に起きやすい問題です。たとえば services/api/Dockerfile を使うのに build context をリポジトリ直下にするのか、services/api にするのかで、COPY できるファイルが変わります。ローカル docker build と GitHub Actions の build が同じ条件になるように、workflow 上で明示します。

ACR と AKS の関係を確認していない

workflow が ACR へ push できても、AKS がそのイメージを pull できなければ Pod は起動しません。AKS 側の kubelet identity または managed identity に ACR pull 権限があるか、対象 ACR が正しいかを確認してください。

namespace を安易に default にする

検証では動いても、本番運用では default namespace に複数アプリが混在し、権限分離や削除作業が難しくなります。アプリ名と環境名を含めた namespace を用意し、workflow 側でも明示的に指定するのが安全です。

生成された workflow をレビューせず merge する

Automated Deployments では PR が生成され、merge すると workflow が走ります。つまり、PR レビューを省略すると、生成された設定がそのまま CI/CD として動きます。PR の Files changed で YAML、manifest、Dockerfile、環境変数、対象 cluster を必ず確認してください。(Microsoft Learn)

導入判断:使うべきケースと慎重に扱うべきケース

Visual Studio Code の AKS 拡張による GitHub Workflow 作成は、すべての AKS 運用に最適な方法ではありません。導入判断では、チームの成熟度と本番環境の制約を見ます。

状況推奨度理由
初めて AKS 向け CI/CD を作る高いひな形を短時間で作れる
開発環境・検証環境に deploy したい高いGUI で対象リソースを選びやすい
小規模チームで標準化を始めたい中〜高生成後にテンプレート化しやすい
本番環境へ直接 deploy したい中承認、権限、監査を追加すれば有効
金融・医療・公共など厳格な統制環境低〜中生成物をそのまま使わず、統制要件に合わせる必要がある
GitOps で Argo CD / Flux を使っている低〜中GitHub Actions から直接 deploy する設計と衝突する場合がある
複数リージョン・複数テナント運用中workflow の分岐、認証、承認設計を追加する必要がある

おすすめは、まず開発環境で生成された workflow を確認し、それを社内標準の GitHub Actions テンプレートに落とし込む進め方です。いきなり本番 repository に作成するより、検証用 repository で YAML の構造、必要な Secrets、Azure RBAC、ACR push、AKS deploy の流れを確認したほうが安全です。

次に取るべき行動

今回の更新では、本文手順の大きな変更や移行期限は確認できません。したがって、管理者がすぐに行うべきことは移行作業ではなく、既存または今後作成する AKS 向け GitHub Workflow の運用レビューです。具体的には、Visual Studio Code の AKS 拡張で workflow を作成し、PR の差分を確認し、OIDC 認証、最小権限、ACR と AKS の権限、namespace、branch protection、environment approval を整備します。

特に本番利用では、「作成できること」と「安全に運用できること」を分けて考える必要があります。AKS 拡張機能は CI/CD の出発点を作るには便利ですが、最終的な品質は workflow のレビュー、権限設計、デプロイ後の監視、ロールバック手順で決まります。まずは検証環境で生成された YAML を確認し、自社の標準テンプレートとして使える形に整えることから始めてください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次