Cloud VPN スポークを使用した 2 つの支店の接続

このチュートリアルでは、Network Connectivity Center ハブと Cloud VPN スポークを使用して、2 つの支店間のデータ転送を設定する方法について説明します。

ハブとスポークの作成について詳しくは、ハブとスポークの操作をご覧ください。

始める前に

始める前に、以下の注意事項を確認してください。

プロジェクトを作成または選択する

ネットワーク接続センターの構成を簡単に行うには、次の手順でプロジェクトを選択します。

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud SDK をインストールして初期化します。
  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  7. Cloud SDK をインストールして初期化します。
  1. gcloud コマンドライン ツールを使用している場合は、プロジェクト ID を次のコマンドで設定します。このページの gcloud ツールの説明では、プロジェクト ID をすでに設定していることを前提としています。
          gcloud config set project PROJECT_ID
        
    すでに設定されているプロジェクト ID を表示することもできます。
          gcloud config list --format='text(core.project)'
        

リソースを特定するための規則

gcloud ツールまたは API を使用してリソースを参照する場合、次の表に示す規則を使用します。

コンベンション サポート対象のデバイス メモ
完全 URI すべてのリソース ルーター アプライアンス インスタンスを参照するには、次のいずれかの方法を使用する必要があります。

"https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

      
相対的なリソース名 すべてのリソース

"projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME"

    
名前 リージョン リソースとグローバル リソース この方法は、ハブ、スポーク、VPN トンネル、VLAN アタッチメントに使用できます。

 "HUB_NAME"

    

サンプル トポロジ

次の図は、このチュートリアルで使用する Google Cloud リソースのサンプルを示したものです。

Network Connectivity Center のチュートリアルのトポロジ。
Network Connectivity Center のチュートリアルのトポロジ(クリックして拡大)


データ転送接続の構成

データ転送接続を設定するには、次の手順を行います。

  1. Virtual Private Cloud(VPC)ネットワーク、HA VPN ゲートウェイとトンネル、Cloud Router などの Google Cloud リソースを作成します。
  2. ハブの作成
  3. 最初の支店と 2 番目の支店にスポークを定義します。各スポークは、基盤となるリソースとして VPN トンネルを使用する必要があります。
  4. 構成を確認する

Google Cloud リソースを作成する

このチュートリアルは、次の Google Cloud リソースをすでに作成していることを前提としています。

  • 動的ルーティング モードglobal に設定されている VPC ネットワーク
  • Office1 に最も近いリージョンに、サブネット、HA VPN ゲートウェイ、Cloud Router。ゲートウェイ インターフェースを Office1 に接続するトンネル。
  • Office2 に最も近いリージョンに、サブネット、HA VPN ゲートウェイ、Cloud Router。ゲートウェイ インターフェースを Office2 に接続するトンネル。

これらのリソースを作成する必要がある場合は、次のドキュメントをご覧ください。

既存の Google Cloud リソースを特定するか、新しいリソースを作成したら、次のセクションに進みます。

ハブを作成する

まず、ハブを作成します。後で、このハブにスポークを接続します。

Console

  1. Cloud Console で、[Network Connectivity Center] ページに移動します。

    Network Connectivity Center に移動

  2. [プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは my-project です。

  3. ハブの名前を入力します(このサンプルでは my-hub)。

  4. 必要に応じて説明を入力します。

  5. プロジェクト ID を確認します。プロジェクト ID が誤っている場合は、画面上部のプルダウン メニューを使用して別のプロジェクトを選択します。

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

  7. Office1 スポークをハブに追加するには、オフィス 1 のスポークを作成するに進みます。

gcloud

ハブを作成するには、次のコマンドを入力します。

  gcloud network-connectivity hubs create HUB_NAME \
     --description="DESCRIPTION" \
     --labels="KEY"="VALUE"

次の値を置き換えます。

  • HUB_NAME: 新しいハブの名前(このサンプルでは my-hub
  • DESCRIPTION: ハブを説明するテキスト(省略可)
  • KEY: ラベルテキストの Key-Value ペアのキー(省略可)
  • VALUE: ラベルテキストの Key-Value ペアの値(省略可)

Office1 スポークをハブに追加するには、オフィス 1 のスポークを作成するに進みます。

API

ハブを作成するには、networkconnectivity.hubs.create メソッドを使用します。

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs
  {
    "name":"HUB_NAME",
    "description":"DESCRIPTION",
    "labels": {
      "KEY": "VALUE"
    }
  }

次の値を置き換えます。

  • PROJECT_ID: 新しいハブを含むプロジェクトのプロジェクト ID(例: my-project
  • HUB_NAME: 新しいハブの名前(例: my-hub
  • DESCRIPTION: ハブを説明するテキスト(省略可)
  • KEY: ラベルテキストの Key-Value ペアのキー(省略可)
  • VALUE: ラベルテキストの Key-Value ペアの値(省略可)

Office1 スポークをハブに追加するには、オフィス 1 のスポークを作成するに進みます。

オフィス 1 のスポークを作成する

Office1 のスポークを作成します。スポークの基盤となるリソースとして、2 つの HA VPN トンネルを使用します。各トンネルは、オフィスに最も近いリージョンの HA VPN ゲートウェイから発信する必要があります。サンプル図では、これらのトンネルを vpn-tunnel1-office1vpn-tunnel2-office1 として表しています。

Console

次の手順は、ハブを作成するの続きの手順です。この手順では、ハブの名前と説明を指定した直後にスポークを作成する方法を説明します。

  1. [スポークを追加する] フォームで、スポークに接続するリソースを含む [ネットワーク] を選択します。サンプルの図では、このネットワークを network-a と表しています。
  2. [新しいスポーク] フォームで、スポークの名前(このサンプルでは office-1-spoke)を入力します。
  3. 必要に応じて、スポークの説明を入力します。
  4. [スポーク タイプ] プルダウン リストで、[VPN トンネル] を選択します。
  5. スポークの [リージョン] を選択します。サンプルの図では、スポークは us-west1 に配置されています。
  6. トンネルを選択します。
    1. [トンネルを追加] をクリックします。
    2. [VPN トンネル] プルダウン メニューから、既存のトンネルを選択します。
  7. このスポークにさらにトンネルを追加するには、前述のステップを繰り返します。サンプルの図では、2 つのトンネル vpn-tunnel1-office1vpn-tunnel2-office1 を使用しています。トンネルの追加が完了したら、[完了] をクリックします。
  8. [作成] をクリックします。

Network Connectivity Center ページが更新され、作成したスポークの詳細が表示されます。Office2 スポークをハブに追加するには、オフィス 2 のスポークを作成するに進みます。

gcloud

スポークを作成するには、gcloud network-connectivity spokes linked-vpn-tunnels create コマンドを使用します。

  gcloud network-connectivity spokes linked-vpn-tunnels create SPOKE_NAME \
    --hub=HUB_NAME \
    --description="DESCRIPTION" \
    --vpn-tunnels=TUNNEL_NAME,TUNNEL_NAME_2 \
    --region=REGION \
    --labels="KEY"="VALUE" \
    --site-to-site-data-transfer

次の値を置き換えます。

  • SPOKE_NAME: スポークの名前(このサンプルでは office-1-spoke
  • HUB_NAME: スポークを接続するハブの名前(このサンプルでは my-hub
  • DESCRIPTION: スポークを説明する省略可能なテキスト
  • TUNNEL_NAME: 最初の HA VPN トンネルの名前(この例では vpn-tunnel1-office1
  • TUNNEL_NAME_2: 冗長トンネルの名前(この場合は vpn-tunnel2-office1)。2 番目のトンネルを含める場合は、カンマと 2 番目のトンネルの名前の間にスペースを使用しないでください。
  • REGION: スポークが存在している Google Cloud リージョン(この例では us-west1
  • KEY: ラベルテキストの Key-Value ペアのキー(省略可)
  • VALUE: ラベルテキストの Key-Value ペアの値(省略可)

Office2 スポークをハブに追加するには、オフィス 2 のスポークを作成するに進みます。

API

スポークを作成するには、networkconnectivity.spokes.create メソッドを使用します。

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_NAME",
    "labels": {"KEY": "VALUE"},
    "linkedVpnTunnels": ["TUNNEL_NAME","TUNNEL_NAME_2"],
    "site_to_site_data_transfer": true
    }
  }

次の値を置き換えます。

  • PROJECT_ID: プロジェクトのプロジェクト ID
  • REGION: スポークを配置する Google Cloud リージョン(この例では us-west1
  • SPOKE_NAME: スポークの名前
  • HUB_NAME: スポークを接続するハブの名前
  • KEY: ラベルテキストの Key-Value ペアのキー(省略可)
  • VALUE: ラベルテキストの Key-Value ペアの値(省略可)
  • TUNNEL_NAME: 最初の HA VPN トンネルの名前(この例では vpn-tunnel1-office1
  • TUNNEL_NAME_2: 冗長トンネルの名前(この場合は vpn-tunnel2-office1)。2 番目のトンネルを含める場合は、カンマと 2 番目のトンネルの名前の間にスペースを使用しないでください。

オフィス 2 のスポークを作成する

Office2 のスポークを作成します。スポークの基盤となるリソースとして、2 つの HA VPN トンネルを使用します。各トンネルは、オフィスに最も近いリージョンの HA VPN ゲートウェイから発信する必要があります。サンプル図では、これらのトンネルを vpn-tunnel1-office2vpn-tunnel2-office2 として表しています。

Console

2 番目のスポークを作成するには、次のようにします。

  1. [Network Connectivity Center] ページに移動します。

    Network Connectivity Center に移動

  2. [プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは my-project です。

  3. [スポーク] タブをクリックします。

  4. [スポークを追加する] をクリックして [スポークを追加する] ページを開きます。

  5. [ネットワーク] フィールドで、ネットワークを選択します。サンプルの図では、ネットワークは network-a です。

  6. [新しいスポーク] フォームで、スポークの名前(このサンプルでは office-2-spoke)を入力します。

  7. 必要に応じて、スポークの説明を入力します。

  8. [スポーク タイプ] プルダウン リストで、[VPN トンネル] を選択します。

  9. スポークの [リージョン] を選択します。サンプルの図では、スポークは us-east1 に配置されています。

  10. トンネルを選択します。

    1. [トンネルを追加] をクリックします。
    2. [VPN トンネル] プルダウン メニューから、既存のトンネルを選択します。
  11. このスポークにさらにトンネルを追加するには、前述のステップを繰り返します。サンプルの図では、2 つのトンネル vpn-tunnel1-office2vpn-tunnel2-office2 を使用しています。トンネルの追加が完了したら、[完了] をクリックします。

  12. [作成] をクリックします。

gcloud

スポークを作成するには、gcloud network-connectivity spokes linked-vpn-tunnels create コマンドを使用します。

  gcloud network-connectivity spokes linked-vpn-tunnels create SPOKE_NAME \
    --hub=HUB_NAME \
    --description="DESCRIPTION" \
    --vpn-tunnels=TUNNEL_NAME,TUNNEL_NAME_2 \
    --region=REGION \
    --labels="KEY"="VALUE" \
    --site-to-site-data-transfer

次の値を置き換えます。

  • SPOKE_NAME: スポークの名前(このサンプルでは office-2-spoke
  • HUB_NAME: スポークを接続するハブの名前(このサンプルでは my-hub
  • DESCRIPTION: スポークを説明する省略可能なテキスト
  • TUNNEL_NAME: 最初の HA VPN トンネルの名前(この例では vpn-tunnel1-office2
  • TUNNEL_NAME_2: 冗長トンネルの名前(この場合は vpn-tunnel2-office2)。2 番目のトンネルを含める場合は、カンマと 2 番目のトンネルの名前の間にスペースを入れないでください。
  • REGION: スポークが存在している Google Cloud リージョン(この例では us-east1
  • KEY: ラベルテキストの Key-Value ペアのキー(省略可)
  • VALUE: ラベルテキストの Key-Value ペアの値(省略可)

    Office2 スポークをハブに追加するには、オフィス 2 のスポークを作成するに進みます。

API

スポークを作成するには、networkconnectivity.spokes.create メソッドを使用します。

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME
  {
    "hub": "HUB_NAME",
    "labels": {"KEY": "VALUE"},
    "linkedVpnTunnels": ["TUNNEL_NAME","TUNNEL_NAME_2"],
    "site_to_site_data_transfer": true
    }
  }

次の値を置き換えます。

  • PROJECT_ID: プロジェクトのプロジェクト ID
  • REGION: スポークを配置する Google Cloud リージョン(この例では us-east1
  • SPOKE_NAME: スポークの名前
  • HUB_NAME: スポークを接続するハブの名前
  • KEY: ラベルテキストの Key-Value ペアのキー(省略可)
  • VALUE: ラベルテキストの Key-Value ペアの値(省略可)
  • TUNNEL_NAME: 最初の HA VPN トンネルの名前(この例では vpn-tunnel1-office2
  • TUNNEL_NAME_2: 冗長トンネルの名前(この場合は vpn-tunnel2-office2)。2 番目のトンネルを含める場合は、カンマと 2 番目のトンネルの名前の間にスペースを使用しないでください。

構成を確認する

ハブとスポークの構成が完了すると、一方のオフィスの仮想マシン(VM)インスタンスから別のオフィスの VM インスタンスにトラフィックを渡すことができます。これを行うには、各 VM がそのリージョン内の VPN トンネルにアクセスできる必要があります。

構成をクリーンアップする

次のセクションの手順に沿って、サンプル構成をクリーンアップします。課金されないようにするには、作成したリソースを削除します。

プロジェクトの削除

作成したプロジェクトを削除する場合は、次の手順に沿って操作します。 または、以降のセクションで説明するように、プロジェクトを保持して、個々のリソースを削除することもできます。

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

両方のスポークを削除する

ハブを削除する前に、すべてのスポークを削除する必要があります。

Console

  1. [Network Connectivity Center] ページに移動します。

    Network Connectivity Center に移動

  2. [プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは my-project です。

  3. [スポーク] タブをクリックします。

  4. プロジェクトの [スポーク名] のリストを表示します。

  5. 削除するスポークのチェックボックスをオンにします(このサンプルでは office-1-spokeoffice-2-spoke)。

  6. [スポークを削除] をクリックします。

  7. 確認ダイアログで [削除] をクリックします。

gcloud

次のコマンドを 2 回使用します(office-1-spoke の削除に 1 回、office-2-spoke の削除に 1 回)。

  gcloud network-connectivity spokes delete SPOKE_NAME \
    --region=REGION

次の値を置き換えます。

  • SPOKE_NAME: 削除するスポークの名前(このサンプルでは office-1-spokeoffice-2-spoke
  • REGION: スポークが存在する Google Cloud リージョン

API

networkconnectivity.spokes.delete メソッドを 2 回使用します(office-1-spoke の削除に 1 回、office-2-spoke の削除に 1 回)。

  DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME

次の値を置き換えます。

  • PROJECT_ID: スポークを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。
  • REGION: スポークが存在する Google Cloud リージョン
  • SPOKE_NAME: 削除するスポークの名前(このサンプルでは office-1-spokeoffice-2-spoke

ハブを削除する

スポークを削除したら、ハブを削除できます。

Console

  1. Cloud Console で、[Network Connectivity Center] ページに移動します。

    Network Connectivity Center に移動

  2. [プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは my-project です。

  3. [ハブを削除] をクリックします。

  4. 確認ダイアログで [削除] をクリックしてハブを削除します。

gcloud

ハブを削除するには、次のコマンドを使用します。

  gcloud network-connectivity hubs delete HUB_NAME /
    --project=PROJECT_ID

次の値を置き換えます。

  • HUB_NAME: 削除するハブの名前(このサンプルでは my-hub
  • PROJECT_ID: ハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。

API

ハブを削除するには、networkconnectivity.hubs.delete メソッドを使用します。

  DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME

次の値を置き換えます。

  • PROJECT_ID: ハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。
  • HUB_NAME: 削除するハブの名前

VPC ネットワークとサブネットを削除する

このチュートリアル用に構成した VPC ネットワークサブネットを削除します。

次のステップ