このページでは、Secure Web Proxy ポリシーを作成する方法の概要を説明し、Secure Web Proxy インスタンスのネクストホップ ルーティングを構成する方法について説明します。また、このページでは、ネクストホップに静的ルーティングまたはポリシーベース ルーティングを構成する方法についても説明します。
デフォルトでは、SecureWebProxy インスタンスの RoutingMode 値は EXPLICIT_ROUTING_MODE です。つまり、HTTP(S) トラフィックを Secure Web Proxy に明示的に送信するようにワークロードを構成する必要があります。Secure Web Proxy インスタンスを参照するように個々のクライアントを構成する代わりに、Secure Web Proxy インスタンスの RoutingMode を NEXT_HOP_ROUTING_MODE に設定できます。これにより、Secure Web Proxy インスタンスにトラフィックを転送するルートを定義できます。
Secure Web Proxy のネクストホップ ルーティングを構成する
このセクションでは、Secure Web Proxy ポリシーを作成する手順と、Secure Web Proxy インスタンスをネクストホップとしてデプロイする手順について説明します。
Secure Web Proxy ポリシーを作成する
Secure Web Proxy インスタンスをネクストホップとしてデプロイする
コンソール
Google Cloud コンソールで、[ウェブ プロキシ] ページに移動します。
[ セキュア ウェブプロキシを作成] をクリックします。
作成するウェブプロキシの名前を入力します(例:
myswp)。ウェブプロキシの説明を入力します(例:
My new swp)。[ルーティング モード] で、[ネクストホップ] オプションを選択します。
[リージョン] リストで、ウェブプロキシを作成するリージョンを選択します。
[ネットワーク] リストで、ウェブプロキシを作成するネットワークを選択します。
[サブネットワーク] リストで、ウェブプロキシを作成するサブネットワークを選択します。
省略可: Secure Web Proxy の IP アドレスを入力します。前の手順で作成したサブネットワークに存在する Secure Web Proxy IP アドレスの範囲から IP アドレスを入力できます。IP アドレスを入力しない場合、Secure Web Proxy インスタンスは、選択したサブネットワークから IP アドレスを自動的に選択します。
[証明書] リストで、ウェブプロキシの作成に使用する証明書を選択します。
[ポリシー] リストで、ウェブプロキシに関連付けるために作成したポリシーを選択します。
[作成] をクリックします。
Cloud Shell
gateway.yamlファイルを作成します。name: projects/PROJECT_ID/locations/REGION/gateways/swp1 type: SECURE_WEB_GATEWAY addresses: ["IP_ADDRESS"] ports: [443, 80] gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 network: projects/PROJECT_ID/global/networks/NETWORK subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK routingMode: NEXT_HOP_ROUTING_MODESecure Web Proxy インスタンスを作成します。
gcloud network-services gateways import swp1 \ --source=gateway.yaml \ --location=REGIONSecure Web Proxy インスタンスのデプロイには数分かかる場合があります。
ネクストホップのルートを作成する
Secure Web Proxy インスタンスを作成したら、ネクストホップに静的ルーティングまたはポリシーベース ルーティングを構成できます。
- 静的ルートは、ネットワーク内のトラフィックを同じリージョン内の Secure Web Proxy インスタンスに転送します。Secure Web Proxy をネクストホップとして静的ルートを設定するには、ネットワーク タグを構成する必要があります。
- ポリシーベースのルートを使用すると、送信元 IP アドレス範囲から Secure Web Proxy インスタンスにトラフィックを転送できます。ポリシーベースのルートを初めて構成する場合は、別のポリシーベースのルートをデフォルト ルートとして構成する必要があります。
次の 2 つのセクションでは、静的ルートとポリシーベースのルートの作成方法について説明します。
静的ルートを作成する
トラフィックを Secure Web Proxy インスタンスにルーティングするには、gcloud compute routes create コマンドを使用して静的ルートをセットアップします。静的ルートをネットワーク タグに関連付け、すべての送信元リソースで同じネットワーク タグを使用して、トラフィックが Secure Web Proxy インスタンスにリダイレクトされるようにする必要があります。静的ルートでは、送信元 IP アドレス範囲を定義できません。
Google Cloudでの静的ルートの仕組みの詳細については、静的ルートをご覧ください。
gcloud
静的ルートを作成するには、次のコマンドを使用します。
gcloud compute routes create STATIC_ROUTE_NAME \
--network=NETWORK_NAME \
--next-hop-ilb=SWP_IP \
--destination-range=DESTINATION_RANGE \
--priority=PRIORITY \
--tags=TAGS \
--project=PROJECT
次のように置き換えます。
STATIC_ROUTE_NAME: 静的ルートの名前NETWORK_NAME: ネットワークの名前SWP_IP:gateway.yamlファイルで指定されたサブネットワーク内のSecureWebProxyインスタンスの IP アドレスDESTINATION_RANGE: トラフィックをリダイレクトする IP アドレスの範囲。たとえば、0.0.0.0/0を使用して、すべてのインターネット トラフィックを Secure Web Proxy インスタンスに転送します。PRIORITY: ルートの優先度。数値が大きいほど優先度が低くなります。ルートの優先度が、デフォルトのインターネット ルート(通常は1000)よりも数値的に低いことを確認します。TAGS: Secure Web Proxy インスタンスで使用するタグのカンマ区切りリストPROJECT: プロジェクトの ID
ルートで指定されたネットワーク タグを使用して、適切なサブネットに VM を作成する
gcloud compute instances create swp-nexthop-test-vm \
--subnet=SUBNETWORK \
--zone=ZONE \
--image-project=debian-cloud \
--image-family=debian-11 \
--tags=TAGS次のように置き換えます。
SUBNETWORK: ウェブ プロキシ用に構成したサブネットワークZONE: テスト用 VM インスタンスのゾーンTAGS: Secure Web Proxy インスタンスで使用するタグのカンマ区切りリスト
ポリシーベースのルートを作成する
静的ルーティングの代わりに、network-connectivity policy-based-routes create コマンドを使用してポリシーベースのルートを設定できます。また、デフォルト ルートとなるポリシーベースのルートを作成する必要があります。これにより、ネットワーク内の仮想マシン(VM)インスタンス間のトラフィックのデフォルト ルーティングが有効になります。Google Cloudでポリシーベースのルートが機能する仕組みについては、ポリシーベースのルーティングをご覧ください。
デフォルトのルーティングを有効にするルートの優先度は、トラフィックを Secure Web Proxy インスタンスに転送するポリシーベースのルートの優先度よりも高く(数値を小さく)する必要があります。デフォルト ルーティングを有効にするルートよりも優先度の高いポリシーベースのルートを作成すると、他のすべての VPC ルートよりも優先されます。
次の例を使用して、トラフィックを Secure Web Proxy インスタンスに転送するポリシーベースのルートを作成します。
gcloud
ポリシーベースのルートを作成するには、次のコマンドを使用します。
gcloud network-connectivity policy-based-routes create POLICY_BASED_ROUTE_NAME \
--network="projects/PROJECT/global/networks/NETWORK_NAME" \
--next-hop-ilb-ip=SWP_IP \
--protocol-version="IPV4" \
--destination-range=DESTINATION_RANGE \
--source-range=SOURCE_RANGE \
--priority=2 \
--project=PROJECT
次のように置き換えます。
POLICY_BASED_ROUTE_NAME: ポリシーベースのルートの名前NETWORK_NAME: ネットワークの名前SWP_IP: Secure Web Proxy インスタンスの IP アドレスDESTINATION_RANGE: トラフィックをリダイレクトする IP アドレスの範囲SOURCE_RANGE: トラフィックをリダイレクトする IP アドレスの範囲PROJECT: プロジェクトの ID
次に、次の手順で default-routing ポリシーベースのルートを作成します。
gcloud
次のコマンドを使用して、デフォルトのルーティング ポリシーベースのルートを作成します。
gcloud network-connectivity policy-based-routes create DEFAULT_POLICY_BASED_ROUTE_NAME \
--network="projects/PROJECT/global/networks/NETWORK_NAME" \
--next-hop-other-routes="DEFAULT_ROUTING" \
--protocol-version="IPV4" \
--destination-range=DESTINATION_RANGE \
--source-range=SOURCE_RANGE \
--priority=1 \
--project=PROJECT
次のように置き換えます。
DEFAULT_POLICY_BASED_ROUTE_NAME: ポリシーベースのルートの名前NETWORK_NAME: ネットワークの名前DESTINATION_RANGE: トラフィックをリダイレクトする IP アドレスの範囲SOURCE_RANGE: トラフィックをリダイレクトする IP アドレスの範囲PROJECT: プロジェクトの ID
デプロイ後のチェックリスト
Secure Web Proxy インスタンスをネクストホップとして静的ルートまたはポリシーベース ルートを構成したら、次のタスクを完了してください。
- インターネット ゲートウェイへのデフォルト ルートがあることを確認します。
- ネクストホップとして Secure Web Proxy インスタンスを指す静的ルートに、正しいネットワーク タグを追加します。
- ネクストホップとして Secure Web Proxy インスタンスへのデフォルト ルートに適切な優先度を定義します。
- Secure Web Proxy はリージョン サービスであるため、クライアント トラフィックが Secure Web Proxy インスタンスと同じリージョンで発生していることを確認してください。
制限事項
RoutingModeがNEXT_HOP_ROUTING_MODEに設定されているSecureWebProxyインスタンスは、HTTP(S) と TCP プロキシ トラフィックをサポートしています。リージョン間トラフィックなどの他のタイプのトラフィックは、通知なしでドロップされます。next-hop-ilbを使用する場合、宛先ネクストホップが Secure Web Proxy インスタンスである場合、内部パススルー ネットワーク ロードバランサに適用される制限がネクストホップに適用されます。詳細については、静的ルートのネクストホップと機能の表をご覧ください。- ネクストホップ ルートと一致する仮想マシン(VM)からのすべてのトラフィック(バックグラウンド トラフィックや更新を含む)は、Secure Web Proxy インスタンスに転送されます。
- リージョンの VPC ネットワークにデプロイできるネクストホップ(SWPaNH)インスタンスは 1 つだけです。