Secure Web Proxy インスタンスをデプロイする

注: このページでは、Secure Web Proxy を明示的なプロキシとしてデプロイする方法について説明します。または、Secure Web Proxy を Private Service Connect サービス アタッチメントまたはネクストホップとしてデプロイすることもできます。

このクイックスタートでは、Secure Web Proxy インスタンスをデプロイしてテストする方法を説明します。

始める前に

  1. 初期設定の手順を完了します。

  2. このページにあるコマンドを実行するには、次のいずれかの開発環境で Google Cloud CLI を設定します。

    Cloud Shell

    gcloud CLI がすでに設定されているオンライン ターミナルを使用するには、Cloud Shell をアクティブにします。

    このページの末尾で Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。セッションが初期化されるまで数秒かかることがあります。

    ローカルシェル

    ローカル開発環境を使用する手順は次のとおりです。

    1. gcloud CLI をインストールします
    2. gcloud CLI を初期化する
  3. Google Cloud プロジェクトを作成または選択します。

    Console

    Google Cloud コンソールの [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

    Cloud Shell

    • Google Cloud プロジェクトを作成する

      gcloud projects create PROJECT_ID
      

      PROJECT_ID は、目的のプロジェクト ID に置き換えます。

    • 作成した Google Cloud プロジェクトを選択します。

      gcloud config set project PROJECT_ID
      
  4. Linux 仮想マシン(VM)インスタンスを作成します。

    gcloud compute instances create swp-test-vm \
        --subnet=default \
        --zone=ZONE \
        --image-project=debian-cloud \
        --image-family=debian-11
    

    Compute Engine によって、VM を作成するユーザーに Compute インスタンス管理者ロール(roles/compute.instanceAdmin)が付与されます。また、そのユーザーが sudo グループに追加されます。

  5. ファイアウォール ルールを作成します。

    gcloud compute firewall-rules create default-allow-ssh \
        --direction=INGRESS \
        --priority=1000 \
        --network=default \
        --action=ALLOW \
        --rules=tcp:22 \
        --source-ranges=0.0.0.0/0
    

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

Console

  1. Google Cloud コンソールで、[ネットワーク セキュリティ] ページに移動します。

    [ネットワーク セキュリティ] に移動

  2. [Secure Web Proxy] をクリックします。

  3. [ポリシー] タブをクリックします。

  4. [Create a policy] をクリックします。

  5. 作成するポリシーの名前を入力します(例: myswppolicy)。

  6. レスポンス ポリシーの説明(My new swp policy など)を入力します。

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

  8. ウェブプロキシの TLS インスペクションを構成する場合は、[TLS インスペクションを構成する] を選択します。

  9. [TLS インスペクション ポリシー] リストで、作成した TLS インスペクション ポリシーを選択します。TLS インスペクション ポリシーは、作成した場合にのみリストに表示されます。

  10. ポリシーのルールを作成する場合は、[続行] をクリックしてから、[ルールを追加] をクリックします。 詳しくは、Secure Web Proxy のルールを作成するをご覧ください。

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

Cloud Shell

  1. 一部のウェブプロキシ ポリシーでは、評価のためにトラフィックを TLS で暗号化する必要があります。TLS 暗号化が必要かどうかに応じて、次のいずれかのポリシーを使用してポリシーを作成します。

    • TLS インスペクション構成を含むポリシーを作成します。

      TLS インスペクションを有効にするには、TLS インスペクションを有効にするで説明されている手順を実行し、policy.yaml ファイルを作成します。

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
      tlsInspectionPolicy: projects/PROJECT_ID/locations/REGION/tlsInspectionPolicies/TLS_INSPECTION_NAME
      
    • TLS インスペクションの構成なしでポリシーを作成します。

      TLS インスペクションを有効にしない場合、policy.yaml ファイルを作成します。

      description: basic Secure Web Proxy policy
      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
      
  2. Secure Web Proxy ポリシーを作成します。

    gcloud network-security gateway-security-policies import policy1 \
        --source=policy.yaml \
        --location=REGION
    

Secure Web Proxy ルールを作成する

コンソール

  1. Google Cloud コンソールで [ネットワーク セキュリティ] ページに移動します。

    [ネットワーク セキュリティ] に移動

  2. [Secure Web Proxy] をクリックします。

  3. [ポリシー] タブをクリックします。

  4. ポリシーの名前をクリックします。

  5. [ルールを追加] をクリックします。

  6. ルール フィールドに、次の内容を入力します。

    1. 名前
    2. 説明
    3. ステータス
    4. 優先度: ルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。
    5. [アクション] セクションで、ルールに一致する接続を許可する(許可)か、拒否する(拒否)かを指定します。
    6. [セッションの一致] セクションで、セッションの一致条件を指定します。SessionMatcher の構文の詳細については、CEL マッチャーの言語リファレンスをご覧ください。
    7. TLS インスペクションを有効にするには、[TLS インスペクションを有効にする] を選択します。
    8. [アプリケーションの一致] セクションで、リクエストの一致条件を指定します。TLS インスペクションのルールを有効にしないと、リクエストは HTTP トラフィックのみと一致します。
    9. [作成] をクリックします。
  7. [ルールを追加] をクリックして別のルールを追加します。

  8. [Create] をクリックしてポリシーを作成します。

Cloud Shell

  1. TLS 暗号化が必要かどうかに応じて、次のいずれかのメソッドを使用してルールを作成します。

    • TLS インスペクションの構成を使用してルールを作成します。

      TLS インスペクションを有効にするには、rule.yaml ファイルを作成します。

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org
      description: Allow wikipedia
      enabled: true
      priority: 1
      basicProfile: ALLOW
      sessionMatcher: host() == 'wikipedia.org'
      applicationMatcher: request.path.contains('index.html')
      tlsInspectionEnabled: true
      
    • TLS インスペクションの構成なしでルールを作成します。

      TLS インスペクションを有効にしない場合、rule.yaml ファイルを作成します。

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org
      description: Allow wikipedia.org
      enabled: true
      priority: 1
      basicProfile: ALLOW
      sessionMatcher: host() == 'wikipedia.org'
      
  2. セキュリティ ポリシー ルールを作成します。

    gcloud network-security gateway-security-policies rules import allow-wikipedia-org \
        --source=rule.yaml \
        --location=REGION \
        --gateway-security-policy=policy1
    

ウェブプロキシを設定

コンソール

  1. Google Cloud コンソールで [ネットワーク セキュリティ] ページに移動します。

    [ネットワーク セキュリティ] に移動

  2. [Secure Web Proxy] をクリックします。

  3. [ウェブプロキシ] タブをクリックします。

  4. [ウェブプロキシを設定] をクリックします。

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

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

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

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

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

  10. ウェブプロキシの IP アドレスを入力します。

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

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

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

Cloud Shell

  1. ファイルgateway.yamlを作成する

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["10.128.0.99"]
    ports: [443]
    certificateUrls: ["projects/PROJECT_ID/locations/REGION/certificates/cert1"]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/default
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/default
    scope: samplescope
    
  2. Secure Web Proxy インスタンスを作成します。

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

    Secure Web Proxy インスタンスのデプロイには数分かかる場合があります。

接続をテストする

  1. 前にプロビジョニングした VM に接続します。

    gcloud compute ssh swp-test-vm \
        --zone=ZONE
    
  2. Secure Web Proxy インスタンスをテストします。

    curl -x http://10.128.0.99:80 https://wikipedia.org
    

    TLS 検査用に Secure Web Proxy インスタンスを構成した場合は、次のコマンドを使用します。

    curl -x http://10.128.0.99:80 https://wikipedia.org/index.html
    

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

Secure Web Proxy インスタンスswp1を削除します。

コンソール

  1. Google Cloud コンソールで [ネットワーク セキュリティ] ページに移動します。

    [ネットワーク セキュリティ] に移動

  2. [Secure Web Proxy] をクリックします。すべてのウェブプロキシのリスト、または特定のネットワーク内のウェブプロキシのみを表示できます。

  3. 削除するウェブプロキシを選択します。

  4. [削除] をクリックします。

  5. もう一度 [削除] をクリックして確定します。

Cloud Shell

gcloud network-services gateways delete swp1 \
    --location=REGION

ルールallow-wikipedia-orgを削除

コンソール

  1. Google Cloud コンソールで [ネットワーク セキュリティ] ページに移動します。

    [ネットワーク セキュリティ] に移動

  2. [Secure Web Proxy] をクリックします。すべてのウェブプロキシのリスト、または特定のネットワーク内のウェブプロキシのみを表示できます。

  3. [ポリシー] タブをクリックします。

  4. ポリシーをクリックします。

  5. 削除するルールを選択します。

  6. [削除] をクリックします。

  7. もう一度 [削除] をクリックして確定します。

Cloud Shell

gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
    --location=REGION \
    --gateway-security-policy=policy1

Secure Web Proxy ポリシー policy1を削除します。

コンソール

  1. Google Cloud コンソールで [ネットワーク セキュリティ] ページに移動します。

    [ネットワーク セキュリティ] に移動

  2. [Secure Web Proxy] をクリックします。すべてのウェブプロキシのリスト、または特定のネットワーク内のウェブプロキシのみを表示できます。

  3. [ポリシー] タブをクリックします。

  4. 削除するポリシーをクリックします。

  5. [削除] をクリックします。

  6. もう一度 [削除] をクリックして確定します。

Cloud Shell

gcloud network-security gateway-security-policies delete policy1 \
    --location=REGION

Linux VM インスタンス swp-test-vm を削除する

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 削除するインスタンスを選択します。

  3. [削除] をクリックします。

Cloud Shell

gcloud compute instances delete swp-test-vm

次のステップ