Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Part-64: 🌐 Google Cloud Networking – Hands-on with VPC Network Peering in GCP Cloud

2025年09月18日に「Dev.to」が公開したITニュース「Part-64: 🌐 Google Cloud Networking – Hands-on with VPC Network Peering in GCP Cloud」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Google CloudのVPCピアリングは、異なるVPC間を内部IPで安全につなぐ技術だ。この記事では、別々のVPCにVMを作り、通信できない状態を確認。その後ピアリングを設定し、インターネット経由せず低遅延でプライベートな通信が可能になる手順を解説する。システム連携に役立つ。

ITニュース解説

この解説は、Google Cloud Platform(GCP)における「VPC Network Peering」という技術を、システムエンジニアを目指す初心者が理解できるよう、その仕組みと具体的な設定手順、そして利用シーンについて説明する。VPC Network Peeringとは、異なる仮想プライベートクラウド(VPC)ネットワーク間を、インターネットを介さずにプライベートな通信経路で接続するための重要な機能である。

クラウド環境でプロジェクトを進める際、多くの場合、セキュリティや管理上の理由から、アプリケーションやサービスごとに独立したVPCネットワークを作成する。これにより、それぞれのネットワークが互いに干渉することなく、隔離された安全な環境を維持できる。しかし、複数のVPCに存在するリソース(例えば、あるVPCにあるアプリケーションサーバーと、別のVPCにあるデータベースサーバー)が、インターネットに公開されることなく、安全に通信する必要が生じる場面がある。VPC Network Peeringは、まさにこの課題を解決するために設計されている。この技術を用いることで、異なるVPC内のリソースが内部IPアドレスを使って、低遅延かつセキュアに直接通信できるようになるのだ。

このニュース記事では、VPC Network Peeringの具体的な設定手順を、実際に手を動かしながら学ぶデモンストレーションとして紹介している。その流れは以下の通りである。まず、二つの独立したVPCネットワーク(vpc1vpc2)を作成する。次に、それぞれのVPC内にサブネット(vpc1subnetvpc2subnet)を設定し、そのサブネット内に仮想マシン(VMインスタンス)(vpc1-vmvpc2-vm)を一台ずつ構築する。これらのVMが、VPC Peeringを設定する前には互いに通信できないことを確認し、その後VPC Peeringを設定することで、内部IPアドレスによる通信が可能になることを検証する。

最初のステップとして、vpc1という名前のVPCネットワークと、それに付随するvpc1subnetというサブネットを作成する。VPCはクラウド上に構築する自分専用の仮想ネットワークのことで、他のユーザーのネットワークとは完全に分離されている。サブネットはそのVPCをさらに分割した、IPアドレスの範囲を持つ小さなネットワーク単位である。vpc1subnetにはus-central1リージョンに10.1.0.0/16というCIDRブロック(IPアドレスの範囲を示す表記)が割り当てられる。また、このVPCにはSSH接続やPingを許可するための基本的なファイアウォールルールも設定する。同様に、vpc2というVPCネットワークと、us-central1リージョンに10.8.0.0/16というCIDRブロックを持つvpc2subnetを作成し、同じファイアウォールルールを設定する。この時点では、vpc1vpc2は完全に独立しており、互いに通信できない状態である。

次に、作成したサブネット内に仮想マシン(VM)を構築する。ここではGoogle Cloudを操作するためのコマンドラインツールであるgcloudコマンドを使用する。vpc1subnetにはvpc1-vmを、vpc2subnetにはvpc2-vmをそれぞれ作成する。これらのVMは、クラウド上に用意される仮想的なコンピュータであり、それぞれが異なるVPC内のサブネットに所属している。VMの作成が完了したら、初期の接続テストを行う。gcloud compute sshコマンドを使ってvpc1-vmにSSH接続し、vpc2-vmの内部IPアドレスに対してPingコマンドを実行する。予想通り、このPingは失敗するはずである。これは、vpc1vpc2がまだ相互に通信経路を持っていないため、互いのネットワーク内のIPアドレス宛てのトラフィックをルーティングできないからである。vpc2-vmからvpc1-vmへのPingも同様に失敗する。

いよいよ本題であるVPC Network Peeringの設定に進む。これはGoogle Cloudの管理コンソールから行うことができる。まず、vpc1からvpc2への接続を定義するピアリングを作成する。具体的には、ピアリング接続の名前、自社のVPC(vpc1)、相手のプロジェクト(ここでは同じプロジェクト内なのでgcpdemos)、相手のVPC(vpc2)を指定する。ここで重要なのが「サブネットルートのインポート/エクスポートを有効にする」という設定である。このオプションを有効にすることで、それぞれのVPCが相手のVPCに存在するサブネットのIPアドレス範囲を知り、そのアドレス宛てのトラフィックを相手のVPCにルーティングできるようになる。この設定は片方向だけでなく、vpc2からvpc1へのピアリング接続も同様に作成する必要がある。両方向のピアリング接続が正しく設定されると、それぞれの接続ステータスが「ACTIVE」になることを確認できる。

ピアリング接続が「ACTIVE」になったら、再度接続テストを行う。先ほどと同様にvpc1-vmにSSH接続し、vpc2-vmの内部IPアドレスに対してPingコマンドを実行する。すると今度はPingが成功するはずである。これはVPC Peeringによって、vpc1vpc2がプライベートな経路で接続され、互いのサブネット間の通信が可能になったことを示している。vpc2-vmからvpc1-vmへのPingも同様に成功するだろう。このようにして、VPC Peeringは、異なるVPC間のリソースが安全かつ効率的に通信するための基盤を提供する。

VPC Network Peeringの主な利点は、インターネットを経由せずにプライベートな通信を実現できること、低遅延であること、そしてルーティング設定の手間が少ないことである。この技術は様々なシナリオで活用される。例えば、企業内で複数の部門がそれぞれ独立したVPCを持っており、それらの部門間でデータを安全に共有したい場合や、クラウドサービスを提供するSaaSプロバイダーが、顧客ごとの独立したVPCと共有のリソースVPCを接続する場合、あるいは開発環境やテスト環境のVPCと、本番環境で共有されるサービス(認証基盤やログ収集など)が動作するVPCを接続する場合などが挙げられる。

最後に、デモンストレーションで作成した仮想マシンやVPC Peering接続、VPCネットワークといったクラウドのリソースは、利用している間は費用が発生するため、不要になったら適切に削除することが重要である。これにより、無駄なコストの発生を防ぎ、リソースを効率的に管理できる。VPC Network Peeringは、Google Cloudにおけるネットワーク設計の自由度と安全性を高めるための、システムエンジニアにとって非常に有用なツールである。

関連コンテンツ

関連IT用語