arrow_back

Google Cloud HA VPN を構成する

ログイン 参加
700 以上のラボとコースにアクセス

Google Cloud HA VPN を構成する

ラボ 1時間 15分 universal_currency_alt クレジット: 5 show_chart 上級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

概要

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 プロジェクトとリソースセットを一定時間無料で利用できます。

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。

Google Cloud Shell の有効化

Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト 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 インスタンスを個別のゾーンで実行します。

  1. 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:
  1. 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}}}"
  1. サブネット 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}}}
  1. このネットワークですべてのカスタム トラフィックを許可するファイアウォール ルールを作成します。
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
  1. 任意の送信元からの SSH と ICMP のトラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create vpc-demo-allow-ssh-icmp \ --network vpc-demo \ --allow tcp:22,icmp
  1. 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
  1. 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 環境に接続します。

  1. 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:
  1. 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" }}}
  1. このネットワークですべてのカスタム トラフィックを許可するファイアウォール ルールを作成します。
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
  1. インスタンスへの SSH、RDP、HTTP、ICMP の各トラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create on-prem-allow-ssh-icmp \ --network on-prem \ --allow tcp:22,icmp
  1. インスタンス 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 トンネルを作成します。

  1. 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" }}}
  1. on-prem ネットワークに HA VPN を作成します。
gcloud compute vpn-gateways create on-prem-vpn-gw1 --network on-prem --region {{{ project_0.default_region | "REGION" }}}
  1. 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
  1. 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

クラウド ルーターを作成する

  1. 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
  1. 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 に接続します。

  1. 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
  1. 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
  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
  1. 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% の可用性を実現するために動的ルーティングが必要です。

  1. ネットワーク vpc-demotunnel0 用のルーター インターフェースを作成します。
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].
  1. ネットワーク vpc-demotunnel0 用の 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.
  1. ネットワーク vpc-demotunnel1 用のルーター インターフェースを作成します。
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" }}}
  1. ネットワーク vpc-demotunnel1 用の 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" }}}
  1. ネットワーク on-premtunnel0 用のルーター インターフェースを作成します。
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" }}}
  1. ネットワーク on-premtunnel0 用の 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" }}}
  1. ネットワーク on-premtunnel1 用のルーター インターフェースを作成します。
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" }}}
  1. ネットワーク on-premtunnel1 用の 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 でグローバル ルーティング モードを有効にします。

  1. 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
  1. 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 範囲からのトラフィックを許可するファイアウォール ルールを構成します。

  1. ネットワーク 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
  1. 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

トンネルのステータスを確認する

  1. 作成した 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
  1. 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
  1. vpc-demo-tunnel1 トンネルが稼働していることを確認します。
gcloud compute vpn-tunnels describe vpc-demo-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}

トンネルの出力で detailedStatus が Tunnel is up and running になっています。

  1. on-prem-tunnel0 トンネルが稼働していることを確認します。
gcloud compute vpn-tunnels describe on-prem-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}

トンネルの出力で detailedStatus が Tunnel is up and running になっています。

  1. on-prem-tunnel1 トンネルが稼働していることを確認します。
gcloud compute vpn-tunnels describe on-prem-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}

トンネルの出力で detailedStatus が Tunnel is up and running になっています。

VPN 経由のプライベート接続を確認する

  1. Compute Engine に移動し、on-prem-instance1 が作成されたゾーンをメモします。

  2. 新しい Cloud Shell タブを開いて次のように入力し、SSH 経由でインスタンス on-prem-instance1 に接続します。 <zone_name> は、on-prem-instance1 が作成されたゾーンに置き換えます。

    gcloud compute ssh on-prem-instance1 --zone zone_name
  3. 「y」と入力して続行します。

  4. Enter キーを 2 回押して、パスワードの作成をスキップします。

  5. ネットワーク 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 でグローバル ルーティング モードを有効にする必要があります。これにより、クラウド ルーターが他のリージョンからのルートを検出したりアドバタイズしたりできるようになります。

  1. 新しい Cloud Shell タブを開いて、vpc-demobgp-routing modeGLOBAL に更新します。
gcloud compute networks update vpc-demo --bgp-routing-mode GLOBAL
  1. 次のコマンドで変更を確認します。
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
  1. ネットワーク 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 トンネルの高可用性の構成が正常に機能していることをテストして確認します。

  1. 新しい Cloud Shell タブを開きます。

  2. ネットワーク vpc-demotunnel0 をダウンさせます。

gcloud compute vpn-tunnels delete vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}

確認を求められたら「y」と入力します。ネットワーク on-prem の対応する tunnel0 がダウンします。

  1. このトンネルがダウンしていることを確認します。
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
  1. 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 の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。