【正解】B
【0からの解説】
①前提知識
・Secure Web Proxy(SWP)は、下り(外向き)の HTTP/HTTPS トラフィックを URL・ホスト名・セキュア タグ・サービス アカウントなどの条件で許可 / 拒否し、TLS 検査もできるマネージドのプロキシです。クライアントがプロキシを明示的に指定する「明示的プロキシ」モードのほか、ルートで SWP に誘導する「ネクストホップ」ルーティング モードがあります。
・公式ドキュメント「Secure Web Proxy をネクストホップとしてデプロイする」では、トラフィックを SWP に誘導する方法として (1) 静的ルート(ネクストホップに SWP の IP、ネットワーク タグで対象 VM を限定、優先度はデフォルト インターネット ルート(通常 1000)より小さい値)と、(2) 送信元 IP 範囲で対象を指定するポリシーベース ルート(加えて、既定のルーティングに戻すポリシーベース ルートも必要)の 2 つが示されています。
・VPC のルート選択では、宛先が最も長く一致するルートが優先されるため、静的ルート 0.0.0.0/0 は社内宛ての通信(サブネット ルート)には影響しません。一方、ポリシーベース ルートはサブネット ルートを含む他のルートより先に評価されるため、宛先 0.0.0.0/0 にすると VPC 内部宛ての通信まで SWP に送られてしまい、除外用のルートを別途用意する必要があります。
②要件と制約語の整理
・「production-critical のタグが付いた VM」のインターネット向け通信だけを SWP 経由にする
・それ以外の VM はインターネットへ直接出られるようにする
③正解の理由
production-critical タグに適用する宛先 0.0.0.0/0 の静的ルートを、デフォルト インターネット ルートより高い優先度(小さい値)で作成し、ネクストホップを SWP の IP にします。タグの付いた VM のインターネット宛て通信だけが SWP に送られ、タグのない VM は従来どおりデフォルト インターネット ゲートウェイで直接出ていきます。ネットワーク タグでの対象指定は、公式の SWP ネクストホップ構成手順そのものです。
【誤りの選択肢】
A:Cloud NAT は送信元アドレスを変換してインターネットに出すためのサービスで、トラフィックの検査は行いません。SWP を経由させるという要件を満たしません。
C:一見、静的ルートと同じことができる別解に見えますが、次の 2 点で B に劣ります。
(1) 評価順序の問題:VPC では、ポリシーベース ルートがサブネット ルートを含む他のすべてのルートより先に評価されます。宛先 0.0.0.0/0 のポリシーベース ルートは「インターネット宛て」だけでなく「VPC 内の他の VM や社内宛て」の通信にも一致するため、production-critical の VM の内部通信まで SWP に送られてしまいます。SWP は外向きの Web 通信を検査するプロキシなので、内部通信が届くと通信障害の原因になります。避けるには内部の宛先を除外する追加のポリシーベース ルートが必要で、構成が複雑になり設定漏れのリスクも増えます。これに対し静的ルートは「最長一致」で選ばれるため、宛先 0.0.0.0/0 にしても、より具体的なサブネット ルートが優先され、内部通信はそのまま VPC 内で届きます。
(2) 公式手順との違い:公式ドキュメント「Secure Web Proxy をネクストホップとしてデプロイする」では、ネットワーク タグで対象 VM を絞るのは静的ルートの方法として説明されています。ポリシーベース ルートの方法は、送信元 IP 範囲(--source-range)と宛先範囲で対象トラフィックを指定する例で示されており、さらに既定のルーティングに戻すためのポリシーベース ルートも別途作成する必要があります。「タグで対象を選ぶ」という要件には、公式手順どおりの静的ルート(B)がそのまま当てはまります。
以上から、タグ単位で SWP に誘導するという要件に対しては、単純で内部通信に影響しない B が最適であり、C は正解になりません。
D:送信元をサブネット単位で指定すると、同じサブネットにある production-critical 以外の VM の通信まで SWP に送られてしまい、「それ以外の VM はインターネットへ直接出る」という要件を満たしません。また C と同様に、VPC 内部宛ての通信も SWP に送られてしまいます。
【参考】
Secure Web Proxy をネクストホップとしてデプロイする静的ルート | Virtual Private Cloudポリシーベースのルート | Virtual Private Cloud