このチュートリアルでは、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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
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)'
- Virtual Private Cloud(VPC)ネットワーク、HA VPN ゲートウェイとトンネル、Cloud Router などの Google Cloud リソースを作成します。
- ハブを作成します。
- 最初と 2 番目の支店のスポークを定義します。各スポークは、基盤となるリソースとして VPN トンネルを使用する必要があります。
- 構成を確認します。
- 動的ルーティング モードが
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 コンソールで、[Network Connectivity Center] ページに移動します。
[プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは
my-projectです。ハブの名前を入力します(このサンプルでは
my-hub)。必要に応じて説明を入力します。
プロジェクト ID を確認します。プロジェクト ID が誤っている場合は、画面上部のプルダウン メニューを使用して別のプロジェクトを選択します。
[続行] をクリックします。
Office1スポークをハブに追加するには、オフィス 1 のスポークを作成するに進みます。HUB_NAME: 新しいハブの名前(このサンプルではmy-hub)DESCRIPTION: ハブを説明するテキスト(省略可)KEY: ラベルテキストの Key-Value ペアのキー(省略可)VALUE: ラベルテキストの Key-Value ペアの値(省略可)PROJECT_ID: 新しいハブを含むプロジェクトのプロジェクト ID。例:my-projectHUB_NAME: 新しいハブの名前。例:my-hubDESCRIPTION: ハブを説明するテキスト(省略可)KEY: ラベルテキストの Key-Value ペアのキー(省略可)VALUE: ラベルテキストの Key-Value ペアの値(省略可)- [新しいスポーク] フォームで、[スポークタイプ] フィールドを [VPN トンネル] に設定します。
- スポーク名を入力します(この場合は
office-1-spoke)。 - 必要に応じて、スポークの説明を入力します。
- スポークのリージョンを選択します。サンプル図では、スポークは
us-west1に配置されています。 - [サイト間データ転送] で [有効] を選択します。
- 適切な VPC ネットワークを選択します。この例では、スポークが
network-aにあります。 - VPN トンネルを選択します。必要に応じて、[トンネルを追加] をクリックして別の [VPN トンネル] フィールドを追加します。サンプル図では、2 つのトンネル
vpn-tunnel1-office1とvpn-tunnel2-office1を使用しています。トンネルの追加が完了したら、[完了] をクリックします。 - [作成] をクリックします。
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 ペアの値(省略可)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 番目のトンネル名の間にスペースを入れないでください。[Network Connectivity Center] ページに移動します。
[プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは
my-projectです。[スポーク] タブをクリックします。
[スポークを追加する] をクリックして [スポークを追加する] ページを開きます。
[新しいスポーク] フォームで、[スポークタイプ] フィールドを [VPN トンネル] に設定します。
スポーク名を入力します(この場合は
office-2-spoke)。必要に応じて、スポークの説明を入力します。
スポークのリージョンを選択します。サンプル図では、スポークは
us-east1に配置されています。[サイト間データ転送] で [有効] を選択します。
[VPC ネットワーク] フィールドが、最後に作成したスポークと同じネットワークに設定されていることを確認します。サンプルの図では、
network-aです。VPN トンネルを選択します。必要に応じて、[トンネルを追加] をクリックして別の [VPN トンネル] フィールドを追加します。サンプル図では、2 つのトンネル
vpn-tunnel1-office2とvpn-tunnel2-office2を使用しています。トンネルの追加が完了したら、[完了] をクリックします。[作成] をクリックします。
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 のスポークを作成するに進みます。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 番目のトンネル名の間にスペースを入れないでください。- 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)。[スポークを削除] をクリックします。
確認ダイアログで [削除] をクリックします。
SPOKE_NAME: 削除するスポークの名前(このサンプルではoffice-1-spokeとoffice-2-spoke)REGION: スポークが配置されている Google Cloud リージョンPROJECT_ID: スポークを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトはmy-projectです。REGION: スポークが配置されている Google Cloud リージョンSPOKE_NAME: 削除するスポークの名前(このサンプルではoffice-1-spokeとoffice-2-spoke)Google Cloud コンソールで、[Network Connectivity Center] ページに移動します。
[プロジェクト] プルダウン メニューで、プロジェクトを選択します。サンプルの図では、プロジェクトは
my-projectです。[ハブを削除] をクリックします。
確認ダイアログで [削除] をクリックしてハブを削除します。
HUB_NAME: 削除するハブの名前(このサンプルではmy-hub)PROJECT_ID: ハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトはmy-projectです。PROJECT_ID: ハブを含むプロジェクトのプロジェクト ID。サンプルの図では、プロジェクトはmy-projectです。HUB_NAME: 削除するハブの名前- サンプル トポロジについては、サイト間データ転送のサンプル トポロジをご覧ください。
- Network Connectivity Center でフルメッシュ接続を有効にする方法については、サイト間データ転送とルート交換をご覧ください。
- 高可用性の要件については、スポーク リソースの高可用性要件をご覧ください。
- ハブとスポークの作成については、ハブとスポークの操作をご覧ください。
- Network Connectivity Center の問題の解決策については、トラブルシューティングをご覧ください。
リソースの識別規則
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"
|
サンプル トポロジ
次の図では、このチュートリアルで使用するサンプル リソースを示します。
データ転送接続を構成する
データ転送接続を設定するには、次の手順を行います。
Google Cloud リソースを作成する
このチュートリアルは、次のGoogle Cloud リソースをすでに作成していることを前提としています。
これらのリソースを作成する場合は、次のドキュメントをご覧ください。
既存の Google Cloud リソースを特定するか、新しいリソースを作成したら、次のセクションに進みます。
ハブを作成する
まずハブを作成します。後で、このハブにスポークを接続します。
コンソール
gcloud
ハブを作成するには、gcloud network-connectivity hubs create コマンドを使用します。
gcloud network-connectivity hubs create HUB_NAME \
--description="DESCRIPTION" \
--labels="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"
}
}
次の値を置き換えます。
Office1 スポークをハブに追加するには、オフィス 1 のスポークを作成するに進みます。
オフィス 1 のスポークを作成する
Office1 のスポークを作成します。2 つの HA VPN トンネルをスポークの基盤となるリソースとして使用します。各トンネルは、オフィスに最も近いリージョンの HA VPN ゲートウェイから開始する必要があります。このサンプルの図では、トンネルは 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
次の値を置き換えます。
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
}
}
次の値を置き換えます。
オフィス 2 のスポークを作成する
Office2 のスポークを作成します。2 つの HA VPN トンネルをスポークの基盤となるリソースとして使用します。各トンネルは、オフィスに最も近いリージョンの HA VPN ゲートウェイから開始する必要があります。このサンプルの図では、トンネルは vpn-tunnel1-office2 と vpn-tunnel2-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
次の値を置き換えます。
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
}
}
次の値を置き換えます。
構成を確認する
ハブとスポークの構成が完了すると、一方のオフィスの仮想マシン(VM)インスタンスから別のオフィスの VM インスタンスにトラフィックを渡すことができます。これを行うには、各 VM がそのリージョン内の VPN トンネルにアクセスできる必要があります。
構成をクリーンアップする
次のセクションの手順に沿って、サンプル構成をクリーンアップします。引き続き課金されないようにするには、作成したリソースを削除します。
プロジェクトの削除
作成したプロジェクトを削除する場合は、次の手順を行います。また、以下の手順でプロジェクトを保持し、個々のリソースを削除することもできます。
両方のスポークを削除する
ハブを削除する前に、すべてのスポークを削除する必要があります。
コンソール
gcloud
スポークを削除するには、gcloud network-connectivity spokes delete コマンドを使用します。このコマンドを 2 回使用します(1 回は office-1-spoke を削除、もう 1 回は office-2-spoke を削除)。
gcloud network-connectivity spokes delete SPOKE_NAME \
--region=REGION
次の値を置き換えます。
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
次の値を置き換えます。
ハブを削除する
スポークを削除したら、ハブを削除できます。
コンソール
gcloud
ハブを削除するには、gcloud network-connectivity hubs delete コマンドを使用します。
gcloud network-connectivity hubs delete HUB_NAME /
--project=PROJECT_ID
次の値を置き換えます。
API
ハブを削除するには、networkconnectivity.hubs.delete メソッドを使用します。
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME
次の値を置き換えます。
VPC ネットワークとサブネットを削除する
このチュートリアル用に構成した VPC ネットワークとサブネットを削除します。