この記事の内容

  • AKSクラスターを展開すると、Azureのバックエンドにどのようなリソースが自動作成されるかを解説します
  • 仮想ネットワーク、サブネット、Virtual Machine Scale Set(VMSS)の構成を確認します
  • ロードバランサーとパブリックIPアドレスを介した外部アクセスの仕組みを解説します
  • NSG(ネットワークセキュリティグループ)とルートテーブルの役割を確認します
  • AzureポータルでAKSのインフラストラクチャリソースグループを実際に見ながら理解を深めます

AKSクラスター展開時のAzureリソース全体像

AKSクラスターをデプロイすると、Azureのバックエンド側にさまざまなリソースが自動的に作成されます。展開された構成を確認する前に、まずAzure基盤側でどのようなサービスが作られているかを見ていきましょう。

全体の構成は以下のようになっています。

  1. Azureの仮想ネットワークが作成されます
  2. その中にサブネットが作られます
  3. AKSはクラスターのためスケールアウトできるように、**Virtual Machine Scale Set(VMSS)**が作成されます。ノード数は設定に応じて増減します
  4. VMSSのインスタンスがサブネットに接続されます
  5. 外部からアプリケーションにアクセスできるようにロードバランサーパブリックIPアドレスが作成されます
  6. 通信を制御するためにNSG(ネットワークセキュリティグループ)ルートテーブルがサブネットに紐付けられます

インフラストラクチャリソースグループの確認

AzureポータルでAKSのサービス(Kubernetesサービス)を開き、プロパティを見てみると「インフラストラクチャリソースグループ」という項目があります。

このリソースグループが、AKSクラスターを実際に動かしているAzureのサービス群が格納されている場所です。中には以下のようなリソースが含まれています。

  • Virtual Machine Scale Set(VMSS)
  • 仮想ネットワーク
  • NSG・ルートテーブル
  • マネージドID
  • パブリックIPアドレス
  • ロードバランサー

これらすべてが連携して、AKSクラスターを動作させています。


仮想ネットワークとサブネットの構成

仮想ネットワークのアドレス空間は以下のように設定されています。

AK:S1s0u.b2n2e4t.0:.01/01.2224.0.0/16

サブネットの「接続デバイス」を確認すると、VMSSのインスタンスが2台接続されていることが確認できます。


ロードバランサーの構成

外部からアプリケーションへのアクセスは、以下のような流れになっています。

  1. クライアントがパブリックIPアドレスの80番ポートでアクセスします
  2. ロードバランサーが80番ポートのトラフィックを受け取ります
  3. バックエンドプール(VMSSのノード群)の80番ポートに負荷分散して転送します

ロードバランサーの設定を確認すると、次のような構成になっています。

  • フロントエンドIP構成: パブリックIPアドレスに紐付け
  • 負荷分散規則: プロトコルTCP、フロントエンド80番ポート → バックエンド80番ポート
  • バックエンドプール: kubernetesaks-outbound-backend-pool の2つが定義されており、どちらもVMSSのインスタンスがメンバーとなっています
  • 正常性プローブ: TCPポート30503で死活監視

また、アウトバウンド通信用に AKS outbound rule という送信規則も同時に作成されており、クラスター内部から外部への通信にもパブリックIPアドレスが使われる仕組みになっています。


NSG(ネットワークセキュリティグループ)の構成

通信の許可はNSGで制御されています。受信セキュリティ規則の先頭に、以下のようなルールが定義されています。

項目設定値
ソースインターネット
宛先パブリックIPアドレス
ポート80
アクション許可

このルールによって、インターネットからポート80でのアクセスが許可されます。このNSGは AKS subnet に紐付けられています。


ルートテーブルの構成

ルートテーブルにはKubernetesのPodネットワーク用のルートが定義されています。ここで注意が必要なのが、アドレスが 10.22410.244 の2種類あることです。混同しやすいため気をつけてください。

  • 10.224.x.x: Azureの仮想ネットワーク空間(サブネット側)
  • 10.244.x.x: Kubernetes(AKS)内部のPodネットワーク空間

ルートテーブルの設定例は以下のようになっています。

1100..224444..10..00//2244::((1100..222244..00..54))

このルートは、Azureの世界では直接見えない 10.244 のネットワーク(Podネットワーク)からの通信が来たとき、対応するVMSSのノードに返すよう設定されています。各ノードに対して 10.244.x.x/24 の範囲が割り当てられており、ノード上で動くPodのトラフィックが正しく届くよう制御されています。


まとめ

AKSクラスターをデプロイすると、Azureのバックエンドでは仮想ネットワーク、VMSS、ロードバランサー、パブリックIPアドレス、NSG、ルートテーブルといった多数のリソースが自動的に作成されます。これらはすべてインフラストラクチャリソースグループにまとめられており、Azureポータルから確認できます。

特に重要なポイントは以下の3点です。

  • 外部アクセスはロードバランサー経由: パブリックIPアドレス → ロードバランサー → VMSSのノード群 という流れでトラフィックが流れます
  • NSGがサブネット単位で通信を制御: ポート80の受信許可がサブネットに紐付くNSGで定義されています
  • 10.22410.244 は別物: Azureの仮想ネットワークアドレスとKubernetes内部のPodネットワークアドレスは異なります。ルートテーブルによってPodネットワークからの通信が適切なノードへルーティングされます

Azureのポータルでこれらのリソースをひとつひとつ確認することで、AKSクラスターの動作基盤への理解が深まります。