AZ-104:Microsoft Azure Administrator 仮想ネットワークの実装と管理 問13
仮想ネットワークの実装と管理/名前解決と負荷分散Standard SKU の内部ロードバランサーの背後に、アプリ層の VM が3台ある。各 VM ではアプリが TCP 8080 で正常に応答しているが、ロードバランサーの正常性プローブ(TCP 8080)がすべてのバックエンドで失敗し、トラフィックが分散されない。直前に、バックエンドのサブネットに関連付けた NSG へ、優先度 200 で、すべての送信元からのインバウンドを拒否する規則を追加していた。この問題を解消する対処として適切なものはどれか。
当サイトのオリジナル問題(AZ-104:Microsoft Azure Administratorの出題範囲「仮想ネットワークの実装と管理」に対応。実際の試験問題ではありません)
- A送信元を Internet サービスタグとして、TCP 8080 を許可するインバウンド規則を優先度 150 で追加する。
- B正常性プローブのプロトコルを TCP から HTTP に変更し、パスを / に設定する。
- C送信元を AzureLoadBalancer サービスタグとして、TCP 8080 を許可するインバウンド規則を優先度 100 で追加する。
- D送信元を AzureLoadBalancer サービスタグとして、TCP 8080 を許可するインバウンド規則を優先度 300 で追加する。
正解:C
解説
Azure Load Balancer の正常性プローブは、ホストの仮想 IP アドレス 168.63.129.16 から送信され、NSG では AzureLoadBalancer サービスタグとして扱われます。NSG の既定のインバウンド規則(AllowAzureLoadBalancerInBound)は優先度 65001 でこれを許可していますが、今回追加した優先度 200 のカスタム拒否規則のほうが先に評価されるため、プローブが遮断されています。NSG は優先度の番号が小さい規則から順に評価し、最初に一致した規則を適用します。対処は、AzureLoadBalancer からのプローブ ポート(TCP 8080)を許可する規則を、拒否規則より小さい優先度番号で追加することです。NSG のカスタム規則の優先度は 100〜4096 の範囲で指定でき、たとえば優先度 100 を割り当てれば拒否規則(200)より先に評価されます。この対処で回復するのは正常性プローブの疎通であり、利用者からのアプリ通信は別途、必要な送信元・ポートを許可する規則で到達性を確保します。なお、正常性プローブの送信元(AzureLoadBalancer)を NSG で拒否する構成自体は推奨されません。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- A誤り。プローブの送信元は Internet ではなく AzureLoadBalancer(168.63.129.16)です。優先度 150 は拒否規則(200)より先に評価されますが、送信元サービスタグが一致しないため、プローブは許可されません。
- B誤り。プローブのプロトコルを変えても、プローブのパケット自体が NSG の拒否規則に遮断される状況は変わりません。
- C正しい。AzureLoadBalancer からの TCP 8080 を、拒否規則(優先度 200)より小さい優先度 100 で許可するため、プローブが到達します。NSG のカスタム規則の優先度は 100〜4096 の範囲で指定します。
- D誤り。送信元の指定は正しいものの、優先度 300 は拒否規則(優先度 200)より後に評価されるため、プローブは先に拒否されます。