Secure Web Proxy をネクストホップとしてデプロイする

このページでは、Secure Web Proxy ポリシーを作成する方法の概要と、Secure Web Proxy インスタンスのネクストホップ ルーティングを構成する方法について説明します。また、このページでは、ネクストホップに静的ルーティングまたはポリシーベース ルーティングを構成する方法についても説明します。

デフォルトでは、SecureWebProxy インスタンスの RoutingMode 値は EXPLICIT_ROUTING_MODE です。つまり、HTTP(S) トラフィックを Secure Web Proxy に明示的に送信するようにワークロードを構成する必要があります。Secure Web Proxy インスタンスを参照するように個々のクライアントを構成する代わりに、Secure Web Proxy インスタンスの RoutingModeNEXT_HOP_ROUTING_MODE に設定できます。これにより、Secure Web Proxy インスタンスにトラフィックを転送するルートを定義できます。

Secure Web Proxy のネクストホップ ルーティングを構成する

このセクションでは、Secure Web Proxy ポリシーを作成する手順と、Secure Web Proxy インスタンスをネクストホップとしてデプロイする手順について説明します。

Secure Web Proxy ポリシーを作成する

  1. 必要な準備手順をすべて完了します。
  2. Secure Web Proxy ポリシーを作成します
  3. Secure Web Proxy ルールを作成する

Secure Web Proxy インスタンスをネクストホップとしてデプロイする

コンソール

  1. Google Cloud コンソールで、[ウェブ プロキシ] ページに移動します。

    [ウェブ プロキシ] に移動

  2. [ Create a secure web proxy] をクリックします。

  3. 作成するウェブプロキシの名前を入力します(例: myswp)。

  4. ウェブプロキシの説明を入力します(例: My new swp)。

  5. [ルーティング モード] で、[ネクストホップ] オプションを選択します。

  6. [リージョン] リストで、ウェブプロキシを作成するリージョンを選択します。

  7. [ネットワーク] リストで、ウェブプロキシを作成するネットワークを選択します。

  8. [サブネットワーク] リストで、ウェブプロキシを作成するサブネットワークを選択します。

  9. 省略可: Secure Web Proxy の IP アドレスを入力します。前の手順で作成したサブネットにあるセキュア ウェブ プロキシ IP アドレスの範囲から IP アドレスを入力できます。IP アドレスを入力しない場合、Secure Web Proxy インスタンスは選択したサブネットワークから IP アドレスを自動的に選択します。

  10. [証明書] リストで、ウェブプロキシの作成に使用する証明書を選択します。

  11. [ポリシー] リストで、ウェブプロキシに関連付けるために作成したポリシーを選択します。

  12. [作成] をクリックします。

Cloud Shell

  1. gateway.yaml ファイルを作成します。

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443]
    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_MODE
    
  2. Secure Web Proxy インスタンスを作成します。

    gcloud network-services gateways import swp1 \
      --source=gateway.yaml \
      --location=REGION
    

    Secure 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: SecureWebProxy インスタンスの IP アドレス
  • DESTINATION_RANGE: トラフィックをリダイレクトする IP アドレスの範囲
  • PRIORITY: ルートの優先度。数字が大きいほど優先度が低くなります。
  • TAGS: Secure Web Proxy インスタンス用に作成したタグのカンマ区切りリスト
  • PROJECT: プロジェクトの ID

ポリシーベースのルートを作成する

静的ルーティングの代わりに、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

次に、次の手順でデフォルト ルーティング ポリシーベースのルートを作成します。

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 インスタンスと同じリージョンから発信されていることを確認してください。

制限事項

  • RoutingModeNEXT_HOP_ROUTING_MODE に設定されている SecureWebProxy インスタンスは、HTTP(S) プロキシ トラフィックと TCP プロキシ トラフィックをサポートします。リージョン間トラフィックを含む他のタイプのトラフィックは、通知なしで破棄されます。
  • next-hop-ilb を使用する場合、宛先ネクストホップが Secure Web Proxy インスタンスである場合、内部パススルー ネットワーク ロードバランサに適用される制限がネクストホップに適用されます。詳細については、静的ルートのネクストホップと機能の表をご覧ください。
  • ネクストホップ ルートが一致する仮想マシン(VM)からのすべてのトラフィック(バックグラウンド トラフィックや更新を含む)は、Secure Web Proxy インスタンスに転送されます。