Secure Web Proxy インスタンスを作成してデプロイする
このクイックスタートでは、Secure Web Proxy インスタンスをデプロイしてテストする方法について説明します。この手順では、Secure Web Proxy を明示的なルーティング モードでデプロイし、明示的なプロキシとして機能させます。
明示的なルーティング モードの Secure Web Proxy インスタンスは、 Private Service Connect サービスとしてデプロイできます。 または、ネクストホップ ルーティング モードで Secure Web Proxy を デプロイすることもできます。
明示的なルーティング モードで Secure Web Proxy をデプロイする手順は次のとおりです。
- Secure Web Proxy ポリシーを作成します。
- Secure Web Proxy ルールを作成して、ポリシーに追加します。
- 明示的なルーティング モードで Secure Web Proxy インスタンスを設定します。
- Linux 仮想マシン(VM)インスタンスから接続をテストして、プロキシとそのポリシーが正しく機能していることを確認します。
始める前に
省略可: このドキュメントで指定されている
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_IDPROJECT_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-11ZONEは、テスト 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
必要なロール
このチュートリアルのタスクを完了するための次のロールがあることを確認してください。
Compute ネットワーク管理者のロール(
roles/compute.networkAdmin)Certificate Manager 編集者ロール (
roles/certificatemanager.editor)
詳しくは以下をご覧ください。
Secure Web Proxy ポリシーを作成する
このセクションでは、Secure Web Proxy ポリシーを作成する手順について説明します。このポリシーは、Secure Web Proxy を通過するトラフィック フローを管理するすべてのセキュリティ ルールのコンテナとして機能します。ポリシーを作成したら、ルールを作成してポリシーに追加できます。
コンソール
コンソールで、[SWP ポリシー] ページに移動します。 Google Cloud
[ポリシーを作成] をクリックします。
[**名前**] フィールドに、ポリシーの名前( `
myswppolicy` など)を入力します。[説明] フィールドに、ポリシーの説明(
My new swp policyなど)を入力します。[**リージョン**] で、ポリシーを作成する リージョン(
us-central1など)を選択します。ポリシーのルールを作成する場合は、[ルールを追加] をクリックします。 詳細については、Secure Web Proxy ルールを作成する をご覧ください。
[作成] をクリックします。
Cloud Shell
任意のテキスト エディタを使用して、
policy.yamlファイルを作成します。policy.yamlファイルに以下を追加します。description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/myswppolicy次のように置き換えます。
PROJECT_ID: プロジェクトの IDREGION: ポリシーが作成されるリージョン(us-central1など)
Secure Web Proxy ポリシーを作成します。
gcloud network-security gateway-security-policies import myswppolicy \ --source=policy.yaml \ --location=REGION
Secure Web Proxy ルールを作成する
このセクションでは、Secure Web Proxy ルールを作成する手順について説明します。ルールは、ウェブ トラフィックの実際のアクセス制御を定義するのに役立ちます。
以前に作成したポリシー内で、allow-wikipedia-org などのルールを定義できます。これらのルールは、ウェブ セッションの一致条件(www.wikipedia.org などの特定のホストとの一致など)を指定し、ウェブ トラフィックを許可または拒否します。
コンソール
コンソールで、[SWP ポリシー] ページに移動します。 Google Cloud
ポリシーの名前(
myswppolicyなど)をクリックします。[add_box**ルールを追加**] をクリックします。
ルールごとに、次の操作を行います。
[**優先度**] に、ルールの評価順序を数値で入力します。ルールは優先度の高い順に評価されます。
0が最も高い優先度です。[名前] フィールドに、ルールの名前(
allow-wikipedia-orgなど)を入力します。[説明] フィールドに、ルールの説明(
Allow wikipedia.orgなど)を入力します。[アクション] で、次のいずれかのオプションを選択します。
- 許可: ルールに一致する接続リクエストを許可します。
- 拒否: ルールに一致する接続リクエストを拒否します。
[ステータス] フィールドで、ルールの適用について次のいずれかのオプションを選択します。
- 有効: Secure Web Proxy インスタンスにルールを適用します。
- 無効: Secure Web Proxy インスタンスにルールを適用しません。
[セッションの一致] セクションで、セッションの一致条件(
host() == 'www.wikipedia.org'など)を指定します。SessionMatcherの構文の詳細については、CEL マッチャーの言語リファレンスをご覧ください。[アプリケーションの一致] セクションで、リクエストの一致条件を指定します。TLS インスペクションのルールを有効にしていないため、リクエストは HTTP トラフィックにのみ一致します。
TCP トラフィックの一致の詳細については、 TCP プロキシ ルールを構成するをご覧ください。
[作成] をクリックします。
別のルールを追加するには、[ルールを追加] をクリックします。
Cloud Shell
任意のテキスト エディタを使用して、
rule.yamlファイルを作成します。rule.yamlファイルに以下を追加します。SessionMatcherの構文の詳細については、CEL マッチャーの言語リファレンスをご覧ください。name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME description: Allow wikipedia.org enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'www.wikipedia.org'次のように置き換えます。
PROJECT_ID: プロジェクトの IDREGION: ポリシーのリージョンRULE_NAME: ルールの名前(allow-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 を明示的なルーティング モードでデプロイし、明示的なプロキシとして機能させる方法について説明します。 また、以前に作成したポリシーとルールを Secure Web Proxy インスタンスに関連付けて、通過するすべてのトラフィックが定義されたアクセス制御の対象となるようにする方法についても説明します。
コンソール
コンソールで、[ウェブプロキシ] ページに移動します。 Google Cloud
[add_box**セキュア ウェブプロキシを作成**] をクリックします。
[名前] フィールドに、ウェブプロキシの名前(
myswpなど)を入力します。[説明] フィールドに、ウェブプロキシの説明(
My new swpなど)を入力します。[**ルーティング モード**] で、[**明示的**] オプションを選択します。
[**リージョン**] で、ウェブプロキシを作成するリージョン(
us-central1など)を選択します。[**ネットワーク**] で、 ウェブプロキシを作成するネットワークを選択します。
省略可: [ウェブプロキシの IP アドレス] フィールドに、Secure Web Proxy の IP アドレスを入力します。
前の手順で作成したサブネットワークに存在する Secure Web Proxy IP アドレスの範囲から IP アドレスを入力できます。 IP アドレスを入力しない場合、Secure Web Proxy インスタンスは選択したサブネットワークから IP アドレスを自動的に選択します。
[**ポート**] に、ウェブプロキシがリッスンするポート番号(
80や443など)を入力します。
[証明書] で、ウェブプロキシの作成に使用する証明書を選択します。
[関連付けられたポリシー] で、ウェブプロキシに関連付けるために作成したポリシーを選択します。
[作成] をクリックします。
Cloud Shell
任意のテキスト エディタを使用して、
gateway.yamlファイルを作成します。gateway.yamlファイルに以下を追加します。name: projects/PROJECT_ID/locations/REGION/gateways/myswp 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次のように置き換えます。
PROJECT_ID: プロジェクトの IDREGION: Secure Web Proxy インスタンスが作成されるリージョンIP_ADDRESS: Secure Web Proxy インスタンスの IP アドレスNETWORK: Secure Web Proxy インスタンスのネットワークSUBNETWORK: Secure Web Proxy インスタンスのサブネットワーク。初期設定の手順で作成した VPC サブネット を使用する必要があります。
gateway.yamlファイルに基づいて Secure Web Proxy インスタンスを作成します。gcloud network-services gateways import myswp \ --source=gateway.yaml \ --location=REGIONSecure Web Proxy インスタンスのデプロイには数分かかる場合があります。
接続をテストする
このセクションでは、Linux VM からの接続をテストして、新しくデプロイされた Secure Web Proxy、そのポリシー、関連するルールが正しく機能していることを確認します。
以前にプロビジョニングした VM に接続します。
gcloud compute ssh swp-test-vm \ --zone=ZONEZONEは、テスト VM インスタンスのゾーンに置き換えます。Secure Web Proxy インスタンスをテストします。
curl -s -o /dev/null -w "%{http_code}\\n" -x IP_ADDRESS:443 https://www.wikipedia.orgIP_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 すべてのウェブプロキシのリスト、または特定のネットワークで使用可能なウェブプロキシのみを表示できます。
削除するウェブプロキシを選択します。ここでは、ウェブプロキシの名前は
swp1です。[削除] をクリックし、確認のためもう一度 [削除] をクリックします。
Cloud Shell
gcloud network-services gateways delete swp1 \
--location=REGION
REGION は、Secure Web Proxy インスタンスのリージョンに置き換えます。
allow-wikipedia-org ルールを削除する
コンソール
コンソールで、[ウェブプロキシ] ページに移動します。 Google Cloud すべてのウェブプロキシのリスト、または特定のネットワークで使用可能なウェブプロキシのみを表示できます。
ポリシーをクリックします。ここでは、ポリシーの名前は
policy1です。削除するルールを選択します。ここでは、ルールの名前は
allow-wikipedia-orgです。[削除] をクリックし、確認のためもう一度 [削除] をクリックします。
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 すべてのウェブプロキシのリスト、または特定のネットワークで使用可能なウェブプロキシのみを表示できます。
削除するポリシーを選択します。ここでは、ポリシーの名前は
policy1です。[削除] をクリックし、確認のためもう一度 [削除] をクリックします。
Cloud Shell
gcloud network-security gateway-security-policies delete policy1 \
--location=REGION
REGION は、ポリシーのリージョンに置き換えます。
swp-test-vm Linux VM インスタンスを削除する
コンソール
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
削除するインスタンスを選択します。ここでは、
swp-test-vmは Linux VM インスタンスの名前です。[削除] をクリックします。
Cloud Shell
gcloud compute instances delete swp-test-vm