VPC、インターネットGW、NAT GW……それぞれどう使うもの?
はい、ではいきなりですが、AWSのネットワークの全体像だそうです。
AWSネットワーク全体像
いろいろ入ってますね。もちろん、毎回これらのサービスすべてを使うとは限りませんが、結構な頻度で出てくるものばかり。順を追って、解説していきましょう。
Amazon VPC
AWS上に構築するプライベートなネットワーク空間のことです。要するに仮想的な自社専用領域です。AWSアカウント内には1つ以上のVPCを構成して使います。1つ“以上”なので複数作成することができ、それぞれ細かくアクセス先などを設定可能。もちろん、オンプレミス環境から接続させることもOKで、インターネット、インターネットVPN、専用線(AWS Direct Connect)のどれとも接続できます。
アベイラビリティゾーン
リージョンとセットで語られることの多いアベイラビリティゾーン(AZ)がここで出てきます。AZはリージョンの中にあるデータセンター群を指し、「1つのリージョンは2つ以上のAZで構成され、それぞれ災害などの影響を受けにくい地理的に離れた場所にある」とされています。 そして、1つのVPCのなかに複数のAZがある状態になり、これを活用することで冗長構成が可能になります。リージョン内のAZは2つとは限らないのですが、通常2つのAZを利用するケースが多いため、構成図にも2つで記載されています。
サブネット
AWSの構成では必ず出てくる「サブネット」ですが、これは基本的には一般的なネットワーク用語としての「サブネット」と同じ理解で問題ないように思っています。要するに、ネットワークを分割して作った小さなネットワークのこと。AWSの場合、VPC内にサブネットを構成して利用するのが基本で、サブネットごとに外部(インターネット)やオンプレミス環境の接続要件を設定できます。サブネットはAZごとに構成する必要があることと、EC2インスタンスはサブネット内に配置することは覚えておきましょう。
ルートテーブル
サブネットごとに「どこに接続できるか」を設定するもの。これをきちんと設定することで、システムからの通信経路を制御し、安全性を担保できます。
セキュリティグループ
セキュリティグループはインスタンス単位で設定できるファイアウォールです。つまり、どのインスタンスがどこと通信できるかを制御できるということ。
ルートテーブルと機能がかぶる気がしますが、そこはもちろん違いがあります。VPC内にサブネットを複数構成した場合、ルートテーブルの設定ではサブネット間の通信は制御できず、サブネット同士の通信はすべて許可されてしまいます。でもサブネット間でも「こことここは通信NG」と制限したいケースもあるはず。この制御を実現するのがセキュリティグループ。サブネット単位ではなく、インスタンス単位に通信の許可/禁止を設定できるため、より細かな通信制御が可能になります。
インターネットGateway
VPC内からインターネットに接続するためのゲートウェイです。これを使うことで、VPC内のシステムがグローバルIPを使えるようになります。
Virtual Private Gateway
インターネットGatewayがインターネットに接続するのに対し、こちらはオンプレミス環境に接続するためのゲートウェイです。自社拠点やデータセンターとVPCを接続するときはこちらを使うのだそうです。
NAT Gateway
VPC内に構成した「プライベートサブネット」からインターネットに接続するためのゲートウェイ。プライベートサブネット、つまり、インターネットに接続できないサブネットの中に配置したシステムが、これを経由することでインターネットに安全に出れるようになります。
AWS Direct Connect
いわゆる「AWSへの専用線的なサービス」ですね。これについては過去のコラムで詳しく解説しているので、そちらをどうぞ!
VPC / Interface エンドポイント
私は今回のセッションではじめて聞いたものなのですが、インターネット接続できないサブネットから各種AWSサービスを使うためのアクセスポイントだそうです。ここでいう「AWSサービス」とは、Amazon S3などのVPCの外で使うサービスのこと。Amazon S3などを利用する場合、以前はEC2インスタンスからもインターネット経由で接続する必要がありましたが、セキュリティの都合上インターネットに接続できないインスタンスも多くあります。そういうときに、これを使えばOK、ということですね。
VPCを複数のAWSアカウントで共有できる「Shared VPC」
AWSのネットワーク基本用語を改めて学びまして、これでネットワーク設計できるわけではないですが、構成図が出てきたときに、ほうほうなるほど、そういうことなのね、と思えるくらいにはなった気がします。ここからはせっかくなので、AWS Summitのセッションで取り上げられていた、VPC関連の新機能から1つ紹介したいと思います。
それが、異なるアカウントで1つのVPCを共有できる「Shared VPC」。これまではアカウントをまたがってVPC同士を通信させたい場合、VPCピアリングを利用して1対1でつなぐ方法がありましたが、VPCの数が増えれば増えるほど接続数がどんどん増えて煩雑になることが課題でした。Shared VPCを利用すれば、どちらかのアカウントでVPCを共有するだけでOK。しかもピアリングでは接続したVPC内がすべてアクセス可能だったのも、サブネット単位で制御可能に。
たとえば社内で開発用、本番用など複数のアカウントを使い分け、共通して利用するものを共通アカウントに配置する……といった構成が可能になります。これは結構便利そう!ただし、一部のサービスは対応していないものがあること、また規模が大きくなるとShared VPCがボトルネックになる可能性があるということなので、そのあたりは注意が必要です。
- AWS接続ネットワークサービス
-
AWSまでつなぐネットワークを ワンストップで提供
- マネージドクラウド with AWS
-
はじめてのAWSから 一歩進んだ活用までトータルサポート
まとめ
ネットワーク関連についても、ユーザのニーズや課題をうけてどんどん進化していくAWS。いろいろできすぎて、なにをどう活用すればいいのか分からなくなりそうですが、いきなり複雑なネットワークを構成するのではなく、スモールスタートして拡張、というずーーっと言われている方法がベストなんだろうなと思います。とはいえ、それでも「あとから拡張しやすい設定やお勧めの構成」というものはあります。マネージドクラウド with AWSでは、ベストプラクティスに沿った初期設定も代行。もちろんお客さまごとの課題や状況あった構成のご提案もしていますので、まずはお問い合わせください!無料のなんでも相談室もお申込みをお待ちしております。
以上、シイノキでした!
お役立ち資料をダウンロード
「AWS Direct Connect 入門」のダウンロードをご希望のお客様は、
以下必要事項をご入力ください。