VPN スポークを使用して 2 つのサイトを接続する

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

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

始める前に

始める前に、以下のセクションを確認してください。

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

Network Connectivity Center を簡単に構成できるように、まず、有効なプロジェクトを特定します。

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

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

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Google Cloud CLI をインストールします。
  5. gcloud CLI を初期化するには:

    gcloud init
  6. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

  7. Google Cloud プロジェクトで課金が有効になっていることを確認します

  8. Google Cloud CLI をインストールします。
  9. gcloud CLI を初期化するには:

    gcloud init
  1. Google Cloud CLI を使用している場合は、gcloud config set コマンドを使用してプロジェクト ID を設定します。

    gcloud config set project PROJECT_ID

    PROJECT_ID は、一意のプロジェクト ID に置き換えます。

    このページの gcloud CLI の手順では、プロジェクト ID がすでに設定されていることを前提としています。

  1. プロジェクト ID が正しく設定されていることを確認するには、gcloud config list コマンドを使用します。

    gcloud config list --format='text(core.project)'

リソースの識別規則

gcloud CLI または 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"

    

サンプル トポロジ

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

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 リソースを特定するか、新しいリソースを作成したら、次のセクションに進みます。

ハブを作成する

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

コンソール

  1. Google Cloud コンソールで [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 コマンドを使用します。

  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 と表しています。

コンソール

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

  1. [新しいスポーク] フォームで、[スポークタイプ] フィールドを [VPN トンネル] に設定します。
  2. スポーク名を入力します(この場合は office-1-spoke)。
  3. 必要に応じて、スポークの説明を入力します。
  4. スポークのリージョンを選択します。サンプル図では、スポークは us-west1 に配置されています。
  5. [サイト間データ転送] で [有効] を選択します。
  6. 適切な VPC ネットワークを選択します。この例では、スポークが network-a にあります。
  7. VPN トンネルを選択します。必要に応じて、[トンネルを追加] をクリックして別の [VPN トンネル] フィールドを追加します。サンプル図では、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": {
      "uris: [
        "TUNNEL_NAME",
        "TUNNEL_NAME_2"
      ],
      "siteToSiteDataTransfer": 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 と表しています。

コンソール

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

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

    Network Connectivity Center に移動

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

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

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

  5. [新しいスポーク] フォームで、[スポークタイプ] フィールドを [VPN トンネル] に設定します。

  6. スポーク名を入力します(この場合は office-2-spoke)。

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

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

  9. [サイト間データ転送] で [有効] を選択します。

  10. [VPC ネットワーク] フィールドが、最後に作成したスポークと同じネットワークに設定されていることを確認します。サンプルの図では、network-a です。

  11. VPN トンネルを選択します。必要に応じて、[トンネルを追加] をクリックして別の [VPN トンネル] フィールドを追加します。サンプル図では、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": {
      "uris": [
        "TUNNEL_NAME",
        "TUNNEL_NAME_2"
      ],
      "siteToSiteDataTransfer": 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. Google Cloud コンソールで、[リソースの管理] ページに移動します。

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

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

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

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

コンソール

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

    Network Connectivity Center に移動

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

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

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

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

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

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

gcloud

スポークを削除するには、gcloud network-connectivity spokes delete コマンドを使用します。このコマンドを 2 回使用します(1 回は office-1-spoke を削除、もう 1 回は office-2-spoke を削除)。

  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

ハブを削除する

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

コンソール

  1. Google Cloud コンソールで [Network Connectivity Center] ページに移動します。

    Network Connectivity Center に移動

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

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

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

gcloud

ハブを削除するには、gcloud network-connectivity hubs delete コマンドを使用します。

  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 ネットワークサブネットを削除します。

次のステップ