AWSネットワーク入門:基本から学ぶ
AWS(Amazon Web Services)においてシステムを構築する際、考慮すべき重要な点として、ネットワーク(NW)構成があげられます。ネットワークはシステム構築後に柔軟に変更することができないため、事前にしっかりと設計する必要があります。本記事では、AWSのネットワークを構成する要素について解説します。
目次
AWSネットワークを構築する物理的な拠点
通常のオンプレミス環境と同様に、AWSのようなパブリッククラウドのサービスにおいても、物理的なネットワーク機器がデータセンター内に所狭しと並んでいます。
パブリッククラウドサービスを利用するときは通常機器の状態など、物理的環境を意識することはないですが、ネットワークにおいては下記「リージョン」「アベイラビリティゾーン」について考慮をする必要があります。
リージョンとは?
AWSは世界中にデータセンターを配置してサービスを展開していますが、世界を複数の『リージョン』と呼ばれる単位に分割しています。例えば、日本においては『東京リージョン』と、『大阪リージョン』でサービスが展開されています。リージョン間は電力系統が完全に分離されており、あるリージョンで停電などの障害が発生しても他のリージョンでは影響が全くないようになっています。
アベイラビリティゾーン(AZ)とは?
AWSでは、各リージョンにつき、最低2つ以上のデータセンターの集合体が存在しています。これを『アベイラビリティゾーン:AZ』と呼びます。AZ同士もそれぞれ電力系統が分離されているので、ひとつのAZに物理的な障害が発生しても、他のAZの影響が極小化される構成となっています。
AZを利用することで、データセンターを複数利用した冗長構成(マルチAZ構成)も簡単に実現できます。
AWSネットワークの基本 VPCの概要
VPC(Virtual Private Cloud)は、AWSクラウド上においてユーザーが定義できる仮想的なネットワーク区分のことです。VPCの特徴を見ていきましょう
セキュリティ
VPCの中は、インターネットやほかのVPCから隔離されたプライベートな環境として提供されます。インターネットや他のVPCなど、他のネットワークと接続を行いたい場合は都度設定を行っていく必要がありますが、設定を行わない限りセキュアな環境が提供されます。
拡張性
VPCでは、作成時にIPアドレス範囲を一定の範囲で設定できるほか、作成後にサブネット、ルートテーブルなどネットワークに関する様々な要素を自由に設定できます。それにより、高い拡張性が担保されます。
可用性の確保
VPC内にサブネットを作成するときは、利用するAZを選択することができます。これにより、数クリックで利用するAZを選択することができるため、システム構築における拡張性の担保が非常に容易になっています。
AWSネットワークを安心、安全に設計するスタイルズのAWSセキュリティサービスはこちら→
VPCで独立したネットワークを構成する
VPCを構成する要素について簡単に解説します。
VPCの構成・設定を理解するためのネットワークの基礎知識
- IPアドレスとは?
IPアドレスは、いわばネットワーク上の住所です。種類は大きく分けてプライベートIPアドレスとパブリックIPアドレスがあります。プライベートIPアドレスは、インターネット上ではなく、ローカルネットワーク(企業ネットワークやVPCなど)で使用されるIPアドレスです。一方でパブリックIPアドレスは、インターネット上で唯一のIPアドレスであり、インターネット上の様々なデバイスからアクセス可能です。それぞれ32ビットで表記されます。
- CIDRとは?
CIDRは、NW上のIPアドレスを割り当てる方法です。割り当てられたNWは『10.0.0.0/16』のように表記されます。CIDRで割り当てられたNWを見る場合、末尾の「/」以降を見る必要があります。『10.0.0.0/16』場合、「/16」となっているので前の16ビットが固定となっており、残りの16ビット分がサーバーなどのNW内に存在するリソースに割り当てることができるIPアドレス帯となっています。
- デフォルトルートとは?
ルーティングテーブルの中で、特定の宛先へのルートが存在しない場合に使われるルートです。通信が行われる際、ルーティングテーブルはそのパケットが目的地に到達するための最適なパスを決定します。ルーティングテーブルに特定の宛先へのパスがない場合、デフォルトルートが使用されます。
ネットワークを分割するには?
CIDRでIPアドレスを確保した後は、ネットワークを細かくそれぞれの用途によって分割すると便利です。
- サブネット…VPCの内部を用途別にさらに分割するネットワークです。作成時にどのAZを利用するか指定できます。
- ルーティングテーブル…サブネット間の通信経路を定義するための設定です。
VPCからインターネットに向けて通信するには?
下記の2つの要素を要件(インターネットと相互に通信する場合と、片方向だけで通信したい場合がなど)によって使い分ける必要があります。
- インターネットゲートウェイ(IGW)…VPCにおけるインターネットへの直接的な出入口です。
- NATゲートウェイ…インターネットからアクセスされたくないが、パッチ適用などでVPC内部からのみ、インターネットに接続したい場合の出口と考えてください。
パケットのフィルタリング(セキュリティの設定)は?
VPCのセキュリティを高めるためには、不要な通信を遮断しておき、不正なアクセスを防止する必要があります。AWSではNetworkACLとセキュリティグループという機能が提供されています。
- Network ACL(NACL)…ポート・IPアドレスレベルでVPCやサブネットへのネットワークの出入りを制御できます。不要な通信は遮断しておくことができます。
- セキュリティグループ…こちらもポート・IPアドレスレベルでアクセス制御を提供しますがEC2インスタンスなどのAWSリソース単位で設定を行っていくものとなっています。
AWSネットワークを安心、安全に設計するスタイルズのAWSセキュリティサービスはこちら→
VPCの設定
VPCの構成要素を学んだあとは、下記の順序にそってVPCを設定していきましょう。
- CIDRブロックの設定…VPCがどのIPアドレス帯を利用するのか、IPアドレスの割り当てを実施します。割り当てする範囲は下記から選択することができます。
・10.0.0.0~10.255.255.255
・172.16.0.0~172.31.255.255
・192.168.0.0~192.168.255.255 - DHCPオプションセットの設定…VPC内にEC2などのリソースを作成する際、それぞれに対して自動でIPアドレスを設定してくれる仕組みのことが『DHCPオプションセット』です。VPC作成時に関連付けを行う必要があります。
- タグの設定…作成したVPCがどのような目的で作成されたのか、タグを設定することにより任意に決めることができます。具体的にはVPCの名前や役割について設定を行うといいでしょう。
- サブネットの作成…VPC内を分割するサブネットを作成します。
- 各GWの作成…インターネットと相互に通信したいサブネットには、インターネットゲートウェイ(IGW)を作成し、紐づける必要があります。インターネットに向け通信したいが、インターネットからの通信はしたくない通信要件もある場合はNATゲートウェイを作成します。
- ルートテーブルの作成…どの通信をインターネットへ向けさせ、どの通信をほかのサブネットに向けるか、といったルーティングの設定を作成したサブネットに対して実施します。
これで、基本的なVPCの作成は完了です。VPCは簡単に作成できますが、構築後に設定を大きく変えることは少々難しい点もあります。作成に不安がある場合は専業のベンダーに相談してみてもいいでしょう。