Azure Kubernetes Serviceのアプリ準備チュートリアル更新点|AKS展開前に確認すべき設定

Azure Kubernetes Service(AKS)の公式チュートリアル「Kubernetes on Azure tutorial – Prepare an Application for Azure Kubernetes Service (AKS)」は、AKSへアプリをデプロイする前に、Docker Composeでマルチコンテナアプリを準備・ビルド・ローカル検証する手順を扱う記事です。2026年5月14日(日本時間)の公開反映で押さえるべきポイントは、AKSクラスターの仕様変更ではなく、docker-compose down から docker compose down へのコマンド表記修正、RabbitMQの名称統一、Azure Developer CLI関連の見出し整理です。既存クラスターへの直接影響は小さいものの、社内手順書、CI/CD、研修資料、開発環境のDocker Composeバージョンは確認しておくべきです。(GitHub)

目次

Azure Kubernetes Serviceのアプリ準備チュートリアルは何をする手順なのか

このチュートリアルは、AKSクラスターを作成する前段階として、サンプルアプリを取得し、コンテナイメージを作成し、ローカルのDocker環境でマルチコンテナアプリを動かす流れを説明しています。Microsoft Learnの本文では、サンプルアプリのクローン、コンテナイメージ作成、ローカルDocker環境でのテストが学習内容として示され、その後のチュートリアルでAzure Container Registry(ACR)へのイメージ登録とAKSへのデプロイに進む構成になっています。(Microsoft Learn)

つまり、この記事を読むべきなのは「AKSにいきなりデプロイしたい人」だけではありません。むしろ、以下のような担当者が最初に確認すべき内容です。

対象者確認すべきこと
アプリ開発者ローカルで複数コンテナを起動し、サービス間通信やヘルスチェックを確認できるか
AKS管理者本番AKSに載せる前に、イメージ作成・ACR登録・Kubernetes展開の責任範囲を切り分けられるか
DevOps担当者CI/CDのDocker Composeコマンドが現在の標準構文に合っているか
技術リードサンプルの認証情報や環境変数を本番構成へ誤って流用していないか

公式チュートリアルのサンプルアプリは、ストアフロント、商品サービス、注文サービス、RabbitMQで構成されます。Docker Composeファイルでは、RabbitMQ、order-service、product-service、store-frontなどをサービスとして定義し、ローカル環境では http://localhost:8080 から画面を確認する流れです。(Microsoft Learn)

2026年5月14日更新で確認すべき主な変更点

今回の変更は、AKSのAPI、Kubernetesバージョン、ノードプール、ネットワーク、ACR連携の仕様を変えるものではありません。実務上の影響は、チュートリアルや社内手順を実行する際のコマンド表記、用語、ページ構造にあります。

変更点変更前変更後実務上の影響
Docker Composeの停止コマンドdocker-compose downdocker compose downCompose V2前提のコマンドに統一。古い手順書やCIジョブの見直しが必要
RabbitMQの表記Rabbit MQRabbitMQ製品名の表記揺れを解消。運用資料や構成図の名称統一に反映
記事タイトルPrepare an applicationPrepare an Application表記上の修正。技術的な影響は小さい
Azure Developer CLI見出しタブ形式の見出し通常見出しとして整理Azure CLI手順とazd手順の読み分けがしやすくなる
メタ情報ms.service の明示なしazure-kubernetes-service を明示ドキュメント分類上の整理。利用者側の設定変更は不要

差分では、クリーンアップ手順の説明が docker-compose down から docker compose down に修正されています。Docker Composeの現在の標準コマンドはスペース区切りの docker compose であり、Dockerの公式ドキュメントでもスタンドアロン版の docker-compose 構文は後方互換用途として扱われています。(GitHub)

影響範囲は「AKS本体」より「開発環境と自動化手順」

今回の更新で、既存のAKSクラスターが自動的に変更されるわけではありません。ノードプール、Pod、Service、Ingress、ACR、Managed Identity、ネットワークポリシーなどの本番リソースに直接影響する変更ではないと見てよいでしょう。

ただし、開発現場では小さな表記変更が失敗の原因になります。特に次のケースでは確認が必要です。

CI/CDで docker-compose を使っている場合

GitHub Actions、Azure Pipelines、GitLab CI、社内Jenkinsなどで、古いチュートリアルを参考にして次のようなコマンドを書いている場合があります。

docker-compose -f docker-compose-quickstart.yml up -d
docker-compose down

現在の手順に合わせるなら、次のように更新します。

docker compose -f docker-compose-quickstart.yml up -d
docker compose down

ただし、単純に置換するだけでは不十分です。実行環境にDocker Compose V2プラグインが入っていない場合、docker compose が失敗します。更新前に、CIランナーや開発端末で次の確認を行ってください。

docker compose version
docker version

docker compose version が通らない場合は、Docker Desktop、Docker Engine、Composeプラグインの導入状況を見直します。古いLinuxサーバーや自前のビルドエージェントでは、docker 本体だけが入り、Composeプラグインが入っていないことがあります。

Azure Cloud Shellだけで完結しようとしている場合

公式チュートリアルは、ローカルのDocker開発環境でLinuxコンテナを実行できることを前提にしています。Microsoft Learnでも、Azure Cloud Shellにはチュートリアルの全手順を完了するために必要なDockerコンポーネントが含まれないため、フルのDocker開発環境を使うことが推奨されています。(Microsoft Learn)

そのため、初学者向けの研修や社内ハンズオンでは「Azureにログインできればよい」と説明しないようにしてください。事前準備として、Windows、Mac、LinuxのいずれかにDocker環境を用意し、Linuxコンテナモードで起動できることを確認する必要があります。

クリーンアップでイメージを消してしまう場合

公式チュートリアルでは、ローカル検証後にコンテナを停止・削除しますが、次のチュートリアルで使うためコンテナイメージは削除しないよう注意しています。docker compose down は標準では主にコンテナとネットワークを削除しますが、--rmi を付けるとサービスで使うイメージ削除の対象になります。(Microsoft Learn)

避けたい例は次のようなコマンドです。

docker compose down --rmi all --volumes

ローカル検証を完全にやり直す目的なら有効ですが、ACRへプッシュする前に実行すると、せっかく作成したイメージを再ビルドすることになります。チュートリアルの流れに沿うなら、まずは次のコマンドにとどめるのが安全です。

docker compose down

管理者が確認すべき設定と運用ポイント

AKS管理者は、今回の更新を「ドキュメント上の軽微な修正」として放置するのではなく、開発からAKS展開までの入口を点検する機会として扱うと効果的です。

Docker Compose V2を標準にする

社内手順やテンプレートでは、docker-compose ではなく docker compose を基本表記に統一しましょう。理由は、現在のDocker ComposeがDocker CLIのサブコマンドとして扱われる形に移っているためです。

確認項目は次の3つです。

確認項目判断基準
開発端末docker compose version が実行できる
CI/CDランナービルドジョブ内で docker compose が使える
手順書docker-compose と docker compose が混在していない

古い環境をすぐ移行できない場合は、手順書に「この環境ではレガシー構文を使う」と明記します。何も書かずに両方を混在させると、トラブル時に原因切り分けが難しくなります。

サンプルの環境変数を本番に流用しない

チュートリアルのComposeファイルには、RabbitMQのユーザー名やパスワード、サービスURLなどの環境変数が含まれます。これは学習用のローカル実行を簡単にするための設定であり、本番AKS環境へそのまま持ち込むべきではありません。公式ページのCompose例でも、RabbitMQの認証情報が環境変数として記述されています。(Microsoft Learn)

AKSに展開する際は、少なくとも次の整理が必要です。

Compose上の設定AKSでの考え方
RABBITMQ_DEFAULT_USERKubernetes Secretまたは外部シークレット管理へ移す
RABBITMQ_DEFAULT_PASS平文のマニフェストに書かない
サービスURLKubernetes Service名、環境別ConfigMap、Helm valuesなどで管理
ローカルポート公開Ingress、LoadBalancer、ClusterIPの用途に応じて設計

Kubernetesでは、パスワードやトークンなどの機密情報をSecretとして扱えます。Secretを使うことで、Pod仕様やコンテナイメージに機密情報を直接埋め込む必要を減らせます。(Kubernetes)

ローカルのヘルスチェックをAKSのProbeに置き換える

Docker Composeの healthcheck は、ローカル検証では便利です。しかし、AKSへ展開する際はKubernetesのLiveness Probe、Readiness Probe、Startup Probeとして設計し直す必要があります。Kubernetesでは、Probeの結果に基づいて不健康なコンテナを再起動したり、準備ができていないPodへのトラフィック送信を止めたりできます。(Kubernetes)

たとえば、ストアフロントやAPIサービスに /health があるなら、AKS用マニフェストでは次のような観点で分けて考えます。

Probe役割設定の考え方
Startup Probe起動完了まで待つ初回起動が遅いサービスに設定
Readiness Probe通信可能か判断する依存サービス接続後にReadyにする
Liveness Probe異常停止を検知するデッドロックや復旧不能状態を検知

Composeで動いたからといって、AKS上で安定稼働するとは限りません。ローカル検証は「コンテナとして起動するか」を見る段階であり、AKS展開では「Podとして安全にスケール・再起動・公開できるか」を確認する必要があります。

開発者が展開前に確認すべきポイント

開発者は、チュートリアルのゴールを「ローカルで画面が開けた」で終わらせないことが重要です。AKSに進む前に、次の順番で確認してください。

ローカル実行の基本コマンドをそろえる

公式手順では、docker-compose-quickstart.yml を指定してアプリを起動します。実行するコマンドは次の形です。

docker compose -f docker-compose-quickstart.yml up -d

起動後は、作成されたイメージと実行中コンテナを確認します。

docker images
docker ps

最後に、ブラウザで次のURLを開きます。

http://localhost:8080

公式チュートリアルでも、ローカルブラウザから http://localhost:8080 にアクセスし、商品閲覧、カート追加、注文操作を確認する流れが示されています。(Microsoft Learn)

ComposeのネットワークとKubernetes Serviceの違いを理解する

Docker Composeでは、同じComposeプロジェクト内のサービス名を使ってコンテナ間通信できます。一方、KubernetesではPodを直接指定するのではなく、Serviceを使って複数Podの背後にあるアプリケーションを公開します。KubernetesのServiceは、1つ以上のPodで動くネットワークアプリケーションを公開するための仕組みです。(Kubernetes)

そのため、Composeの product-service:3002 や order-service:3000 のようなローカル前提の接続設定は、AKS展開時にKubernetes Service名、名前空間、ポート設計に合わせて見直します。

depends_on を過信しない

Composeでは、サービスの起動順序をある程度制御できます。しかしAKSでは、Podの起動順序に頼るのではなく、Readiness Probe、再試行処理、依存先への接続リトライを組み合わせて設計します。

特にRabbitMQのようなメッセージキューに依存する注文サービスでは、キューが一時的に利用できない場合でもアプリが復旧できる設計が必要です。サンプルにある ORDER_QUEUE_RECONNECT_LIMIT のような値も、本番ではアプリ要件に合わせて調整します。

Azure Developer CLIを使う場合の注意点

このチュートリアルには、Gitでサンプルを取得する流れに加え、Azure Developer CLI(azd)を使う流れも含まれます。公式説明では、azd を使う場合、手動のコンテナイメージ依存関係はなく、azd up と azd down によってプロビジョニング、デプロイ、クリーンアップを扱うとされています。また、azure.yaml の infra セクションでは、既定でTerraformを使い、必要に応じてBicepへ変更できます。(Microsoft Learn)

実務では、Azure CLI手順とazd手順を混ぜないことが大切です。

方針向いているケース注意点
Azure CLI中心既存のAKS、ACR、ネットワークを細かく管理したい手順が長くなりやすく、変数管理が重要
azd中心サンプルから環境一式を素早く作りたいTerraform/Bicepの構成、命名、権限を事前に確認する
両方混在学習・検証では可能本番運用では責任範囲が曖昧になりやすい

チームで使う場合は、「このプロジェクトはazdで環境を作る」「このプロジェクトは既存AKSへkubectlまたはHelmで展開する」と最初に決めておくと、手順の重複やリソースの作り直しを避けられます。

移行・展開前のチェックリスト

今回の更新を受けて、管理者と開発者は次の項目を確認しておくと安全です。

チェック項目確認方法問題がある場合の対応
Docker Compose V2が使えるdocker compose version を実行Docker環境またはComposeプラグインを更新
手順書が古い構文のままdocker-compose を検索docker compose へ置換し、例外環境だけ注記
CI/CDでComposeが動くビルドジョブ内で検証ランナーイメージやセットアップ手順を修正
Cloud Shell前提になっていないハンズオン資料を確認ローカルDocker環境を前提に書き換える
クリーンアップでイメージを消していない--rmi の有無を確認ACRプッシュ前は docker compose down のみにする
サンプル認証情報を流用していないCompose、マニフェスト、Helm valuesを確認SecretやKey Vault連携に置き換える
AKS用Probeを設計しているDeploymentマニフェストを確認Readiness/Liveness/Startup Probeを追加
ComposeとKubernetesのネットワーク差分を理解しているService、Ingress、DNS名を確認Kubernetes Service設計に合わせて環境変数を修正

まとめ:今回の更新は小さいが、AKS展開前の品質を上げる好機

2026年5月14日(日本時間)の公開反映で確認された「Kubernetes on Azure tutorial – Prepare an Application for Azure Kubernetes Service (AKS)」の変更は、AKS本体の破壊的変更ではありません。中心は、Docker Composeの現在の標準構文に合わせた docker compose down への修正、RabbitMQ表記の統一、Azure Developer CLI関連の見出し整理です。(GitHub)

ただし、影響が小さいから無視してよいわけではありません。古い docker-compose コマンドが社内手順、CI/CD、研修資料に残っていると、環境によっては実行エラーになります。また、ローカルComposeで動いたアプリをAKSに載せる際は、Secret、Service、Probe、ACRへのイメージ登録、クリーンアップ手順を改めて設計する必要があります。

次に取るべき行動は明確です。まず開発端末とCI/CDで docker compose version を確認し、社内手順の docker-compose 表記を洗い出してください。そのうえで、サンプルの環境変数やヘルスチェックをAKS向けのSecret、Service、Probeへ置き換える準備を進めると、ACR登録からAKS展開までの移行がスムーズになります。

この記事を書いた人

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

コメント

コメントする

目次