このチュートリアルでは、Network Connectivity Center ハブと Cloud VPN スポークを使用して、2 つの支店間のデータ転送を設定する方法について説明します。
ハブとスポークの作成について詳しくは、ハブとスポークの操作をご覧ください。
始める前に
始める前に、以下のセクションを確認してください。
プロジェクトを作成または選択する
Network Connectivity Center を簡単に構成できるように、まず、有効なプロジェクトを特定します。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Google Cloud CLI を使用している場合は、
gcloud config set
コマンドを使用してプロジェクト ID を設定します。gcloud config set project PROJECT_ID
PROJECT_ID
は、一意のプロジェクト ID に置き換えます。このページの gcloud CLI の手順では、プロジェクト ID がすでに設定されていることを前提としています。
プロジェクト 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" |
サンプル トポロジ
次の図では、このチュートリアルで使用するサンプル リソースを示します。
データ転送接続を構成する
データ転送接続を設定するには、次の手順を行います。
- Virtual Private Cloud(VPC)ネットワーク、HA VPN ゲートウェイとトンネル、Cloud Router などの Google Cloud リソースを作成します。
- ハブを作成します。
- 最初と 2 番目の支店のスポークを定義します。各スポークは、基盤となるリソースとして VPN トンネルを使用する必要があります。
- 構成を確認します。
Google Cloud リソースを作成する
このチュートリアルは、次の Google Cloud リソースをすでに作成していることを前提としています。
- 動的ルーティング モードが
global
に設定されている VPC ネットワーク Office1
に最も近いリージョンに、サブネット、HA VPN ゲートウェイ、Cloud Router、ゲートウェイ インターフェースをOffice1
に接続するトンネル。Office2
に最も近いリージョンに、サブネット、HA VPN ゲートウェイ、Cloud Router、ゲートウェイ インターフェースをOffice2
に接続するトンネル。
これらのリソースを作成する場合は、次のドキュメントをご覧ください。
- VPC ネットワークを作成するには、ネットワークの作成をご覧ください。この構成では、複数のリージョンにあるスポークを使用するため、ネットワークの動的ルーティング モードを
global
に設定します。 - サブネットを作成するには、サブネットの追加をご覧ください。
- HA VPN ゲートウェイ、トンネル、Cloud Router を作成するには、ピア VPN ゲートウェイへの HA VPN ゲートウェイの作成をご覧ください。
既存の Google Cloud リソースを特定するか、新しいリソースを作成したら、次のセクションに進みます。
ハブを作成する
まずハブを作成します。後で、このハブにスポークを接続します。
コンソール
Google Cloud コンソールで [Network Connectivity Center] ページに移動します。
[プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは
my-project
です。ハブの名前を入力します(このサンプルでは
my-hub
)。必要に応じて説明を入力します。
プロジェクト ID を確認します。プロジェクト ID が誤っている場合は、画面上部のプルダウン メニューを使用して別のプロジェクトを選択します。
[続行] をクリックします。
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-office1
と vpn-tunnel2-office1
と表しています。
コンソール
次の手順は、ハブを作成するの続きの手順です。この手順では、ハブの名前と説明を指定した直後にスポークを作成する方法を説明します。
- [新しいスポーク] フォームで、[スポークタイプ] フィールドを [VPN トンネル] に設定します。
- スポーク名を入力します(この場合は
office-1-spoke
)。 - 必要に応じて、スポークの説明を入力します。
- スポークのリージョンを選択します。サンプル図では、スポークは
us-west1
に配置されています。 - [サイト間データ転送] で [有効] を選択します。
- 適切な VPC ネットワークを選択します。この例では、スポークが
network-a
にあります。 - VPN トンネルを選択します。必要に応じて、[トンネルを追加] をクリックして別の [VPN トンネル] フィールドを追加します。サンプル図では、2 つのトンネル
vpn-tunnel1-office1
とvpn-tunnel2-office1
を使用しています。トンネルの追加が完了したら、[完了] をクリックします。 - [作成] をクリックします。
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
: プロジェクトのプロジェクト IDREGION
: スポークを配置する 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-office2
と vpn-tunnel2-office2
と表しています。
コンソール
2 番目のスポークを作成するには、次のようにします。
[Network Connectivity Center] ページに移動します。
[プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは
my-project
です。[スポーク] タブをクリックします。
[スポークを追加する] をクリックして [スポークを追加する] ページを開きます。
[新しいスポーク] フォームで、[スポークタイプ] フィールドを [VPN トンネル] に設定します。
スポーク名を入力します(この場合は
office-2-spoke
)。必要に応じて、スポークの説明を入力します。
スポークのリージョンを選択します。サンプル図では、スポークは
us-east1
に配置されています。[サイト間データ転送] で [有効] を選択します。
[VPC ネットワーク] フィールドが、最後に作成したスポークと同じネットワークに設定されていることを確認します。サンプルの図では、
network-a
です。VPN トンネルを選択します。必要に応じて、[トンネルを追加] をクリックして別の [VPN トンネル] フィールドを追加します。サンプル図では、2 つのトンネル
vpn-tunnel1-office2
とvpn-tunnel2-office2
を使用しています。トンネルの追加が完了したら、[完了] をクリックします。[作成] をクリックします。
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
: プロジェクトのプロジェクト IDREGION
: スポークを配置する 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 トンネルにアクセスできる必要があります。
構成をクリーンアップする
次のセクションの手順に沿って、サンプル構成をクリーンアップします。引き続き課金されないようにするには、作成したリソースを削除します。
プロジェクトの削除
作成したプロジェクトを削除する場合は、次の手順を行います。また、以下の手順でプロジェクトを保持し、個々のリソースを削除することもできます。
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
両方のスポークを削除する
ハブを削除する前に、すべてのスポークを削除する必要があります。
コンソール
[Network Connectivity Center] ページに移動します。
[プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは
my-project
です。[スポーク] タブをクリックします。
プロジェクトの [スポーク名] のリストを表示します。
削除するスポークのチェックボックスをオンにします(このサンプルでは
office-1-spoke
とoffice-2-spoke
)。[スポークを削除] をクリックします。
確認ダイアログで [削除] をクリックします。
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-spoke
とoffice-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-spoke
とoffice-2-spoke
)
ハブを削除する
スポークを削除したら、ハブを削除できます。
コンソール
Google Cloud コンソールで [Network Connectivity Center] ページに移動します。
[プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは
my-project
です。[ハブを削除] をクリックします。
確認ダイアログで [削除] をクリックしてハブを削除します。
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 ネットワークとサブネットを削除します。
次のステップ
- サンプル トポロジについては、サイト間データ転送のサンプル トポロジをご覧ください。
- Network Connectivity Center でフルメッシュ接続を有効にする方法については、サイト間データ転送とルート交換をご覧ください。
- 高可用性の要件については、スポーク リソースの高可用性要件をご覧ください。
- ハブとスポークを作成については、ハブとスポークの操作をご覧ください。
- Network Connectivity Center の問題の解決策については、トラブルシューティングをご覧ください。