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

このクイックスタートでは、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 プロジェクトを作成または選択します。

    コンソール

    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)を付与します。 Compute Engine も 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 ポリシーを作成する

コンソール

  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. Description
    3. ステータス
    4. 優先度: ルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は 0)。
    5. [アクション] セクションで、ルールに一致する接続を許可する(許可)か、拒否する(拒否)かを指定します。
    6. [Session Match] セクションで、セッションを照合するための条件を指定します。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 https://10.128.0.99:443 https://wikipedia.org --proxy-insecure
    

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

    curl -x https://10.128.0.99:443 https://wikipedia.org/index.html --proxy-insecure
    

クリーンアップ

このページで使用したリソースについて、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

次のステップ