最近業務でAWSを触る機会が増えたので自分への備忘録として記事を書いておこうと思います。
今回は「VPC」についてです。
本記事は以下の書籍を参考にしています。
参考リンク
VPCとは何か?
AWSを利用する際にVPCというサービスをよく目にすると思うのですが、これは一言で言うと「AWS内に仮想ネットワークを構築できるサービス」です。
コンピューティングリソース(AWSの各サービス)を利用するためには、あらかじめネットワーク環境を構築しておく必要があります。
ここで利用されるのがVPCです。
構築した仮想ネットワークのIPアドレスを割り当てて、仮想的にそのアドレスにあるように配置します。
物理ネットワークの構築や設定を行わなくてよいのでシステム環境をオンデマンドで迅速に構築することができます。
構成要素について
VPCの主な構成要素として以下の6つ記載します。
(他にもこれは必須で覚えておく必要があるなどはご教示いただけるとありがたいです。)
- CIDRブロック
- サブネット
- インターネットゲートウェイ
- ルートテーブル
- セキュリティグループ
- ネットワークACL
CIDRブロック
VPCはリージョン単位で作成され、その際にIPアドレス範囲がCIDR表記に従って割り当てられます。CIDRブロックは、ネットワーク内のアドレス範囲を指定する方法で、VPC内のIPアドレスは「xxx.xxx.xxx/16」から「xxx.xxx.xxx/28」の範囲で設定が可能です。
なお、以下のIPアドレスは予約済みのため、使用することができません
xxx.xxx.xxx.0
xxx.xxx.xxx.1
xxx.xxx.xxx.2
xxx.xxx.xxx.3
xxx.xxx.xxx.255
サブネット
サブネットはVPCのIPアドレスの範囲を分割したものです。(CIDRブロックにて割り当てた範囲をさらに分割したものです。)
一つのVPC内に複数のサブネットを作成し、それぞれ用途に応じてAWSの各サービスを構築をすることでアクセス制限など柔軟に設定することができます。
サブネットには外部との接続を想定したパブリックサブネットと外部アクセスから保護する用途を想定したプライベートサブネットが存在します。
インターネットゲートウェイ
インターネットゲートウェイはVPCとインターネットの通信用途として設置されるものです。
インターネットゲートウェイを用いて実際に通信を行うには条件があり、通信元のリソースがパブリックIPアドレスを持っている必要があります。
ルートテーブル
VPC内の通信には、指定されたCIDR形式のアドレス範囲を使ってルートを設定するルールが必要です。このルールのセットを「ルートテーブル」と呼びます。
VPC内の各サブネットは、必ず何かしらのルートテーブルに関連づける必要があります。
1つのサブネットに複数のルートテーブルを関連づけることはできませんが、1つのルートテーブルに複数のサブネットを関連づけることは可能です。
インバウンドやアウトバウンドのルート設定を適切に行うことで、VPC内外へのアクセスを細かく制御することが可能です。これにより、外部からの不要なアクセスをブロックしたり、内部リソースへの安全な接続を確保したりすることができます。
セキュリティグループ
セキュリティグループは、ファイアウォールの役割を持ち、アクセスを許可するソースやプロトコル、ポートを指定してルールを作成します。AWSの各サービスに関連づけることで、特定のアクセスのみを許可し、ファイアウォールとして機能します。
ファイアウォールとは
ネットワークやコンピューターを外部の不正アクセスや攻撃から守るためのセキュリティシステム
ネットワークACL
ネットワークACLは、セキュリティグループよりも広範囲でのアクセス制御が可能な設定項目です。
サブネットに関連づけられ、受信(インバウンド)と送信(アウトバウンド)両方のアクセスをサブネットレベルで制御できます。
まとめ
今後は構築方法やVPCの各詳細など追記していきたいと思います。