
AWS入門 初心者が覚えておくべきAWSの基本
企業のITインフラ環境構築の選択肢として、クラウドの利用が進んでいます。このクラウドの利用を検討するにあたり、社内ネットワークとの接続方法や、企業特有の情報セキュリティ規定に合うかどうかなどの懸念とその解決方法を決定する必要があります。そんな悩みを解決するひとつの方法が「Amazon VPC」です。Amazon VPCによりAWS上にプライベートネットワーク空間を構築し、ネットワークの分離や異なるネットワークの接続を含めたさまざまコントロールが可能となります。本稿では、Amazon VPCの特徴や利用シーンについて紹介します。
企業がオンプレミスのIT環境を構築するためには、データセンターなどの設置場所に加え、電源、ラック、サーバー、空調、回線、ストレージ、ロードバランサーなどといった物理的な設備や機器を確保・調達する必要があります。しかも、それぞれの要件を定義・検討・検証したうえで設備や機器を発注して配備・設定をするためには多くの労力や期間を要します。
一方、AWSのようなクラウドサービスであれば、クラウド事業者によってあらかじめ準備された、設備や機器の利用がサービスメニュー化されているので、オンラインの管理画面から各種サービスを組み合わせて選択することによりすぐに利用ができるというメリットがあります。しかしながら、利用中の社内システムやアプリケーションに悪影響を与えないか、情報セキュリティの社内ルールに合うか、プライベート接続ができるのかなど、クラウド導入に対してさまざまな不安や悩みを持つ企業も多いと思います。
AWSはこのような不安を解消するためのサービスを多く提供していますが、Amazon VPCはそれらの基本となるサービスといえるものです。VPCとはVirtual Private Cloudの略で、Amazon VPCはAWS上の仮想のプライベートネットワーク空間の構築をサポートします。Amazon VPCでは任意のIP アドレスレンジが利用可能で、それにより論理的なネットワークの分離やネットワーク同士の接続ができます。さらに、ルートテーブルや各種ゲートウェイなど、ネットワーク環境をコントロールするコンポーネントも提供されています。
Amazon VPC はAWSアカウントに紐づいた専用の仮想ネットワーク環境で、AWSクラウド上のほかのネットワークとは論理的に切り離されています。また、AWS VPC上でEC2インスタンスなどAWSリソースのコンポーネントを動作させることができます。
Amazon VPCでプライベートネットワーク空間を定義したら、その中で利用するEC2インスタンスなどのサブネットを展開(構築)します。展開したEC2インスタンスをインターネットに公開させたい場合には、下図のように、VPC内のサブネットをインターネット接続を設定します。
Amazon VPCにパブリックサブネットを展開し、インターネットへの接続を設定可能
また、Amazon VPCではインターネットに接続しないネットワーク(サブネット)も構築できます。下図のように、プライベートなサブネットを展開し、VPNや専用線などの閉域接続ネットワークにより、オンプレミス環境とのセキュアな接続も可能です。
Amazon VPCにパブリックサブネットを展開し、インターネットへの接続を設定可能
もちろん、下図のように、ひとつのAmazon VPC内に、インターネットと接続するパブリックなサブネット、オンプレミス環境と接続するプライベートなサブネットを展開するなど、要件に応じて、さまざまなコンポーネントを配置・設定したネットワーク環境の構築ができます。
オンプレミス環境、インターネットそれぞれに接続するハイブリッド構成も可能
AWSクラウドは世界中での利用が想定されており、複数のリージョン(地理的領域)に分かれて展開されています。たとえば、日本とシンガポールで事業を展開する企業や組織なら、それぞれの拠点に近いAWSのリソースを利用する場合が多いと思います。この場合にはAmazon VPCはそれぞれのリージョンで展開(構築)されますが、「AWS Direct Connect Gateway」により複数のリージョンをまたいで複数のVPCに接続することも可能です。
AWS Direct Connect Gatewayによって、異なるリージョンにあるVPCにアクセス
※DXGW:Direct Connect Gateway、VIF:ホスト型仮想インターフェイス、VGW:仮想プライベートゲートウェイ
AWSアカウント内に目的の異なる複数のAmazon VPCを配置していく場合、それらを相互に接続したり、インターネットに接続したり、オンプレミス環境に接続したり、役割別に境界を設けたりするなど、組織の目的に応じた設計が必要です。ここでは、複数のAmazon VPC間ネットワーク構築のバリエーションを、目的ごとに紹介します。
AWSのサービスやAWSアカウントでホストされているサービスおよび、AWS Marketplaceパートナーのサービスと、Amazon VPCとをプライベートに接続する機能に「AWS PrivateLink」があります。異なるAmazon VPCからのアプリケーション共用を行いたい場合に有効な手段で、数千のAmazon VPC接続にも対応できます。
AWS PrivateLinkを使う場合は、インターネットゲートウェイやVPN接続、AWS Direct Connect接続を利用する必要がありません。Amazon VPCと接続するほかのサービス間のトラフィックは、VPC外のAmazonのバックボーンネットワーク内で展開されるので、VPC内のネットワークトラフィックへの負荷によるリスクを気にしたり、帯域幅の制約を課したりする必要もないのです。
Amazon VPC内にエンドポイントを作成し、AWSのほかのサービスとプライベートに接続する
「VPC ピアリング接続」は、2つの Amazon VPC間でプライベートに接続できる機能です。いずれのVPCに属するインスタンスともに同じVPCに存在しているかのような通信ができ、組織内のリソース共有に有効です。たとえば、同じ組織のセクションごとにIT部門があり、それぞれが個別のVPCを利用している場合、すべてのVPCをピアリング接続すればお互いのリソースにフルアクセスできるようになります。
なお、AWS では Amazon VPCを構成する既存のインフラストラクチャを使用しVPCピアリングを提供しています。一方のVPCにて、相手側のVPCへのピアリング接続のリクエストを作成し、これを相手側のVPCが承認することで接続が確立されます。このように、別のゲートウェイやVPN、物理的なハードウェアを利用せずVPC間で直接ピアリング接続を確立できるため、通信の単一障害点や帯域幅のボトルネックはありません。
VPCリアピング接続は、アカウントやリージョンの異なるAmazon VPC間でも作成可能
「AWS Transit Gateway」は、複数のAmazon VPCとオンプレミスネットワークを単一のゲートウェイに接続できるようにするサービスです。連携すべきクラウドやオンプレミスのリソースが増大した場合に管理を簡略化できます。
オンプレミス環境との接続にはVPNとAmazon VPCを関連づける必要があります。VPC同士をピアリングすることもあるでしょう。しかし、組織内で運用するVPCの数が数百、数千にもなると、構築や管理が困難になります。AWS Transit Gatewayなら、一元管理された単一のゲートウェイに接続を集約することができるため、速やかにネットワークサイズを拡張できるようになります。ネットワークの共用に有効な手段で、数千のAmazon VPC接続にも対応できるスケーラビリティがあります。
AWS Transit Gatewayをハブにして、Amazon VPCやオンプレミス環境を接続してネットワークを共用
Amazon EC2やAmazon VPCは、デフォルトではIPv4アドレスプロトコルを使用します。しかしながら、管理するVPCが増えてくると、IPアドレス資源が枯渇したり、IPアドレスの割り当てやピアリングの管理が煩雑になったり、またVPC間のトラフィックコストも増大していく可能性があります。
これらの問題を解消するアプローチのひとつに「VPCシェアリング」があります。組織内の異なる複数のAWSアカウント間でVPCをシェアすることによって、使用するVPC数を削減するというやり方です。VPCの数を減らす一方で一つのVPCの役割を大きくして統合していくことで、IPv4アドレスの割り当てを簡略化したり、ピアリングを減らしたりしてよりシンプルな構成を目指します。
VPCを統合・削減しながら、複数のアカウントから利用できるようにする
ただし、VPCシェアリングはすべての組織に向いているやり方ではありません。たとえば、個々にVPCを分離したほうがコンプライアンスを守れる場合や、個人や細かなチーム単位で環境構築・管理をする組織には向いていないと言えます。
クラウドサービスであるAWSは、物理的な施設・機器の導入が必要なオンプレミスに比べて容易にIT環境の構築ができます。基本的なサービスと言えるAmazon VPCを利用することで、組織内の情報セキュリティルールや基幹システムとの連携、アプリケーションやデータリソースの共有、インターネットへの接続など、さまざまな要件に対応できるプライベートなネットワークを手軽に構築できます。
実際には、VPCは、組織内部署の関係性や将来の拡大も考慮して設計していく必要があります。AWSには、設計・構築・運用を手助けするツールが各種ありますので、目的にあわせて活用していきましょう。