VPCピアリングとは – 企業がシステムとネットワークを安全に管理するための包括的なソリューション
テクノロジーが進歩するにつれ、「クラウドへの移行」は、多くの企業にとってますます重要になってきており、その大部分は、クラウドコンピューティングのメリットを享受することに関心を持っています。パフォーマンスとセキュリティを維持しながらリソースを活用する必要がある多くの支店や子会社を持つ企業の場合、VPC(Virtual Private Cloud)ピアリングにより、2つ以上のVPC間の接続が可能になります。接続されたVPCは相互に通信し、IaaSプロバイダーのクラウドの内部ネットワークを介してデータを送信することができます。これにより、待ち時間が短縮され、パブリックネットワーク経由でデータを送信するよりも優れたパフォーマンスが得られます。
VPCピアリングとは
仮想プライベートクラウド(VPC)とは、クラウドプロバイダー内で論理的に分離された仮想ネットワークのことです。VPCピアリング接続と呼ばれるネットワーク接続を使用すると、プライベートIPアドレスを使用して、ソースVPCから宛先VPCまたはその逆へ、2つのVPC 間でトラフィックをルーティングすることができます。どちらのVPCのインスタンスも、同じネットワーク内にあるかのように相互に通信することができます。接続されたVPCが異なるリージョンにある場合、インターピアリング接続と呼ばれます。
VPCピアリングのポイント
- 1つのVPC上に複数のVPCピアリング接続を作成することができる。VPC-BとVPC-CがVPC-Aとピアリングしている場合、それらは互いにブリッジすることができず、BとCの間に新しいVPC ピアリングを作成する必要がある。
- アカウント・リージョンをまたいでVPCピアリング接続を作成することができる。
- VPC同士のCIDR(Classless Inter-Domain Routing)が重複しない。
- 各 VPC に対して複数の VPC ピア接続を作成することができるが、推移的なピア接続関係はサポートされない。
- VPCピアリング接続は公共のインターネットにアクセスしないため、エクスプロイトやDDoS攻撃に対する脆弱性が大幅に低くなる。
VPCピアリングの設定
まず、VPCピアリング接続を確立するために、別のVPCとピアリングするリクエストを作成する必要があります。VPCピアリング接続は、別のAWSアカウントのVPCまたは自身のアカウントの別のVPCでリクエストされます。異なるリージョンのVPC間のインターピアリング接続には、リクエスタVPCのリージョンからのリクエストが必要です。
そして、アクセプターVPCの所有者は、そのリクエストを有効にするためにリクエストを受け入れる必要があります。つまり、インターピアリング接続を確立するには、アクセプターVPCのリージョンでリクエストが受け入れられる必要があるということです。
VPC全体にルーティングするVPCピアリング設定
VPCピアリング接続をセットアップして、ルートテーブル内のピアVPCの完全なCIDRブロックへのアクセスを許可できます。
VPCピアリング設定
2つのVPCが互いにピアリング接続
この設定では、同じアカウントにあり、CIDRブロックが重複していないVPC AとVPC Bには、pcx-11112222というVPCピアリング接続があります。
互いのリソースへのアクセスを必要とする2つのVPCがある場合、この設定を使用することができます。例えば、会計記録用にVPC Aを設定し、財務記録用にVPC Bを設定し、これらの各VPCが他のVPCのリソースに制限なくアクセスすることができます。
1つのVPCを2つのVPCとピアリング接続
この設定には、中央VPC(VPC A)、VPC AとVPC B間のVPCピア接続(pcx-12121212)、及びVPC AとVPC C間のVPC ピア接続 (pcx-23232323)があります。 これらの3つのVPCはすべて同じAWSアカウントにありますが、重複するCIDRブロックはありません。他のVPCがアクセスする必要があるサービスリポジトリなどの中央VPCにリソースがある場合、この設定を使用することができます。他のVPCがリソースを共有する必要はありません。中央VPCのリソースへのアクセスのみが必要です。
この設定は追加のVPCを含めるように拡張することができます。IPv4とIPv6の両方のCIDRを使用して、VPC AはVPC Gを介してVPC Bとピアリングしていますが、他のVPCは相互にピアリングしていません。下の図の線はVPCピアリング接続を表しています。
3つのVPCが互いにピアリング接続
この設定では、フルメッシュ型ネットワークで3つのVPCをピアリングしています。VPCは同じAWSアカウントにありますが、それらのCIDRブロックは重複していません。
- VPCピアリング接続pcx-aaaabbbbは、VPC AをVPC Bにリンクする。
- VPCピアリング接続pcx-aaaacccは、VPC AをVPC Cにリンクする。
- VPCピアリング接続pcx-bbbbcccは、VPC BをVPC Cにリンクする。
リソースを相互に自由に共有する必要があるVPCがある場合は、このフルメッシュ設定を使用することができます。ファイルを共有するためのシステムを例として取り上げてみましょう。VPC AとVPC BにIPv4とIPv6の両方のCIDRブロックがありますが、VPC CにIPv6というCIDRブロックがない場合、ルーティングテーブルを次のように更新します。VPC AとVPC Bのリソースは、VPCピアツーピア接続を介してIPv6を使用して通信することができます。しかし、VPC CはIPv6を使用してVPC AまたはVPC Bと通信することができません。
複数VPC間のピアリング接続
特定のルートを使用したVPCピアリング設定
VPCのピアリング接続は、ピアVPC内の特定のインスタンス、特定のCIDRブロック(VPC に複数のCIDRブロックがある場合)、またはCIDRブロックの一部へのアクセスを許可するように設定することができます。この例では、中央のVPCは重複するCIDRブロックを持つ2つ以上のVPCにピアリングされています。
1つのVPC内の2つのサブネットが2つのVPCとピアリング接続
中央のVPC(VPC A)と、VPC AとVPC Bの間、及びVPC AとVPC Cの間にpcx-aaaabbbbというVPC ピアリング接続があります。VPC Aには2つのサブネットがあります。VPCピアによって使用される接続ごとに1つです。
1つのVPC内の2つの異なるCIDRブロックが2つのVPCとピアリング接続
中央のVPC(VPC A)と、VPC AとVPC Bの間、及びVPC AとVPC Cの間にpcx-aaaabbbbというVPCピアリング接続があります。VPC Aには2つのCIDRブロックがあります。VPCピアによって使用される接続ごとに1つです。
1つのVPCが2つのVPCのインスタンスとピアリング接続
中央のVPC(VPC A)と、VPC AとVPC Bの間、及びVPC AとVPC Cの間にpcx-aaaabbbbというVPCピアリング接続があります。VPC Aには2つのCIDRブロックがあります。VPCピアによって使用される接続ごとに1つです。
1つのVPCが2つのVPCのインスタンスとピアリング接続
中央のVPC(VPC A)に単一のサブネットがあり、VPC AとVPC Bの間にpcx-aaaabbbbというVPCピアリング接続があり、VPC AとVPC Cの間にpcx-aaaaccccというVPCピアリング接続があります。VPC BとCにはサブネットが2つありますが、VPC Aとのピアリング接続には1つのみが使用されます。
1つのVPCがロンゲストマッチ(最長一致)を使用して2つのVPCとピアリング接続
中央のVPC(VPC A)に単一のサブネットがあり、VPC AとVPC Bの間にpcx-aaaabbbbというVPCピアリング接続があり、VPC AとVPC Cの間にpcx-aaaaccccというVPCピアリング接続があります。VPC BとVPC Cには一致するCIDRブロックがあります。VPC AとVPC Bの特定のインスタンス間のトラフィックは、VPCピアリング接続pcx-aaaabbbbを介してルーティングする必要があります。VPC BとVPC Cによって共有されるCIDRアドレス範囲宛ての他のすべてのトラフィックは、pcx-aaaacccc経由でVPC Cにルーティングする必要があります。
複数のVPC設定
この例では、中央のVPC(VPC A)が複数のスポーク型VPCとピアリングします。また、フル メッシュ設定で3つのVPC(VPC X、YとZ)を表示することができます。
Amazon VPCエンドポイントでコストとセキュリティを最適化
VPCエンドポイントを使用すると、インターネット接続、NATデバイス、またはAWS Direct Connectを必要とせずに、VPCをサポートされているAWSサービスにプライベートに接続することができます。エンドポイントは有用なVPCコンポーネントであり、水平方向のスケーラビリティを備えた冗長仮想デバイスであります(より大きなワークロードが必要な場合は数を増やすことができます)。これにより、VPC内のコンポーネントは、可用性を危険にさらしたり、ネットワークトラフィックに帯域幅を制限したりすることなく、AWSから他のサービスにリンクすることができます。
エンドポイントのタイプ
- インタフェースエンドポイント
- 1つのENI(プライベートIP)を提供
- ほとんどのAWSサービスをサポート
- ゲートウェイエンドポイント
- ゲートウェイを提供し、ルートテーブルでターゲットとして使用される
- S3とDynamoDBの両方に対応
VPCエンドポイントは、VPC内のリソース(Amazon Elastic Cloud ComputeやEC2 など)とAWSサービス(Amazon Quantum Ledger DatabaseやQLDB など)の間の個別の接続により、データ転送コストを削減するのに役立ちます。インターネット接続、NATデバイス、またはAWS Direct Connect接続が必要ないため、料金はかかりません。VPCエンドポイントが設定されていない場合、VPCとパブリックAWSサービス間の通信はインターネット接続を介して行う必要があります。このネットワークパスにはデータ通信料がかかります。Amazon EC2からインターネットへのデータ転送のコストはトラフィックによって異なります。しかし、最初の01GB/月以降、トラフィックは$0.09/GBで請求されます(AWS US-East 1バージニアの場合)。VPCエンドポイントが設定されている場合、VPCとAWSサービス間の通信は、Amazonネットワークを離れることはありません。ワークロードでVPCとAWSの間で大量のデータを転送する必要がある場合は、VPCエンドポイントを活用してコストを最適化することができます。
大規模なマルチアカウントAWS環境では、ネットワークの設計が非常に多様になります。AWS Transit Gatewayを使用してハブアンドスポークネットワークを構築した企業を考えてみましょう。VPCは複数のAWSアカウント用にプロビジョニングされており、ユーザーの意図に応じてネットワークの分離を促進したり、ネットワーク管理の承認を許可したりすることができます。このような分散アーキテクチャを実装する場合、各VPCでワークロードに適したサービスへのアクセスを提供する共有VPCサービスを構築するのが一般的です。これにはディレクトリサービスまたはVPCエンドポイントが含まれます。各VPCでリソースを構築するのではなく、一元化された場所からリソースを共有すると、管理・運用コストを削減することができます。
まとめ
本記事を通してVPCピアリングの使用方法を理解していただけましたでしょうか。上記の情報を貴社のソフトウェアプロジェクトに役立てて頂ければ幸いです。
CMC Japanは、従来のサービスからデジタルトランスフォーメーション及びコンサルティングまで、幅広いITサービスを提供しております。関心がある企業様は、お気軽にご相談ください。