支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • AWSでVPC同士での接続方法 AW

VPCとは

VPC(Virtual Private Cloud)とはAWS上に仮想的なネットワークを作成するための空間です。設定できるアドレスはクラスA(10.0.0.0~10.255.255.255)、クラスB(172.16.0.0~172.31.255.255)、クラスC(192.168.0.0~192.168.255.255)のプライベートアドレスの中から使用できます。EC2がインターネットに接続できるのは、EC2インスタンスを作成する際に自動的にVPCとInternetGateway(IGW)とパブリックアドレスとプライベートアドレスが作成されるからです。VPCを作成するメリットの一つにDMZの考え方で、ネットワークに接続していると攻撃されたり、乗っ取られる危険性があるのでVPCを2つ作成し一つはDMZ(ネットワークに接続される空間、いわゆる踏み台)もう一つは内部ネットワーク(ネットワークからの直接的な接続を受け付けない空間)と分けることによってセキュリティを高めることができます。(DMZ構築にはファイヤウォール的な役割のセキュリティシステムが必要です)VPCの利用にはリージョンやアベイラビリティゾーン(AZ)、サブネットについても理解する必要があります。

リージョンとは

AWSがサービスを提供する国や地域ですが、AZ(データセンターが複数集合したもの)の集合体でもあります。

アベイラビリティゾーン(AZ)とは

データセンターが複数集合したもので構成され、障害が発生した場合のバックアップのために各リージョンには2つ以上のAZが存在します。(東京リージョンには3つ)

サブネットとは

リージョンの中にVPCを作成しプライベートアドレス内の最大第2オクテッド(/16)までを指定して空間を作ることができます。(例:クラスAの[10.0].0.0の[ ]を指定すれば使用できるアドレス空間は10.0.0.4~10.0.255.254までのアドレスを使用することができます。ネットワーク/ブロードキャストアドレスの他に10.0.0.1~10.0.0.3まではAWS側で使用するアドレスなので使えません)サブネットはVPCで指定した範囲に加え、最大/28まで指定することにより、アドレス空間をさらに分割します。それによりサブネット毎に何かしらのGatewayを設置することができます。例えば企業で部署ごとにネットワークを作成し、通信を制限、制御することが可能になります。サブネットにはインターネットに接続するパブリックサブネットとインターネットと接続できない、または特定のサブネットと通信することを目的としたプライベートサブネットがあります。

VPCの通信方法

インターネットとの接続

InternetGatewayとNAT-GatewayはどちらもNAT機能を利用して、プライベートアドレスをパブリックアドレスに変換してインターネットとのアクセスを可能にしますが、両者には違いがあります。

・InternetGateway
プライベートIPアドレスとパブリックIPアドレスを1対1で変換するスタティックNAT方式でインターネットとのアクセスをします。VPCにInternetGatewayをアタッチしすることで、パブリックサブネット内のEC2サーバーのパブリックIPアドレスからインターネットへの相互アクセスが可能になります。

・NAT-Gateway
プライベートIPアドレスとパブリックIPアドレスを多対1で変換するNAPT方式でインターネットとアクセスします。(複数のプライベートIPアドレスをポート番号と関連づけて一つのパブリックIPアドレスに変換することで同じパブリックIPアドレスでも、どのプライベートIPアドレスか識別できる仕組み) パブリックサブネット側にNAT-Gatewayを設置し、NATテーブルには、プライベートサブネットからのプライベートIPアドレスがNAT-Gatewayからのアクセスを受けてエントリが動的に生成されて、インターネットとのアクセスを可能にします。NATテーブルにはプライベートIPアドレスのエントリのみ生成するので、インターネット側からプライベートサブネットへのアクセスはできないので、セキュリティは高いです。

VPC同士の接続

・VPCピアリング
VPC同士を相互にプライベートな接続を可能にします。接続は1つのVPCに対して複数接続も可能です。自分のアカウントの複数のVPC同士や別アカウントのVPC、別リージョンのVPCとも接続できます。パブリックインターネットを通過することがないので、エクスプロイトやDDoS攻撃などの脅威を軽減できます。ただし接続させるVPC同士で設定が必要だったり、別アカウントの接続には相手側の承認を得る必要があったり、別リージョンとの接続にはIpv6アドレスが使えないという制約もあります。

・TransitGateway(TGW)
VPCピアリングは接続数がTransitGatewayに比べ上限が低く、VPCが追加される毎に接続するVPC同士で設定が必要ですが、TransitGatewayではTransitGateway自身がハブになり、接続の簡略化をすることができます。 VPC同士を接続するためにはVPCピアリングかTransitGatewayのどちらかですが、ピアリングだと個別に設定が必要なため、TransitGatewayでVPC同士を介して複数接続したほうが設定の手間も省けます。ただしTransitGatewayへのルートテーブルを接続するVPCで設定する必要があります。

まとめ

今回紹介した記事はEC2やS3、RDSを作成する前に理解することでAWSを実務で利用するための第一歩に近づけるのではないでしょうか。AWS関連の記事を調べても、正直理解することが難しくAWS関連の書籍を見ても、私が求めている内容は掲載されていなかったり、詳細が載っていなかったりで少し苦労しました。(いろんな参考文献を見て徐々に理解した感じです)実際にVPCを作成して、VPCピアリングやTransitGatewayで通信する環境を構築する前の予備知識として紹介しました。この記事を見てあなたの求めている知識についての理解が少しでも深まれば幸いです。