連載
» 2022年06月10日 05時00分 公開

「Amazon Virtual Private Cloud」(VPC)間の接続、IaaS(VPC)〜PaaS/SaaS間の接続はどうすべきかAWSで学ぶクラウド時代のネットワーク基礎知識(4)

これまであまり物理的なネットワークに触れてこなかったエンジニアを対象に、AWSを用いてネットワークの基礎知識を解説する連載。今回は、「Amazon Virtual Private Cloud」(VPC)間の接続、IaaS(VPC)〜PaaS/SaaS間の接続について解説する。

[東竜一,ネットワンシステムズ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 これまであまり物理的なネットワークに触れられてこなかったSEやサーバ管理者、情シスなどの方を対象にネットワークの基本を「Amazon Web Services」(AWS)を用いて解説する本連載「AWSで学ぶクラウド時代のネットワーク基礎知識」。

 前回まではネットワークの基本技術の説明とAWSの環境を用いた動作紹介という形でしたが、第4回の本稿は、AWSのネットワーク間を接続する方法、サービスを紹介します。

 オンプレミス環境でネットワーク間を接続する場合、ルーターやスイッチなどのネットワーク機器を用いて接続する必要が生じますが、クラウドのネットワークは仮想的な環境なので、容易に接続できます。

 なお、本稿では次の2つのネットワーク接続を対象とします。

  1. 「Amazon Virtual Private Cloud」(VPC)間の接続
  2. IaaS(VPC)〜PaaS/SaaS間の接続

VPC間の接続

 まずはVPC間の接続についてです。異なるVPC上の端末間で通信する方法として、大きく分けて下記表の4つが存在します。以降でそれぞれの接続方式について説明しますが、2〜3個のVPCを接続する場合は「VPCピアリング」での接続が容易ですが、多数のVPCを接続する場合は「Transit Gateway」がお薦めです。

項目\方式 インターネット IPsec VPN VPCピアリング Transit Gateway
接続容易性 VPC2点間
複数VPC間
(Transit VPC)

(多数には不向き)
通信に利用するIPアドレス グローバル プライベート プライベート プライベート
通信速度
リージョン間接続
(考慮不要)

(考慮不要)

インターネット

 1つ目のインターネットでの接続は、VPCのインターネット接続機能を利用し、互いにインターネット上の端末として通信させるものです。実装は容易ですが、注意点としては、インターネットを経由させるので、通信する端末にElastic IPアドレスを割り当てるなどしてグローバルIPアドレスで通信させる必要があります。プライベートIPアドレスを用いた通信はできません。

 なお、「VPC間の経路はインターネット」と記載していますが、VPCのFAQページにある下記の記載から、上記の通信はAWSのネットワーク内に閉じた通信となり、AWSのネットワーク外を通ることはありません。また以降に記載の通信も全てAWSのネットワーク内に閉じた通信となります。

Q:2つのインスタンスがパブリックIPアドレスを使用して通信する場合、またはインスタンスがパブリックなAWSのサービスエンドポイントと通信する場合、トラフィックはインターネットを経由しますか?

いいえ。パブリックIPアドレスを使用する場合、AWSでホストされているインスタンスとサービス間の全ての通信はAWSのプライベートネットワークを使用します。AWSネットワークから発信され、AWSネットワーク上の送信先を持つパケットは、AWS中国リージョンとの間のトラフィックを除いて、AWSグローバルネットワークにとどまります。

IPsec VPN

 2つ目のIPsec VPNは連載第3回で紹介した機能を利用したVPC間の接続です。第3回ではオンプレミス環境とVPCを「IPsec VPN」という暗号化/カプセル化技術でプライベートに接続しましたが、本機能によってVPC間を接続します。VPN接続ができればよく、特別な対応は不要です。リージョン内だけでなく異なるリージョン間の接続もできます。

 本方式は第3回でも記載したように暗号化のためにスループットが出にくいというデメリットがあります。またIPsec VPNは、2つのネットワーク間の接続となるので複数のVPCを接続する場合は通信させたいVPC間ごとにVPNの設定が必要となります。仮に全VPC間で通信が必要な場合はフルメッシュに接続する必要があり、VPCの数に合わせて指数的にIPsec VPNの設定が必要となり、現実的ではありません。

 複数のVPC間の接続が難しいことへの解決策として、あるVPC上にIPsec VPNをサポートする仮想ルーターを設置し、このVPCをハブとして他のVPCと接続するハブ&スポーク構成にし、仮想ルーターのルーティング機能で各スポークVPC間を通信させる「Transit VPC」があります。ただし、このような複数VPC間の接続は、現在では後述のTransit Gatewayを利用することが推奨されます。

VPCピアリング

 3つ目のVPCピアリングはVPC間に仮想的な直接接続のパスを作成する機能です。本機能によって2つのVPC間を、帯域幅のボトルネックなしでプライベートに接続できます。冗長性について利用者が考慮する必要はありません。リージョン間ピアリング接続に対応しているリージョン限定とはなりますが、異なるリージョンのVPC間でピアリングすることも可能です。

 本方式のデメリットは、あくまでも2つのVPC間を接続する機能なので多数のVPCの接続には不向きとなることです。なお、IPsec VPN接続の項で紹介したTransit VPC構成を取ることはできず、各VPC間で個々にピアリング接続をする必要があります。

Transit Gateway

 4つ目のTransit Gatewayは「IPsec VPN接続」の項で記載した、Transit VPCの機能をAWSが公式に提供したような機能です。数千個レベルのVPC環境でも接続できます。ゲートウェイとしてルーティング機能を細かく制御でき、通信の宛先ごとに転送先のVPCを制御できるようになっています。本ゲートウェイはAWSのマネージドサービスの内部で冗長化されており、利用者が冗長性を考慮する必要はありません。

 注意事項として、あるTransit Gatewayをリージョンが異なるVPCと接続する場合は、リージョンごとにTransit Gatewayを作成し、同一リージョン内のVPCと接続した上で、Transit Gateway間をピアリングすることでリージョン間のVPC通信を実現します。

 なお、Transit Gatewayに対応しているリージョンでもTransit Gatewayのリージョン間ピアリングに対応しているとは限りません。もし対応していないリージョンでVPCをリージョン間で接続したい場合は、同一リージョンのVPC間はTransit Gatewayで接続しながら、別のリージョンの個々のVPCとリージョン間VPCピアリングで接続することになります。

コラム AWS PrivateLink

 なお、上記の4つの方式以外に「AWS PrivateLink」という機能があります。

 これを使うと、あるVPCから別のVPCにある特定サービスのみに、プライベートにアクセスできます。その機能上、ネットワークのセグメントレベルで通信が許容されるわけではないので、本稿ではAWSネットワーク間の接続機能の対象外としています。


IaaS(VPC)〜PaaS/SaaS間の接続

 AWSのIaaS(VPC)環境とAWSのPaaS/SaaSサービスとの接続方法について説明します。

 「Amazon S3」(Simple Storage Service)をはじめとする、AWSのPaaSやSaaSはインターネット向けサービスとして展開されており、インターネット経由でのグローバルアクセスが基本的な通信方法です。そのため、VPC内からでもインターネット宛てに通信させることが基本のアクセス方法となります。ただし前述の通り、AWSサービス間の通信なのでインターネットは経由せずAWSのグローバルネットワーク内で完結する通信です。

 また、対応しているサービスが限定される手法となりますが、VPC内にゲートウェイエンドポイントを立てることで、インターネットゲートウェイを利用せずプライベートIPでアクセスすることもできます。現状対応しているサービスはS3および「Amazon DynamoDB」の2つです。

AWSネットワーク間接続の設定紹介

 ここまでAWSのネットワーク間の接続方法を紹介しました。ここからは紹介した機能の一部ですが、通信の設定を簡単に紹介します。具体的に紹介する機能は次の2つです。

  • VPCピアリング
  • Transit Gateway

VPCピアリング

 VPCピアリングの構成は下図のようになります。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。