Secure Web Proxy インスタンスをデプロイする
このクイックスタート ガイドでは、Secure Web Proxy インスタンスをデプロイしてテストする方法について説明します。
この手順では、Secure Web Proxy を明示的なルーティング モードでデプロイし、明示的なプロキシとして機能させる方法について説明します。明示的なルーティング モードの Secure Web Proxy インスタンスは、Private Service Connect サービスとして公開できます。
または、ネクストホップ ルーティング モードで Secure Web Proxy をデプロイすることもできます。詳細については、ネクストホップとして Secure Web Proxy をデプロイするをご覧ください。
始める前に
初期設定の手順を完了します。
省略可: このガイドで指定されている
gcloud
コマンドラインの例を実行する場合は、次のいずれかの開発環境に Google Cloud CLI をインストールします。Cloud Shell
gcloud CLI がすでに設定されているオンライン ターミナルを使用するには、Cloud Shell をアクティブにします。
このページの末尾で Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。セッションが初期化されるまで数秒かかることがあります。
すでに gcloud CLI をインストールしている場合は、
gcloud components update
を実行して、最新のバージョンがインストールされていることを確認します。ローカルシェル
ローカル開発環境を使用する手順は次のとおりです。
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
Linux 仮想マシン(VM)インスタンスを作成します。
gcloud compute instances create swp-test-vm \ --subnet=default \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-11
ZONE
は、テスト VM インスタンスのゾーンに置き換えます。Compute Engine によって、VM を作成するユーザーに Compute インスタンス管理者ロール(
roles/compute.instanceAdmin
)が付与されます。また、Compute Engine によって、そのユーザーが sudo グループに追加されます。ファイアウォール ルールを作成します。
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 ポリシーを作成する
コンソール
Google Cloud コンソールで、[SWP ポリシー] ページに移動します。
[
ポリシーを作成] をクリックします。作成するポリシーの名前を入力します(例:
policy1
)。レスポンス ポリシーの説明(
My new swp policy
など)を入力します。[リージョン] リストで、ウェブプロキシ ポリシーを作成するリージョンを選択します。
ポリシーのルールを作成する場合は、[ルールを追加] をクリックします。詳細については、Secure Web Proxy ルールを作成するをご覧ください。
[作成] をクリックします。
Cloud Shell
policy.yaml
ファイルを作成します。description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
次のように置き換えます。
PROJECT_ID
: プロジェクトのプロジェクト IDREGION
: ポリシーのリージョン
Secure Web Proxy ポリシーを作成します。
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml \ --location=REGION
Secure Web Proxy ルールを作成する
コンソール
Google Cloud コンソールで、[SWP ポリシー] ページに移動します。
ポリシーの名前をクリックします。
[
ルールを追加] をクリックします。次のルール フィールドに入力します。
- 名前
- 説明
- ステータス
- 優先度: ルールの数値評価順序。ルールは、最も高い優先度から順番に評価されます(最も高い優先度は
0
)。 - [アクション] セクションで、ルールに一致する接続を許可する(許可)か、拒否する(拒否)かを指定します。
- [セッションの一致] セクションで、セッションの一致条件を指定します。
SessionMatcher
の構文の詳細については、CEL マッチャーの言語リファレンスをご覧ください。 [アプリケーションの一致] セクションで、リクエストの一致条件を指定します。TLS インスペクションのルールが有効になっていないため、リクエストは HTTP トラフィックにのみ一致します。
TPC トラフィックのマッチングについては、アプリケーションの TCP プロキシルールを構成するをご覧ください。
[作成] をクリックします。
[ルールを追加] をクリックして別のルールを追加します。
Cloud Shell
ここに示すように
rule.yaml
ファイルを作成します。SessionMatcher
の構文の詳細については、CEL マッチャーの言語リファレンスをご覧ください。name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org description: Allow wikipedia.org enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'www.wikipedia.org'
セキュリティ ポリシー ルールを作成します。
gcloud network-security gateway-security-policies rules import allow-wikipedia-org \ --source=rule.yaml \ --location=REGION \ --gateway-security-policy=policy1
ウェブプロキシを設定
このセクションでは、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] gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1 network: projects/PROJECT_ID/global/networks/NETWORK subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK routingMode: EXPLICIT_ROUTING_MODE
次のように置き換えます。
gateway.yaml
に基づいて Secure Web Proxy インスタンスを作成します。gcloud network-services gateways import swp1 \ --source=gateway.yaml \ --location=REGION
Secure Web Proxy インスタンスのデプロイには数分かかる場合があります。
接続をテストする
前にプロビジョニングした VM に接続します。
gcloud compute ssh swp-test-vm \ --zone=ZONE
ZONE
は、テスト VM インスタンスのゾーンに置き換えます。Secure Web Proxy インスタンスをテストします。
curl -s -o /dev/null -w "%{http_code}\\n" -x IP_ADDRESS:443 https://www.wikipedia.org
IP_ADDRESS
は、Secure Web Proxy インスタンスの IP アドレスに置き換えます。このコマンドは、www.wikipedia.org から返された HTTP ステータス コードを出力します。コマンドが成功した場合、ステータス コードは200
です。ただし、プロキシに問題がある場合、コマンドは接続エラーを示す000
ステータス コードを返します。詳細なエラー メッセージを表示するには、コマンドに-v
オプションを追加します。
このページで説明する例では、TLS インスペクションは構成されていません。TLS インスペクション用に Secure Web Proxy を構成し、Secure Web Proxy インスタンスをテストする方法については、TLS インスペクションを有効にするをご覧ください。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
swp1
Secure Web Proxy インスタンスを削除する
コンソール
Google Cloud コンソールで、[ウェブ プロキシ] ページに移動します。すべてのウェブプロキシのリスト、または特定のネットワークで使用可能なウェブプロキシのみを表示できます。
削除するウェブプロキシを選択します。
[削除] をクリックします。
もう一度 [削除] をクリックして確定します。
Cloud Shell
gcloud network-services gateways delete swp1 \
--location=REGION
REGION
は、Secure Web Proxy インスタンスのリージョンに置き換えます。
allow-wikipedia-org
ルールを削除する
コンソール
Google Cloud コンソールで、[ウェブ プロキシ] ページに移動します。すべてのウェブプロキシのリスト、または特定のネットワークで使用可能なウェブプロキシのみを表示できます。
ポリシーをクリックします。
削除するルールを選択します。
[削除] をクリックします。
もう一度 [削除] をクリックして確定します。
Cloud Shell
gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
--location=REGION \
--gateway-security-policy=policy1
REGION
は、ポリシーのリージョンに置き換えます。
policy1
Secure Web Proxy ポリシーを削除する
コンソール
Google Cloud コンソールで、[ウェブ プロキシ] ページに移動します。すべてのウェブプロキシのリスト、または特定のネットワークで使用可能なウェブプロキシのみを表示できます。
削除するポリシーをクリックします。
[削除] をクリックします。
もう一度 [削除] をクリックして確定します。
Cloud Shell
gcloud network-security gateway-security-policies delete policy1 \
--location=REGION
REGION
は、ポリシーのリージョンに置き換えます。
swp-test-vm
Linux VM インスタンスを削除する
コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
削除するインスタンスを選択します。
[削除] をクリックします。
Cloud Shell
gcloud compute instances delete swp-test-vm