AWSでは、仮想サーバーやデータベースの仕組みなどを提供しています。しかしこれらのリソースは、インターネットや企業のネットワークと接続してこそ、本来の役目を発揮できるようになります。Amazon Virtual Private Cloud(Amazon VPC、以下VPC)は、仮想サーバーやデータベースなどを任意のネットワークに接続するための仮想ネットワークサービスです。その役割や活用方法を紹介しましょう。
Amazon VPCとは?概要とメリットを解説
VPCはAWS上に仮想のネットワークを構築できる機能です。またこのネットワークに、任意のIPアドレスを設定することも可能ですので、パブリックやプライベートとしてネットワークを分離したり、仮想サーバーを外部のインターネットに接続して、Webサーバーとして機能させたりできます。加えて、ネットワーク環境を活用するための、ルーターやゲートウェイといったネットワーク機器もAmazon VPCの中で仮想化し利用できます。なお、VPCは、1つのリージョンの中に作成し、複数のアベイラビリティゾーン(AZ)に展開します。
Amazon VPCを利用するメリット
カスタマイズして適切なネットワークが構築できる
IPアドレスの範囲やサブネットの設定、ルーティングなどアクセス制御が可能です。またIPv4とIPv6が利用できてリソースやアプリケーションごとに適したアクセスを手軽に実現できます。
セキュリティを高めるためのアクセス制御も簡単
セキュリティグループやACLよるリソースへのアクセス制御、プライベートサブネットの設定など用途にあわせた細かいセキュリティ設定が可能です。
ネットワークの管理やリソースの監視が簡単
リソース・アプリケーションの監視サービスであるAmazon CloudWatchを利用したNATゲートウェイの監視など、AWSの各種サービスと連携することでVPC内のトラフィックやアクセスの監視ができます。
Amazon VPCを構成する要素
一般的なIPネットワークを構築するには、サブネット、ルートテーブル、IPの指定、固定IPといった機能と、ルーター、ゲートウェイといった機器が必要です。Amazon VPCには、これらに対応するコンポーネントが用意されていて、コンソール上で組み合わせることで目的のネットワーク環境を構築することができます。ここでは各コンポーネントを紹介します。
Subnet(サブネット)
IPネットワークを構築するにはIPアドレスが必要ですが、サブネットはVPC内にIPアドレスの範囲を設定できる機能です。1つのVPC内に複数のサブネットを設定できます。仮想サーバーなどのコンピューティングリソースは、このサブネットの中に設置します。インターネットに接続が必要なリソースがある場合はパブリックサブネットを、その必要がない場合はプライベートサブネットを使います。
IGW(インターネットゲートウェイ)
サブネット内にある仮想サーバーなどのリソースを、インターネットと通信できるようにする機能です。VPCを設定すると、デフォルトで含まれていて、VPCにアタッチして利用します。
Route Table(ルートテーブル)
ルートテーブルは、ネットワークトラフィックの経路を判断する際に使用される、ルートと呼ばれる一連のルールで、例えばインターネットを介してVPCに入ってくるデータが、どのような経路で仮想サーバーに到達するかの経路を示します。VPC内部にルートテーブルを用意し、サブネットごとに使うルートテーブルを指定します。
Elastic IP(静的IPアドレス)
Amazon EC2にて作成した仮想サーバーをインターネットと接続するには、インターネットからアクセスできるパブリックなIPアドレスが必要です。IPアドレスには、システムを再起動するたびに変更されるものと、永続的に同じIPアドレスを使える、静的IPアドレスがあります。ファイアウォールやアクセス制限のためにIPアドレスを固定したい場合は、静的IPアドレスを使います。
IPアドレスには、IPv4とIPv6という2種がありますが、現在はIPv4のみに対応しています。
NATゲートウェイ
VPC内のサブネットで、インターネットと接続しないリソースは、通常プライベートサブネット内に設定します。しかし時にはソフトウェアの更新などで一時的にVPC内からインターネットに送信したい場合があります。その際には、プライベートサブネットからインターネットに接続できるNATゲートウェイを使うと便利です。NATゲートウェイでは、VPCからインターネットに送信できますが、逆はできないので安心です。NATゲートウェイは、プライベートIPアドレスをパブリックIPアドレスに変換できる機能を有します。
AWSの運用や監視にお困りな方必見!
AWS運用代行サービスをわかりやすく解説!
こんなことを感じていませんか?
・AWS運用のために社内のリソースが足りずに困っている
・障害発生時の対応に不安がある
・運用だけでなく構成のアドバイスもあると嬉しい
Amazon VPCのセキュリティ・監視
AWSではセキュリティやコンプライアンスに関して、AWSとユーザーが責任を負う部分を明確にして、両者で責任を負う「責任共有モデル」という考え方を導入しています。Amazon VPCに関しても同様で、AWS側で対応するセキュリティについては、Amazon EC2インスタンスやサブネットへのファイアウォール機能や、NATゲートウェイなどVPCのコンポーネントの監視や問題発生時のレポート機能などがあります。
責任共有モデルとは
AWSにおいて構築されるシステムのセキュリティとコンプライアンスについては、AWSとユーザーの両者がその責任を負うという考え方です。AWSは、AWSのクラウドサービスを実行する、ハードウェア、ソフトウェア、ネットワーキングといったインフラストラクチャの保護について責任を負います。ユーザーの責任は、選択したAWSサービスによって異なります。Amazon EC2を選択した場合は、ゲストOS、インスタンスにインストールしたソフトウェア、ファイアウォールの構成などがユーザーの責任になります。
出典:AWSの責任共有モデル
セキュリティグループ
セキュリティグループとは、VPC内でのAmazon EC2インスタンスに入出力するデータのトラフィックを管理することができる機能です。セキュリティグループにおいて、入力と出力の管理ルールは個別に設定できます。ルールは許可のみサポートされています。インスタンスには最大5つのセキュリティグループを割り当てられ、インスタンスごとに異なるものを割り当てることもできます。インスタンス起動時にセキュリティグループを設定しないと、VPCのデフォルトのセキュリティグループが自動的に割り当てられます。
ネットワークアクセスコントロールリスト(ネットワークACL)
ネットワークACLとはセキュリティに関連した機能で、VPC内のサブネットに入出力するデータのトラフィックを管理することができる機能(オプションレイヤー)です。ネットワークACLにおいて、入力と出力の管理ルールは個別に設定できます。ルールは許可と拒否がサポートされています。明示的にネットワークACLを設定しないと、VPCのデフォルトのネットワークACLが関連づけられます。
VPCフローログ
VPCフローログとは、VPCのデータトラフィックを監視する機能です。VPC内のネットワークインターフェイスとの間のIP トラフィックに関する情報をキャプチャできます。VPCフローログを取るには、ログを作成したいリソース、キャプチャするトラフィックの種類(許可、拒否、もしくはすべてのトラフィック)、フローログデータを発行する送信先(Amazon CloudWatch LogsまたはAmazon S3)を設定します。VPCフローログを参照すると、セキュリティグループのルールの制限が厳しすぎないか、適切かなどの判断が容易になります。
Amazon VPC トラフィックミラーリング
Amazon VPC トラフィックミラーリングとは、Amazon VPC内のAmazon EC2インスタンスからのネットワークトラフィックを複製し、そのトラフィックをセキュリティおよび監視アプライアンスに転送できる機能です。これによってコンテンツ検査、脅威の監視、トラブルシューティングといった作業が容易になります。
Amazon CloudWatch によるNATゲートウェイのモニタリング
Amazon CloudWatchを利用すると、NATゲートウェイを監視することができ、収集した情報からリアルタイムに近い読み取り可能なメトリクスを得ることができます。メトリクスは「NATゲートウェイ経由の同時アクティブTCP接続の合計数(0なら接続がないと判断可能)」「NATゲートウェイによって受信された送信先からのバイト数(データ損失の可能性を判断可能)」など14種あります。
Amazon VPC IP Address Manager
Amazon VPC IP Address Managerは、大規模なネットワークでも、簡単にIPアドレスの整理、割り当て、モニタリング、監査を行える機能です。単一の運用ダッシュボードから、組織のアカウント、Amazon VPC、AWSリージョンにまたがってIPアドレスの割り当てを管理できます。従来スプレッドシートで行っていたIP管理の負荷を大幅に低減できます。
Amazon VPC環境の作成・構築イメージ
Amazon VPCを構築してAmazon EC2インスタンスを設置し外部のインターネットと接続するといった流れを、VPC環境のイメージ図を添えて紹介します。Amazon EC2インスタンスを設置した場合、Amazon EC2インスタンス上にデータベースを構築した場合、NATゲートウェイを使った場合などのAmazon VPC環境を紹介します。
Amazon EC2インスタンスの設置
Amazon EC2インスタンスを設置する場合は、リージョンを指定> その中でVPCを作成> (サブネットを作成する)AZを指定> パブリックサブネットの設定> インターネットゲートウェイをVPCにアタッチする> ルートテーブルを作成する> ECインスタンスを設置、という流れで実行します。
イメージ図は、以下のようになります。
VPCでサブネットを作成する場合はCIDR(Classless Inter-Domain Routing)で表記します。VPC内では複数のサブネットが作成でき、複数のAZを利用して冗長化することが推奨されています。指定するIPアドレスの範囲は、プレイベートIPアドレスとなるためインターネット通信では利用されず、IPアドレスの範囲も設定後には変更できません。そのため、将来的なリソースの拡張が見込まれる場合には、あらかじめ十分な大きさのCIDRブロックを確保するのが良いでしょう。また、他VPCのリソースとの接続を考慮して、IPアドレスの範囲が被らないようにしておく必要があります。
CIDRブロックとは別にIPアドレスが不足する場合には、セカンダリのCIDRブロックを追加することができます。
データベースの設置
Amazon EC2インスタンスで利用するデータベースを設置します。先に行った手順に「プライベートサブネットの設置> データベースの設置」という手順が加わります。
イメージ図は、以下のようになります。
プライベートサブネット内のデータベースはパブリックサブネット内のEC2インスタンスとデータのやり取りは行いますが、インターネットとは接続されていません。
NATゲートウェイを利用
プライベートサブネット内に設置されたAmazon EC2上のデータベースは、本来インターネットと接続されていませんが、何らかの理由や任意のタイミングでインターネットとデータをやり取りしたい場合、NATゲートウェイを利用します。その場合は「NATゲートウェイをパブリックサブネット内に設置> NATゲートウェイとインターネットゲートウェイを接続」という手順を踏みます。
イメージ図は、以下のようになります。
オンプレミス環境と接続
Amazon VPCは、インターネット以外にも、オンプレミスなどの企業ネットワークと接続することもできます。一般的なものは、Amazon VPCのプライベートサブネットと企業が保持するデータセンターとを、VPN(Virtual Private Network)という仮想的なプライベートネットワークで接続する方法です。
イメージ図は、以下のようになります。
異なるリージョンのVPCにアクセス
AWSは世界中で利用できるので、国が異なる複数のリージョンに分かれて利用される場合もあります。基本的に、Amazon VPCはそれぞれのリージョン内で構築しますが、ある企業が、異なる国や地域でビジネスをしている場合、各リージョンに展開したVPCを繋げたいニーズがある場合があります。そんなときはAWS Direct Connect Gatewayを使えば、AリージョンのVPCとBリージョンのAmazon VPCをまたいで複数のAmazon VPCを接続することができます。
イメージ図は以下のようになります。
Amazon VPCの料金
Amazon VPCを作成し使用することは無料です。ただし、NATゲートウェイなど、オプションのVPC機能を利用した場合、量ベースで課金されます。東京リージョンでの料金を紹介しましょう。
NATゲートウェイ
NATゲートウェイを利用した場合、データトラフィックが送信か受信かにかかわらず、データ量で課金されます。処理データ1GBあたり0.062USDです。また接続していた時間に関しても課金されます。1時間あたりのNATゲートウェイ利用料金は0.062USDです。1時間未満は1時間分になります。
トラフィックミラーリング
ネットワークの分析に使えるトラフィックミラーリングも有料です。トラフィックミラーリングが有効になっているEC2インスタンスのElastic Network Interfaceに対して1時間ごとに、0.018USDが課金されます。1時間未満は1時間分になります。
IP Address Manager
IP Address Manager(IPAM)の利用も有料です。IPAMで管理するアクティブなIPアドレスごとに、1時間単位で、0.00027USD課金されます。例えば、1000個のIPアドレスを1ヶ月利用すると、1000 x 30日 x 25時間 x 0.00027USD=194.4USDになります。
AWSの導入・運用はご相談ください
Amazon VPCは、AWSが提供する各種のサービスをネットワークするために必須の機能です。Amazon EC2などのサービス同様、しっかり理解しておくことが重要です。概要に関しては、本稿のイメージ図などを見れば概略は理解いただけるでしょう。基本的にIPネットワークを理解していれば、個々の機能を把握できるはずです。
ただ実際にネットワークを構築し、詳細な設定を行い、トラフィックミラーリングといったコンプライアンスやセキュリティへの配慮などを考えると、AWS専門ベンダーによる支援を活用するのは効率の良い手段です。
NHNテコラスは、AWS最高ランクのプレミアティア・サービス・パートナーで、クラウドプロジェクトの実績が豊富で、お客様のAWS活用を支援するマネージドサービスを取り揃えています。AWSの構築に不安がある、詳細な設定がわからないといった場合は、ぜひNHNテコラスにご相談ください。
AWSの導入、運用、コスト削減でお困りですか?
・自社に合わせた最適な代行サービスが選択できる
・豊富な運用実績
・AWSの認定資格をもったエンジニアが対応