概要
HA VPN は高可用性(HA)Cloud VPN ソリューションです。単一リージョン内の IPsec VPN 接続を使用して、オンプレミス ネットワークを VPC ネットワークに安全に接続できます。HA VPN はサービス可用性 99.99% の SLA を実現します。
HA VPN は VPC 単位のリージョナルな VPN ソリューションです。HA VPN ゲートウェイには 2 つのインターフェースがあり、それぞれに独自のパブリック IP アドレスがあります。HA VPN ゲートウェイを作成すると、別々のアドレスプールから 2 つのパブリック IP アドレスが自動的に選択されます。2 つのトンネルで HA VPN を構成した場合、Cloud VPN は稼働率 99.99% のサービス可用性を実現します。
このラボでは、vpc-demo というグローバル VPC を作成し、 と に 2 つのカスタム サブネットを設定します。この VPC では、各リージョンに Compute Engine インスタンスを追加します。次に、on-prem という 2 つ目の VPC を作成し、顧客のオンプレミス データセンターをシミュレーションします。この 2 つ目の VPC では、 リージョンにサブネットを追加し、このリージョンで Compute Engine インスタンスを実行します。最後に、各 VPC に HA VPN とクラウド ルーターを追加し、各 HA VPN ゲートウェイから 2 つのトンネルを実行します。その後、構成をテストして SLA が 99.99% であることを確認します。
目標
このラボでは、次のタスクの実行方法について学びます。
2 つの VPC ネットワークとインスタンスを作成する
HA VPN ゲートウェイを構成する
VPN トンネルを使用した動的ルーティングを構成する
グローバルな動的ルーティング モードを構成する
HA VPN ゲートウェイの構成を確認してテストする
設定と要件
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
[ラボを開始 ] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
左側の [ラボの詳細 ] パネルには、以下が表示されます。
[Google Cloud コンソールを開く ] ボタン
残り時間
このラボで使用する必要がある一時的な認証情報
このラボを行うために必要なその他の情報(ある場合)
[Google Cloud コンソールを開く ] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く ] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン ] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択 ] ダイアログが表示されたら、[別のアカウントを使用 ] をクリックします。
必要に応じて、下のユーザー名 をコピーして、[ログイン ] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細 ] パネルでもユーザー名 を確認できます。
[次へ ] をクリックします。
以下のパスワード をコピーして、[ようこそ ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細 ] パネルでもパスワード を確認できます。
[次へ ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
その後次のように進みます。
利用規約に同意してください。
一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニュー をクリックするか、[検索 ] フィールドにサービス名またはプロダクト名を入力します。
Google Cloud Shell の有効化
Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。
Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。
[続行 ] をクリックします。
環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
出力:
Credentialed accounts:
- @.com (active)
出力例:
Credentialed accounts:
- google1623327_student@qwiklabs.net
次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project
出力:
[core]
project =
出力例:
[core]
project = qwiklabs-gcp-44776a13dea667a6
注:
gcloud ドキュメントの全文については、
gcloud CLI の概要ガイド
をご覧ください。
タスク 1. グローバル VPC 環境を設定する
このタスクでは、2 つのカスタム サブネットを持つグローバル VPC を設定し、2 つの VM インスタンスを個別のゾーンで実行します。
Cloud Shell で、vpc-demo という VPC ネットワークを作成します。
gcloud compute networks create vpc-demo --subnet-mode custom
出力は次のようになります。
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo].
NAME: vpc-demo
SUBNET_MODE: CUSTOM
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:
Cloud Shell で、サブネット vpc-demo-subnet1 をリージョン に作成します。
gcloud compute networks subnets create vpc-demo-subnet1 \
--network vpc-demo --range 10.1.1.0/24 --region "{{{project_0.default_region| REGION}}}"
サブネット vpc-demo-subnet2 をリージョン に作成します。
gcloud compute networks subnets create vpc-demo-subnet2 \
--network vpc-demo --range 10.2.1.0/24 --region {{{project_0.default_region_2 | REGION 2}}}
このネットワークですべてのカスタム トラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create vpc-demo-allow-custom \
--network vpc-demo \
--allow tcp:0-65535,udp:0-65535,icmp \
--source-ranges 10.0.0.0/8
出力は次のようになります。
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-custom].
Creating firewall...done.
NAME: vpc-demo-allow-custom
NETWORK: vpc-demo
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: tcp:0-65535,udp:0-65535,icmp
DENY:
DISABLED: False
任意の送信元からの SSH と ICMP のトラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create vpc-demo-allow-ssh-icmp \
--network vpc-demo \
--allow tcp:22,icmp
VM インスタンス vpc-demo-instance1 をゾーン に作成します。
gcloud compute instances create vpc-demo-instance1 --machine-type=e2-medium --zone {{{ project_0.default_zone | "ZONE" }}} --subnet vpc-demo-subnet1
出力は次のようになります。
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/zones/{{{ project_0.default_zone | "ZONE" }}}/instances/vpc-demo-instance1].
NAME: vpc-demo-instance1
ZONE: {{{ project_0.default_zone | "ZONE" }}}
MACHINE_TYPE: e2-standard-2
PREEMPTIBLE:
INTERNAL_IP: 10.1.1.2
EXTERNAL_IP: 34.71.135.218
STATUS: RUNNING
VM インスタンス vpc-demo-instance2 をゾーン に作成します。
gcloud compute instances create vpc-demo-instance2 --machine-type=e2-medium --zone {{{project_0.default_zone_2 | ZONE2}}} --subnet vpc-demo-subnet2
タスク 2. シミュレートされたオンプレミス環境を設定する
このタスクでは、オンプレミス環境をシミュレートする on-prem という VPC を作成します。お客様はここから Google Cloud 環境に接続します。
Cloud Shell で、on-prem という VPC ネットワークを作成します。
gcloud compute networks create on-prem --subnet-mode custom
出力は次のようになります。
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem].
NAME: on-prem
SUBNET_MODE: CUSTOM
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:
on-prem-subnet1 というサブネットを作成します。
gcloud compute networks subnets create on-prem-subnet1 \
--network on-prem --range 192.168.1.0/24 --region {{{ project_0.default_region | "REGION" }}}
このネットワークですべてのカスタム トラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create on-prem-allow-custom \
--network on-prem \
--allow tcp:0-65535,udp:0-65535,icmp \
--source-ranges 192.168.0.0/16
インスタンスへの SSH、RDP、HTTP、ICMP の各トラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create on-prem-allow-ssh-icmp \
--network on-prem \
--allow tcp:22,icmp
インスタンス on-prem-instance1 をリージョン に作成します。
注: 以下のコマンドで、<zone_name> を のゾーンに置き換えます。ただし、vpc-demo-subnet1 の vpc-demo-instance1 の作成に使用したものとは異なるものにします。
gcloud compute instances create on-prem-instance1 --machine-type=e2-medium --zone zone_name --subnet on-prem-subnet1
タスク 3. HA VPN ゲートウェイを設定する
このタスクでは、各 VPC ネットワークに HA VPN ゲートウェイを作成し、各 Cloud VPN ゲートウェイに HA VPN トンネルを作成します。
Cloud Shell で、vpc-demo ネットワークに HA VPN を作成します。
gcloud compute vpn-gateways create vpc-demo-vpn-gw1 --network vpc-demo --region {{{ project_0.default_region | "REGION" }}}
出力は次のようになります。
Creating VPN Gateway...done.
NAME: vpc-demo-vpn-gw1
INTERFACE0: 35.242.117.95
INTERFACE1: 35.220.73.93
NETWORK: vpc-demo
REGION: {{{ project_0.default_region | "REGION" }}}
on-prem ネットワークに HA VPN を作成します。
gcloud compute vpn-gateways create on-prem-vpn-gw1 --network on-prem --region {{{ project_0.default_region | "REGION" }}}
vpc-demo-vpn-gw1 ゲートウェイの詳細を表示して、設定を確認します。
gcloud compute vpn-gateways describe vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}
出力は次のようになります。
creationTimestamp: '2022-01-25T03:02:20.983-08:00'
id: '7306781839576950355'
kind: compute#vpnGateway
labelFingerprint: 42WmSpB8rSM=
name: vpc-demo-vpn-gw1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1
vpnInterfaces:
- id: 0
ipAddress: 35.242.117.95
- id: 1
ipAddress: 35.220.73.93
on-prem-vpn-gw1 ゲートウェイの詳細を表示して、設定を確認します。
gcloud compute vpn-gateways describe on-prem-vpn-gw1 --region {{{ project_0.default_region | "Region" }}}
出力は次のようになります。
creationTimestamp: '2022-01-25T03:03:34.305-08:00'
id: '3697047034868688873'
kind: compute#vpnGateway
labelFingerprint: 42WmSpB8rSM=
name: on-prem-vpn-gw1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1
vpnInterfaces:
- id: 0
ipAddress: 35.242.106.234
- id: 1
ipAddress: 35.220.88.140
クラウド ルーターを作成する
vpc-demo ネットワークにクラウド ルーターを作成します。
gcloud compute routers create vpc-demo-router1 \
--region {{{ project_0.default_region | "REGION" }}} \
--network vpc-demo \
--asn 65001
出力は次のようになります。
Creating router [vpc-demo-router1]...done.
NAME: vpc-demo-router1
REGION: {{{ project_0.default_region | "REGION" }}}
NETWORK: vpc-demo
on-prem ネットワークにクラウド ルーターを作成します。
gcloud compute routers create on-prem-router1 \
--region {{{ project_0.default_region | "REGION" }}} \
--network on-prem \
--asn 65002
タスク 4. 2 つの VPN トンネルを作成する
このタスクでは、作成した 2 つのゲートウェイの間に VPN トンネルを作成します。HA VPN 設定では、各ゲートウェイからリモート セットアップへのトンネルを 2 つ追加します。まず、interface0 にトンネルを作成し、リモート ゲートウェイの interface0 に接続します。次に、interface1 に別のトンネルを作成し、リモート ゲートウェイの interface1 に接続します。
2 つの Google Cloud VPC の間で HA VPN トンネルを実行する際には、interface0 のトンネルをリモート VPN ゲートウェイの interface0 に接続する必要があります。同様に、interface1 のトンネルはリモート VPN ゲートウェイの interface1 に接続する必要があります。
注: 実際の環境で、顧客のオンプレミスのリモート VPN ゲートウェイへの HA VPN を実行する場合は、次のいずれかの方法で接続できます。
2 つのオンプレミス VPN ゲートウェイ: Cloud VPN ゲートウェイの各インターフェースからのトンネルをそれぞれ専用のピア ゲートウェイに接続する必要があります。
2 つのインターフェースを持つ 1 つのオンプレミス VPN ゲートウェイ デバイス: Cloud VPN ゲートウェイの各インターフェースからのトンネルをそれぞれピア ゲートウェイの専用インターフェースに接続する必要があります。
1 つのインターフェースを持つ 1 つのオンプレミス VPN ゲートウェイ デバイス: Cloud VPN ゲートウェイの各インターフェースからのトンネルを両方ともピア ゲートウェイの同じインターフェースに接続する必要があります
このラボでは、オンプレミス設定をシミュレートしているため、両方の VPN ゲートウェイが Google Cloud にあります。その一方のゲートウェイの interface0 をもう一方の interface0 に接続し、interface1 をリモート ゲートウェイの interface1 に接続します。
vpc-demo ネットワークに 1 つ目の VPN トンネルを作成します。
gcloud compute vpn-tunnels create vpc-demo-tunnel0 \
--peer-gcp-gateway on-prem-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router vpc-demo-router1 \
--vpn-gateway vpc-demo-vpn-gw1 \
--interface 0
出力は次のようになります。
Creating VPN tunnel...done.
NAME: vpc-demo-tunnel0
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: vpc-demo-vpn-gw1
VPN_INTERFACE: 0
PEER_ADDRESS: 35.242.106.234
vpc-demo ネットワークに 2 つ目の VPN トンネルを作成します。
gcloud compute vpn-tunnels create vpc-demo-tunnel1 \
--peer-gcp-gateway on-prem-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router vpc-demo-router1 \
--vpn-gateway vpc-demo-vpn-gw1 \
--interface 1
on-prem ネットワークに 1 つ目の VPN トンネルを作成します。
gcloud compute vpn-tunnels create on-prem-tunnel0 \
--peer-gcp-gateway vpc-demo-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router on-prem-router1 \
--vpn-gateway on-prem-vpn-gw1 \
--interface 0
on-prem ネットワークに 2 つ目の VPN トンネルを作成します。
gcloud compute vpn-tunnels create on-prem-tunnel1 \
--peer-gcp-gateway vpc-demo-vpn-gw1 \
--region {{{ project_0.default_region | "REGION" }}} \
--ike-version 2 \
--shared-secret [SHARED_SECRET] \
--router on-prem-router1 \
--vpn-gateway on-prem-vpn-gw1 \
--interface 1
タスク 5. 各トンネルの Border Gateway Protocol(BGP)ピアリングを作成する
このタスクでは、vpc-demo と VPC on-prem の間の各 VPN トンネルの BGP ピアリングを構成します。HA VPN では、99.99% の可用性を実現するために動的ルーティングが必要です。
ネットワーク vpc-demo の tunnel0 用のルーター インターフェースを作成します。
gcloud compute routers add-interface vpc-demo-router1 \
--interface-name if-tunnel0-to-on-prem \
--ip-address 169.254.0.1 \
--mask-length 30 \
--vpn-tunnel vpc-demo-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
出力は次のようになります。
Updated [https://www.googleapis.com/compute/v1/projects/binal-sandbox/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1].
ネットワーク vpc-demo の tunnel0 用の BGP ピアを作成します。
gcloud compute routers add-bgp-peer vpc-demo-router1 \
--peer-name bgp-on-prem-tunnel0 \
--interface if-tunnel0-to-on-prem \
--peer-ip-address 169.254.0.2 \
--peer-asn 65002 \
--region {{{ project_0.default_region | "REGION" }}}
出力は次のようになります。
Creating peer [bgp-on-prem-tunnel0] in router [vpc-demo-router1]...done.
ネットワーク vpc-demo の tunnel1 用のルーター インターフェースを作成します。
gcloud compute routers add-interface vpc-demo-router1 \
--interface-name if-tunnel1-to-on-prem \
--ip-address 169.254.1.1 \
--mask-length 30 \
--vpn-tunnel vpc-demo-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
ネットワーク vpc-demo の tunnel1 用の BGP ピアを作成します。
gcloud compute routers add-bgp-peer vpc-demo-router1 \
--peer-name bgp-on-prem-tunnel1 \
--interface if-tunnel1-to-on-prem \
--peer-ip-address 169.254.1.2 \
--peer-asn 65002 \
--region {{{ project_0.default_region | "REGION" }}}
ネットワーク on-prem の tunnel0 用のルーター インターフェースを作成します。
gcloud compute routers add-interface on-prem-router1 \
--interface-name if-tunnel0-to-vpc-demo \
--ip-address 169.254.0.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
ネットワーク on-prem の tunnel0 用の BGP ピアを作成します。
gcloud compute routers add-bgp-peer on-prem-router1 \
--peer-name bgp-vpc-demo-tunnel0 \
--interface if-tunnel0-to-vpc-demo \
--peer-ip-address 169.254.0.1 \
--peer-asn 65001 \
--region {{{ project_0.default_region | "REGION" }}}
ネットワーク on-prem の tunnel1 用のルーター インターフェースを作成します。
gcloud compute routers add-interface on-prem-router1 \
--interface-name if-tunnel1-to-vpc-demo \
--ip-address 169.254.1.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
ネットワーク on-prem の tunnel1 用の BGP ピアを作成します。
gcloud compute routers add-bgp-peer on-prem-router1 \
--peer-name bgp-vpc-demo-tunnel1 \
--interface if-tunnel1-to-vpc-demo \
--peer-ip-address 169.254.1.1 \
--peer-asn 65001 \
--region {{{ project_0.default_region | "REGION" }}}
タスク 6. ルーターの構成を確認する
このタスクでは、2 つの VPC のルーターの構成を確認します。その後、各 VPC 間のトラフィックを許可するファイアウォール ルールを構成し、トンネルのステータスを確認します。また、各 VPC 間の VPN 経由のプライベート接続を確認し、VPC でグローバル ルーティング モードを有効にします。
Cloud Router vpc-demo-router1 の詳細を表示して、設定を確認します。
gcloud compute routers describe vpc-demo-router1 \
--region {{{ project_0.default_region | "REGION" }}}
出力は次のようになります。
bgp:
advertiseMode: DEFAULT
asn: 65001
keepaliveInterval: 20
bgpPeers:
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel0-to-on-prem
ipAddress: 169.254.0.1
name: bgp-on-prem-tunnel0
peerAsn: 65002
peerIpAddress: 169.254.0.2
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel1-to-on-prem
ipAddress: 169.254.1.1
name: bgp-on-prem-tunnel1
peerAsn: 65002
peerIpAddress: 169.254.1.2
creationTimestamp: '2022-01-25T03:06:23.370-08:00'
id: '2408056426544129856'
interfaces:
- ipRange: 169.254.0.1/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0
name: if-tunnel0-to-on-prem
- ipRange: 169.254.1.1/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel1
name: if-tunnel1-to-on-prem
kind: compute#router
name: vpc-demo-router1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1
Cloud Router on-prem-router1 の詳細を表示して、設定を確認します。
gcloud compute routers describe on-prem-router1 \
--region {{{ project_0.default_region | "REGION" }}}
出力は次のようになります。
bgp:
advertiseMode: DEFAULT
asn: 65002
keepaliveInterval: 20
bgpPeers:
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel0-to-vpc-demo
ipAddress: 169.254.0.2
name: bgp-vpc-demo-tunnel0
peerAsn: 65001
peerIpAddress: 169.254.0.1
- bfd:
minReceiveInterval: 1000
minTransmitInterval: 1000
multiplier: 5
sessionInitializationMode: DISABLED
enable: 'TRUE'
interfaceName: if-tunnel1-to-vpc-demo
ipAddress: 169.254.1.2
name: bgp-vpc-demo-tunnel1
peerAsn: 65001
peerIpAddress: 169.254.1.1
creationTimestamp: '2022-01-25T03:07:40.360-08:00'
id: '3252882979067946771'
interfaces:
- ipRange: 169.254.0.2/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0
name: if-tunnel0-to-vpc-demo
- ipRange: 169.254.1.2/30
linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel1
name: if-tunnel1-to-vpc-demo
kind: compute#router
name: on-prem-router1
network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1
リモート VPC からのトラフィックを許可するファイアウォール ルールを構成する
ピア VPN のプライベート IP 範囲からのトラフィックを許可するファイアウォール ルールを構成します。
ネットワーク VPC on-prem から vpc-demo へのトラフィックを許可します。
gcloud compute firewall-rules create vpc-demo-allow-subnets-from-on-prem \
--network vpc-demo \
--allow tcp,udp,icmp \
--source-ranges 192.168.1.0/24
出力は次のようになります。
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-subnets-from-on-prem].
Creating firewall...done.
NAME: vpc-demo-allow-subnets-from-on-prem
NETWORK: vpc-demo
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: tcp,udp,icmp
DENY:
DISABLED: False
vpc-demo からネットワーク VPC on-prem へのトラフィックを許可します。
gcloud compute firewall-rules create on-prem-allow-subnets-from-vpc-demo \
--network on-prem \
--allow tcp,udp,icmp \
--source-ranges 10.1.1.0/24,10.2.1.0/24
トンネルのステータスを確認する
作成した VPN トンネルのリストを表示します。
gcloud compute vpn-tunnels list
VPN トンネルが 4 つあります(各 VPN ゲートウェイに 2 つのトンネル)。出力は次のようになります。
NAME: on-prem-tunnel0
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: on-prem-vpn-gw1
PEER_ADDRESS: 35.242.117.95
NAME: on-prem-tunnel1
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: on-prem-vpn-gw1
PEER_ADDRESS: 35.220.73.93
NAME: vpc-demo-tunnel0
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: vpc-demo-vpn-gw1
PEER_ADDRESS: 35.242.106.234
NAME: vpc-demo-tunnel1
REGION: {{{ project_0.default_region | "REGION" }}}
GATEWAY: vpc-demo-vpn-gw1
PEER_ADDRESS: 35.220.88.140
vpc-demo-tunnel0 トンネルが稼働していることを確認します。
gcloud compute vpn-tunnels describe vpc-demo-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
トンネルの出力で detailedStatus が Tunnel is up and running になっています。
creationTimestamp: '2022-01-25T03:21:05.238-08:00'
description: ''
detailedStatus: Tunnel is up and running.
id: '3268990180169769934'
ikeVersion: 2
kind: compute#vpnTunnel
labelFingerprint: 42WmSpB8rSM=
localTrafficSelector:
- 0.0.0.0/0
name: vpc-demo-tunnel0
peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1
peerIp: 35.242.106.234
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
remoteTrafficSelector:
- 0.0.0.0/0
router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0
sharedSecret: '*************'
sharedSecretHash: AOs4oVY4bX91gba6DIeg1DbtzWTj
status: ESTABLISHED
vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1
vpnGatewayInterface: 0
vpc-demo-tunnel1 トンネルが稼働していることを確認します。
gcloud compute vpn-tunnels describe vpc-demo-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
トンネルの出力で detailedStatus が Tunnel is up and running になっています。
on-prem-tunnel0 トンネルが稼働していることを確認します。
gcloud compute vpn-tunnels describe on-prem-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
トンネルの出力で detailedStatus が Tunnel is up and running になっています。
on-prem-tunnel1 トンネルが稼働していることを確認します。
gcloud compute vpn-tunnels describe on-prem-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
トンネルの出力で detailedStatus が Tunnel is up and running になっています。
VPN 経由のプライベート接続を確認する
Compute Engine に移動し、on-prem-instance1 が作成されたゾーンをメモします。
新しい Cloud Shell タブを開いて次のように入力し、SSH 経由でインスタンス on-prem-instance1 に接続します。
<zone_name> は、on-prem-instance1 が作成されたゾーンに置き換えます。
gcloud compute ssh on-prem-instance1 --zone zone_name
「y」と入力して続行します。
Enter キーを 2 回押して、パスワードの作成をスキップします。
ネットワーク on-prem のインスタンス on-prem-instance1 からネットワーク vpc-demo のインスタンスに到達できることを確認するために、10.1.1.2 に対して ping を実行します。
ping -c 4 10.1.1.2
ping が成功します。出力は次のようになります。
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=9.65 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=2.01 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.71 ms
64 bytes from 10.1.1.2: icmp_seq=4 ttl=62 time=1.77 ms
--- 10.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 8ms
rtt min/avg/max/mdev = 1.707/3.783/9.653/3.391 ms
VPN を使用したグローバル ルーティング
HA VPN はリージョン リソースであるため、デフォルトでは、クラウド ルーターがデプロイされたリージョンのルートしか検出できません。クラウド ルーターとは別のリージョンにあるインスタンスに到達できるようにするには、VPC でグローバル ルーティング モードを有効にする必要があります。これにより、クラウド ルーターが他のリージョンからのルートを検出したりアドバタイズしたりできるようになります。
新しい Cloud Shell タブを開いて、vpc-demo の bgp-routing mode を GLOBAL に更新します。
gcloud compute networks update vpc-demo --bgp-routing-mode GLOBAL
次のコマンドで変更を確認します。
gcloud compute networks describe vpc-demo
出力は次のようになります。
autoCreateSubnetworks: false
creationTimestamp: '2022-01-25T02:52:58.553-08:00'
id: '4735939730452146277'
kind: compute#network
name: vpc-demo
routingConfig:
routingMode: GLOBAL
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo
subnetworks:
- https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/subnetworks/vpc-demo-subnet1
- https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/us-west1/subnetworks/vpc-demo-subnet2
x_gcloud_bgp_routing_mode: GLOBAL
x_gcloud_subnet_mode: CUSTOM
ネットワーク on-prem のインスタンスに ssh 経由で接続している Cloud Shell タブで、リージョン にあるインスタンス vpc-demo-instance2 に対して ping を実行します。
ping -c 2 10.2.1.2
ping が成功します。出力は次のようになります。
PING 10.2.1.2 (10.2.1.2) 56(84) bytes of data.
64 bytes from 10.2.1.2: icmp_seq=1 ttl=62 time=34.9 ms
64 bytes from 10.2.1.2: icmp_seq=2 ttl=62 time=32.2 ms
--- 10.2.1.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 32.189/33.528/34.867/1.339 ms
タスク 7. HA VPN トンネルの構成をテストして確認する
このタスクでは、各 HA VPN トンネルの高可用性の構成が正常に機能していることをテストして確認します。
新しい Cloud Shell タブを開きます。
ネットワーク vpc-demo の tunnel0 をダウンさせます。
gcloud compute vpn-tunnels delete vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
確認を求められたら「y」と入力します。ネットワーク on-prem の対応する tunnel0 がダウンします。
このトンネルがダウンしていることを確認します。
gcloud compute vpn-tunnels describe on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
detailedStatus が Handshake with peer broken になっています。
creationTimestamp: '2022-01-25T03:22:33.581-08:00'
description: ''
detailedStatus: Handshake with peer broken for unknown reason. Trying again soon.
id: '4116279561430393750'
ikeVersion: 2
kind: compute#vpnTunnel
localTrafficSelector:
- 0.0.0.0/0
name: on-prem-tunnel0
peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1
peerIp: 35.242.117.95
region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}
remoteTrafficSelector:
- 0.0.0.0/0
router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1
selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0
sharedSecret: '*************'
sharedSecretHash: AO3jeFtewmjvTMO7JEM5RuyCtqaa
status: FIRST_HANDSHAKE
vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1
vpnGatewayInterface: 0
ssh セッションを開いている Cloud Shell タブに戻り、ネットワーク vpc-demo とネットワーク on-prem のインスタンスの間で ping が成功するか確認します。
ping -c 3 10.1.1.2
出力は次のようになります。
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=6.31 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=1.13 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.20 ms
--- 10.1.1.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.132/2.882/6.312/2.425 ms
2 つ目のトンネルでトラフィックが送信されるようになるため、ping は引き続き成功します。これにより、HA VPN トンネルが正しく構成されていることがわかります。
タスク 8. (省略可)ラボ環境をクリーンアップする
このタスクでは、ここで使用したリソースをクリーンアップします。このタスクは省略可能です。ラボが終了すると、すべてのリソースとプロジェクトが自動的にクリーンアップされて破棄されます。ここでは、実際の環境で作業する際の費用の節約とリソース使用量の削減のために、ご自分でリソースをクリーンアップする方法について説明します。
VPN トンネルを削除する
Cloud Shell で次のコマンドを入力して、残っているトンネルを削除します。確認を求められたらその都度「y」と入力します。
gcloud compute vpn-tunnels delete on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute vpn-tunnels delete vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute vpn-tunnels delete on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
BGP ピアリングを削除する
次のコマンドを入力して、各 BGP ピアからピアリングを削除します。
gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}}
クラウド ルーターを削除する
次の各コマンドを入力してルーターを削除します。確認を求められたらその都度「y」と入力します。
gcloud compute routers delete on-prem-router1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute routers delete vpc-demo-router1 --region {{{ project_0.default_region | "REGION" }}}
VPN ゲートウェイを削除する
次の各コマンドを入力して VPN ゲートウェイを削除します。確認を求められたらその都度「y」と入力します。
gcloud compute vpn-gateways delete vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute vpn-gateways delete on-prem-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}
インスタンスを削除する
次のコマンドを入力して各インスタンスを削除します。確認を求められたらその都度「y」と入力します。
gcloud compute instances delete vpc-demo-instance1 --zone {{{ project_0.default_zone | "ZONE" }}}
gcloud compute instances delete vpc-demo-instance2 --zone {{{project_0.default_zone_2 | "ZONE"}}}
gcloud compute instances delete on-prem-instance1 --zone zone_name
注 : <zone_name> は、on-prem-instance1 が作成されたゾーンに置き換えます。
ファイアウォール ルールを削除する
次のコマンドを入力してファイアウォール ルールを削除します。確認を求められたらその都度「y」と入力します。
gcloud compute firewall-rules delete vpc-demo-allow-custom
gcloud compute firewall-rules delete on-prem-allow-subnets-from-vpc-demo
gcloud compute firewall-rules delete on-prem-allow-ssh-icmp
gcloud compute firewall-rules delete on-prem-allow-custom
gcloud compute firewall-rules delete vpc-demo-allow-subnets-from-on-prem
gcloud compute firewall-rules delete vpc-demo-allow-ssh-icmp
サブネットを削除する
次のコマンドを入力してサブネットを削除します。確認を求められたらその都度「y」と入力します。
gcloud compute networks subnets delete vpc-demo-subnet1 --region {{{ project_0.default_region | "REGION" }}}
gcloud compute networks subnets delete vpc-demo-subnet2 --region {{{project_0.default_region_2 | REGION 2}}}
gcloud compute networks subnets delete on-prem-subnet1 --region {{{ project_0.default_region | "REGION" }}}
VPC を削除する
次のコマンドを入力して VPC を削除します。確認を求められたらその都度「y」と入力します。
gcloud compute networks delete vpc-demo
gcloud compute networks delete on-prem
タスク 9: まとめ
このラボでは、HA VPN ゲートウェイを構成しました。また、VPN トンネルを使用した動的ルーティングと、グローバルな動的ルーティング モードも構成しました。最後に、HA VPN が正しく構成されて正常に機能していることを確認しました。
ラボを終了する
ラボが完了したら、[ラボを終了 ] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信 ] をクリックします。
星の数は、それぞれ次の評価を表します。
星 1 つ = 非常に不満
星 2 つ = 不満
星 3 つ = どちらともいえない
星 4 つ = 満足
星 5 つ = 非常に満足
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート ] タブをご利用ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。