この記事の内容
- AKSクラスターを展開すると、Azureのバックエンドにどのようなリソースが自動作成されるかを解説します
- 仮想ネットワーク、サブネット、Virtual Machine Scale Set(VMSS)の構成を確認します
- ロードバランサーとパブリックIPアドレスを介した外部アクセスの仕組みを解説します
- NSG(ネットワークセキュリティグループ)とルートテーブルの役割を確認します
- AzureポータルでAKSのインフラストラクチャリソースグループを実際に見ながら理解を深めます
AKSクラスター展開時のAzureリソース全体像
AKSクラスターをデプロイすると、Azureのバックエンド側にさまざまなリソースが自動的に作成されます。展開された構成を確認する前に、まずAzure基盤側でどのようなサービスが作られているかを見ていきましょう。
全体の構成は以下のようになっています。
- Azureの仮想ネットワークが作成されます
- その中にサブネットが作られます
- AKSはクラスターのためスケールアウトできるように、**Virtual Machine Scale Set(VMSS)**が作成されます。ノード数は設定に応じて増減します
- VMSSのインスタンスがサブネットに接続されます
- 外部からアプリケーションにアクセスできるようにロードバランサーとパブリックIPアドレスが作成されます
- 通信を制御するためにNSG(ネットワークセキュリティグループ)とルートテーブルがサブネットに紐付けられます
インフラストラクチャリソースグループの確認
AzureポータルでAKSのサービス(Kubernetesサービス)を開き、プロパティを見てみると「インフラストラクチャリソースグループ」という項目があります。
このリソースグループが、AKSクラスターを実際に動かしているAzureのサービス群が格納されている場所です。中には以下のようなリソースが含まれています。
- Virtual Machine Scale Set(VMSS)
- 仮想ネットワーク
- NSG・ルートテーブル
- マネージドID
- パブリックIPアドレス
- ロードバランサー
これらすべてが連携して、AKSクラスターを動作させています。
仮想ネットワークとサブネットの構成
仮想ネットワークのアドレス空間は以下のように設定されています。
サブネットの「接続デバイス」を確認すると、VMSSのインスタンスが2台接続されていることが確認できます。
ロードバランサーの構成
外部からアプリケーションへのアクセスは、以下のような流れになっています。
- クライアントがパブリックIPアドレスの80番ポートでアクセスします
- ロードバランサーが80番ポートのトラフィックを受け取ります
- バックエンドプール(VMSSのノード群)の80番ポートに負荷分散して転送します
ロードバランサーの設定を確認すると、次のような構成になっています。
- フロントエンドIP構成: パブリックIPアドレスに紐付け
- 負荷分散規則: プロトコルTCP、フロントエンド80番ポート → バックエンド80番ポート
- バックエンドプール:
kubernetesとaks-outbound-backend-poolの2つが定義されており、どちらもVMSSのインスタンスがメンバーとなっています - 正常性プローブ: TCPポート30503で死活監視
また、アウトバウンド通信用に AKS outbound rule という送信規則も同時に作成されており、クラスター内部から外部への通信にもパブリックIPアドレスが使われる仕組みになっています。
NSG(ネットワークセキュリティグループ)の構成
通信の許可はNSGで制御されています。受信セキュリティ規則の先頭に、以下のようなルールが定義されています。
| 項目 | 設定値 |
|---|---|
| ソース | インターネット |
| 宛先 | パブリックIPアドレス |
| ポート | 80 |
| アクション | 許可 |
このルールによって、インターネットからポート80でのアクセスが許可されます。このNSGは AKS subnet に紐付けられています。
ルートテーブルの構成
ルートテーブルにはKubernetesのPodネットワーク用のルートが定義されています。ここで注意が必要なのが、アドレスが 10.224 と 10.244 の2種類あることです。混同しやすいため気をつけてください。
10.224.x.x: Azureの仮想ネットワーク空間(サブネット側)10.244.x.x: Kubernetes(AKS)内部のPodネットワーク空間
ルートテーブルの設定例は以下のようになっています。
このルートは、Azureの世界では直接見えない 10.244 のネットワーク(Podネットワーク)からの通信が来たとき、対応するVMSSのノードに返すよう設定されています。各ノードに対して 10.244.x.x/24 の範囲が割り当てられており、ノード上で動くPodのトラフィックが正しく届くよう制御されています。
まとめ
AKSクラスターをデプロイすると、Azureのバックエンドでは仮想ネットワーク、VMSS、ロードバランサー、パブリックIPアドレス、NSG、ルートテーブルといった多数のリソースが自動的に作成されます。これらはすべてインフラストラクチャリソースグループにまとめられており、Azureポータルから確認できます。
特に重要なポイントは以下の3点です。
- 外部アクセスはロードバランサー経由: パブリックIPアドレス → ロードバランサー → VMSSのノード群 という流れでトラフィックが流れます
- NSGがサブネット単位で通信を制御: ポート80の受信許可がサブネットに紐付くNSGで定義されています
10.224と10.244は別物: Azureの仮想ネットワークアドレスとKubernetes内部のPodネットワークアドレスは異なります。ルートテーブルによってPodネットワークからの通信が適切なノードへルーティングされます
Azureのポータルでこれらのリソースをひとつひとつ確認することで、AKSクラスターの動作基盤への理解が深まります。