GSP193

概要
Google Cloud の Virtual Private Cloud(VPC)ネットワーク ピアリングを利用すると、同じプロジェクトまたは同じ組織に所属しているかどうかにかかわらず、2 つの VPC ネットワーク間でプライベート接続を行うことができます。
Google Cloud で SaaS(Software-as-a-Service)エコシステムを構築でき、組織内および組織間の複数の VPC ネットワーク間でサービスを非公開で利用し、プライベート空間で通信できます。
VPC ネットワーク ピアリングは、次のような場合に役立ちます。
- 組織に複数のネットワーク管理ドメインがある場合
- 他の組織とピアリングを行う場合
組織内に複数のネットワーク管理ドメインが存在する場合、VPC ネットワーク ピアリングを利用すると、プライベート空間で VPC ネットワーク全体にサービスを提供できます。他の組織にサービスを提供する場合、VPC ネットワーク ピアリングを使用すると、他の組織がプライベート空間でこのようなサービスを利用できるようになります。
組織を超えてサービスを提供できれば、他の企業にサービスを提供することが可能になります。また、合併吸収の結果あるいは独自の要件のために、自社内に複数の組織ノードが存在する場合にも便利です。
VPC ネットワーク ピアリングは、外部 IP アドレスや VPN を使用してネットワークを接続する場合に比べて次の点で優れています。
-
ネットワークのレイテンシ: プライベート ネットワークは、パブリック IP ネットワークよりもレイテンシが小さくなります。
-
ネットワークのセキュリティ: サービス オーナーは、サービスをインターネットに公開して関連するリスクに対処する必要がありません。
-
ネットワーク コスト: ネットワークがピアリングされている場合、内部 IP を使用して通信することで、Google Cloud の下り(外向き)の帯域幅のコストを節約できます。この場合でも、通常のネットワーク料金がすべてのトラフィックに適用されます。
演習内容
- 2 つのプロジェクトでカスタム ネットワークを作成する
- VPC ネットワーク ピアリング セッションを設定する
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
- ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。
左側の [ラボの詳細] ペインには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] ペインでもユーザー名を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] ペインでもパスワードを確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
-
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン
をクリックします。
-
ウィンドウで次の操作を行います。
- Cloud Shell 情報ウィンドウで操作を進めます。
- Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、 が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
- [承認] をクリックします。
出力:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project
出力:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注: Google Cloud における gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
タスク 1. 両方のプロジェクトでカスタム ネットワークを作成する
1 つのネットワークにホストされているサービスを、同じ組織ノード内の同一または異なるプロジェクトに属する他の VPC ネットワークからもアクセスできるようにしなければならない場合もあります。
また、組織によってはサードパーティのサービスにアクセスする必要があります。
Google Cloud 全体で重複するプロジェクト名はないため、ピアリングの設定時に組織を指定する必要はありません。Google Cloud は、プロジェクト名に基づいて組織を判断します。
このラボでは 2 つのプロジェクトがプロビジョニングされており、1 番目はプロジェクト A で、2 番目はプロジェクト B です。
-
各プロジェクトで、+ アイコンをクリックして新しい Cloud Shell を起動します。
-
プロジェクト A の Cloud Shell で、プロジェクト A のプロジェクト ID を設定します。
gcloud config set project {{{project_0.project_id | Project ID 1}}}
- プロジェクト B の Cloud Shell で、プロジェクト B のプロジェクト ID を設定します。
gcloud config set project {{{project_1.project_id | Project ID 2}}}
プロジェクト A:
- 最初の Cloud Shell に戻り、次のコマンドを実行してカスタム ネットワークを作成します。
gcloud compute networks create network-a --subnet-mode custom
- 次のコマンドを実行して、この VPC 内にサブネットを作成し、リージョンと IP 範囲を指定します。
gcloud compute networks subnets create network-a-subnet --network network-a \
--range 10.0.0.0/16 --region {{{ project_0.default_region | "REGION 1" }}}
- VM インスタンスを作成します。
gcloud compute instances create vm-a --zone {{{ project_0.default_zone | "ZONE 1" }}} --network network-a --subnet network-a-subnet --machine-type e2-small
- 次のコマンドを実行して SSH と
icmp
を有効にします。これは、接続テスト中に VM と通信するための Secure Shell が必要になるためです。
gcloud compute firewall-rules create network-a-fw --network network-a --allow tcp:22,icmp
次に、同じ方法でプロジェクト B を設定します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
プロジェクト A でカスタム ネットワークを作成する
プロジェクト B:
- 2 つ目の Cloud Shell に切り替えて、カスタム ネットワークを作成します。
gcloud compute networks create network-b --subnet-mode custom
- 次のコマンドを実行して、この VPC 内にサブネットを作成し、リージョンと IP 範囲を指定します。
gcloud compute networks subnets create network-b-subnet --network network-b \
--range 10.8.0.0/16 --region {{{ project_1.default_region | "REGION 2"}}}
- VM インスタンスを作成します。
gcloud compute instances create vm-b --zone {{{ project_1.default_zone | "ZONE 2"}}} --network network-b --subnet network-b-subnet --machine-type e2-small
- 次のコマンドを実行して SSH と
icmp
を有効にします。これは、接続テスト中に VM と通信するための Secure Shell が必要になるためです。
gcloud compute firewall-rules create network-b-fw --network network-b --allow tcp:22,icmp
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
プロジェクト B でカスタム ネットワークを作成する
タスク 2. VPC ネットワーク ピアリング セッションを設定する
たとえば、組織がプロジェクト A の network-A とプロジェクト B の network-B の間で VPC ネットワーク ピアリングを確立する必要があるとします。この場合は、network-A と network-B の管理者がそれぞれのネットワークでピアリングを構成する必要があります。
network-A を network-B とピアリングする:

設定を適用する前に、コンソールで正しいプロジェクトを選択します。そのためには、画面上部のプロジェクト ID の横にある下矢印をクリックしてから、該当するプロジェクトの ID を選択します。

プロジェクト A
Cloud コンソールの左側のメニューで、[ネットワーキング] から [VPC ネットワーク] > [VPC ネットワーク ピアリング] をクリックして [VPC ネットワーク ピアリング
] に移動します。次に以下を実行します。
- [接続を作成] をクリックします。
- [続行] をクリックします。
- 接続のこちら側では [名前] に「peer-ab」と入力します。
- [VPC ネットワーク] で、ピアリングするネットワーク(network-a)を選択します。
- [ピアリングした VPC ネットワーク] で [別のプロジェクト] を選択します。
- [プロジェクト ID] は、2 番目のプロジェクトの ID で置き換えます。
{{{ project_1.project_id | "PROJECT ID 2"}}}
- [VPC ネットワークの名前](network-b)を入力します。
- [作成] をクリックします。
この段階ではプロジェクト B の network-b に一致する構成がないため、ピアリング状態は無効のままです。ステータス メッセージに「Waiting for peer network to connect
」と表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
network-a を network-b とピアリングする
network-b を network-a とピアリングする

注: コンソールで 2 番目のプロジェクトに切り替えます。
プロジェクト B
- [接続を作成] をクリックします。
- [続行] をクリックします。
- 接続のこちら側では [名前] に「peer-ba」と入力します。
- [VPC ネットワーク] で、ピアリングするネットワーク(network-b)を選択します。
- 同じプロジェクト内でピアリングする場合を除き、[ピアリングした VPC ネットワーク] で [別のプロジェクト] を選択します。
- 最初のプロジェクトの [プロジェクト ID] を指定します。
{{{ project_0.project_id | "PROJECT ID 1"}}}
- [VPC ネットワークの名前](network-a)を指定します。
- [作成] をクリックします。
VPC ネットワーク ピアリングのプロパティ リストに peer-ba
が表示されます。
VPC ネットワーク ピアリングが有効になり、ルートが交換されます。
ピアリングが有効な状態になるとすぐに以下のトラフィック フローが設定されます。
- ピアリングされたネットワークの VM インスタンス間: フルメッシュ接続
- 一方のネットワークの VM インスタンスから、ピアリングされたネットワークの内部ロード バランシング エンドポイント

VPC ネットワーク ピア間で、ピアリングされたネットワークの CIDR プレフィックスへのルートが公開されます。これらのルートは、有効なピアリング用に生成される暗黙的なルートです。対応するルートリソースはありません。次のコマンドを実行すると、プロジェクト A のすべての VPC ネットワークのルートが一覧表示されます。
gcloud compute routes list --project {{{ project_0.project_id }}}
出力例:
NAME NETWORK DEST_RANGE NEXT_HOP PRIORITY
default-route-2a865a00fa31d5df network-a 0.0.0.0/0 default-internet-gateway 1000
default-route-8af4732e693eae27 network-a 10.0.0.0/16 1000
peering-route-4732ee69e3ecab41 network-a 10.8.0.0/16 peer-ab 1000
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
network-b を network-a とピアリングする
タスク 3. 接続をテストする
このタスクでは、接続テストを行います。
プロジェクト A
-
VM インスタンス コンソールに移動するために、ナビゲーション メニュー > [Compute Engine] > [VM インスタンス] の順にクリックします。
-
vm-a の内部 IP
をコピーします。
プロジェクト B
-
ナビゲーション メニューから [Compute Engine] > [VM インスタンス] の順にクリックします。
vm-b
インスタンスに SSH 接続します。
-
vm-b
の SSH シェルで、<INTERNAL_IP_OF_VM_A>
を vm-a のインスタンスの内部 IP に置き換えて次のコマンドを実行します。
ping -c 5 <INTERNAL_IP_OF_VM_A>
出力例:
PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.
64 bytes from 10.8.0.2: icmp_seq=1 ttl=64 time=1.07 ms
64 bytes from 10.8.0.2: icmp_seq=2 ttl=64 time=0.364 ms
64 bytes from 10.8.0.2: icmp_seq=3 ttl=64 time=0.205 ms
64 bytes from 10.8.0.2: icmp_seq=4 ttl=64 time=0.216 ms
64 bytes from 10.8.0.2: icmp_seq=5 ttl=64 time=0.164 ms
--- 10.8.0.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4065ms
rtt min/avg/max/mdev = 0.164/0.404/1.072/0.340 ms
お疲れさまでした
Google Cloud のプロジェクト間で VPC ピアリングを設定する方法について学習しました。
次のステップと詳細情報
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 10 月 23 日
ラボの最終テスト日: 2024 年 10 月 23 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。