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

このチュートリアルでは、Network Connectivity Center ハブと Cloud VPN スポークを使用して、2 つの支店間のデータ転送を設定する方法について説明します。この構成を作成するために、各支店の Cloud VPN ゲートウェイから各支店のスポークに HA VPN トンネルのペアを接続します。

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

始める前に

Network Connectivity Center をより簡単に構成するには、Google Cloud で次の項目を設定します。

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

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

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

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

API に関する注意事項

注: 一般公開プレビューの間、このガイドに記載されているコマンドは Network Connectivity API のアルファ版を使用していますが、Compute Engine API についてはベータ版を使用しています。

API コマンドでの locationsregion の使用

Network Connectivity API では、locations フィールドを使用して Google Cloud のリージョンまたはゾーンを指定します。Compute Engine API は、regions または zones を使用してこれらのリソースを表します。

名前または URI でのハブまたはスポーク リソースの指定

コマンドの入力時には、名前または完全な URI によって次のネットワーク接続センター リソースを指定できます。

  • ハブ
  • スポークに接続されたリソース

この方法は、gcloud コマンドライン ツールと Network Connectivity API に適用されます。

たとえば、TUNNEL_NAME または projects/PROJECT_NAME/regions/REGION/vpnTunnels/TUNNEL_NAME としてスポークに接続された HA VPN トンネルを参照できます。

次の例は、URI を使用して 2 つの HA VPN トンネルをスポークに追加して指定する方法を示しています。

--vpn-tunnel="https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME","https://www.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/vpnTunnels/TUNNEL_NAME"

このチュートリアルで使用するリソース

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

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


データ転送接続の構成

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

  1. Virtual Private Cloud(VPC)ネットワーク、HA VPN ゲートウェイとトンネル、Cloud Router などの Google Cloud リソースを作成します。
  2. ネットワーク接続センターのハブリソースを作成します。
  3. 各支店のスポーク リソースを定義します。
  4. 各支店の Cloud VPN ゲートウェイから各スポークに HA VPN トンネルを 2 つ接続します。
  5. 構成を確認します。

Network Connectivity API を使用してハブとスポークを構成する場合、ハブの作成と同時にスポークを作成できます。スポークを追加するために API を追加で呼び出す必要はありません。

Google Cloud リソースを作成する

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

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

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

既存の 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 alpha network-connectivity hubs create HUB_NAME \
     --description=DESCRIPTION \
     --project=PROJECT_ID

次の値を置き換えます。

  • HUB_NAME: 新しいハブの名前(このサンプルでは my-hub
  • DESCRIPTION: ハブを説明するテキスト(省略可)
  • PROJECT_ID: 新しいハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。

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

API

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

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

次の値を置き換えます。

  • PROJECT_ID: 新しいハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。
  • HUB_NAME: 新しいハブの名前(このサンプルでは my-hub
  • DESCRIPTION: ハブを説明するテキスト(省略可)

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

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

Office1 のスポークを作成します。スポークには、2 つの HA VPN トンネル(使用している HA VPN ゲートウェイの各インターフェースを送信元とするそれぞれ 1 つのトンネル)が含まれています。サンプルの図では、このゲートウェイを vpn-office1 と表しています。オフィスに最も近接した Google Cloud リージョンに存在するゲートウェイを選択することをおすすめします。

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 alpha network-connectivity spokes create SPOKE_NAME \
    --hub=HUB_NAME \
    --description=DESCRIPTION \
    --vpn-tunnel=TUNNEL1_NAME,TUNNEL2_NAME \
    --region=REGION \
    --project=PROJECT_ID
 

次の値を置き換えます。

  • SPOKE_NAME: スポークの名前(このサンプルでは office-1-spoke
  • HUB_NAME: スポークを接続するハブの名前(このサンプルでは my-hub
  • DESCRIPTION: スポークを説明する省略可能なテキスト
  • TUNNEL_NAME: スポークに追加する 1 つ以上の HA VPN トンネルの名前。サンプルの図では、これらのトンネルは vpn-tunnel1-office1vpn-tunnel2-office1 です。
  • REGION: スポークが配置されている Google Cloud リージョン。サンプルの図では、スポークは us-west1 に配置されています。
  • PROJECT_ID: ハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。

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

API

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

  POST https://networkconnectivity.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/spokes
  {
    "name": "SPOKE_NAME",
    "hub": "HUB_NAME",
    "linkedVpnTunnels": ["TUNNEL1_NAME","TUNNEL2_NAME"]
  }

次の値を置き換えます。

  • PROJECT_ID: ハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。
  • REGION: スポークが配置されている Google Cloud リージョン。サンプルの図では、スポークは us-west1 に配置されています。
  • SPOKE_NAME: スポークの名前(このサンプルでは office-1-spoke
  • HUB_NAME: スポークの接続先のハブ(このサンプルでは my-hub
  • TUNNEL_NAME: スポークに追加する 1 つ以上の HA VPN トンネルの名前(URI 形式)。サンプルの図では、これらのトンネルは vpn-tunnel1-office1vpn-tunnel2-office1 です。

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

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

Office2 のスポークを作成します。スポークには、2 つの HA VPN トンネル(使用している HA VPN ゲートウェイの各インターフェースを送信元とするそれぞれ 1 つのトンネル)が含まれています。サンプルの図では、このゲートウェイは vpn-office2 と表されています。オフィスに最も近接した Google Cloud リージョンに存在するゲートウェイを選択することをおすすめします。

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

2 番目のスポークを作成するには、次のコマンドを入力します。

  gcloud alpha network-connectivity spokes create SPOKE_NAME \
    --hub=HUB_NAME \
    --description=DESCRIPTION \
    --vpn-tunnel=TUNNEL1_NAME,TUNNEL2_NAME \
    --region=REGION \
    --project=PROJECT_ID

次の値を置き換えます。

  • SPOKE_NAME: スポークの名前(このサンプルでは office-2-spoke
  • HUB_NAME: スポークの接続先のハブの名前(このサンプルでは my-hub
  • DESCRIPTION: スポークを説明する省略可能なテキスト
  • TUNNEL_NAME: スポークに追加する 1 つ以上の HA VPN トンネルの名前。サンプルの図では、vpn-tunnel1-office2vpn-tunnel2-office2 の 2 つのトンネルを使用しています。
  • REGION: スポークが配置されている Google Cloud リージョン。サンプルの図では、スポークは us-east1 に配置されています。
  • PROJECT_ID: ハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。

API

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

  POST https://networkconnectivity.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/spokes
  {
    "name": "SPOKE_NAME",
    "hub": "HUB_NAME",
    "linkedVpnTunnels": ["TUNNEL1_NAME","TUNNEL2_NAME"]
  }

次の値を置き換えます。

  • PROJECT_ID: 新しいスポークを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトは my-project です。
  • REGION: スポークが配置されている Google Cloud リージョン。サンプルの図では、リージョンは us-east1 です。
  • SPOKE_NAME: スポークの名前(このサンプルでは office-2-spoke
  • HUB_NAME: スポークの接続先のハブ(このサンプルでは my-hub
  • TUNNEL_NAME: スポークに追加する 1 つ以上の HA VPN トンネルの名前。サンプルの図では、vpn-tunnel1-office2vpn-tunnel2-office2 の 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 alpha network-connectivity spokes delete SPOKE_NAME \
    --region=REGION \
    --project=PROJECT_ID

次の値を置き換えます。

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

API

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

  DELETE https://networkconnectivity.googleapis.com/v1alpha1/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 alpha 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/v1alpha1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME

次の値を置き換えます。

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

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

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

次のステップ