AWSを触ってみる【VPC】
はじめに
AWSが提供する学習プラットフォームAWS Skill Builderの学習プランが11/2まで無料で急ぎでやってみたので学んだことをまとめます。
※自分はAWSを業務で若干しか触ったことないレベルなのでほぼ初心者です。
VPCとは
VPC(Virtual Private Cloud)は、AWSクラウド上にユーザー専用の分離された仮想ネットワークを構築できるサービスです。
VPCを利用することで、IPアドレスやサブネット、アクセス制御などを柔軟に設定し、AWS上に安全で独立したネットワーク環境を構築できます。
VPCを使うメリット
ネットワークを分離・制御できる
自分で決めたIPアドレス範囲の中で、ネットワークを自由に分割(サブネット化)できます。
たとえば、
- 外部からアクセスできる「パブリックサブネット」
- 外部には公開しない「プライベートサブネット」
を作成し、役割ごとにネットワークを整理・制御できます。
高いセキュリティ機能を利用できる
セキュリティグループやネットワークACL(アクセスコントロールリスト)といった、ファイアウォールのような機能を使って、各インスタンスへのアクセスを細かく制限できます。
AWSリソースを安全に配置・連携できる
VPCはネットワーク空間そのものです。そのため、単体で利用するというよりも、EC2やRDSなどのAWSリソースをVPC内に配置して使うことが前提となります。
これにより、安全で整理されたネットワーク上で、各サービスを連携させることができます。
VPCの構成要素
パブリックサブネット 図①
インターネットゲートウェイを経由してインターネットと通信できるサブネットです。
Webサーバーなど、外部からアクセスされる必要があるリソースを配置します。
プライベートサブネット 図②
インターネットと直接通信しない内部用のサブネットです。
データベースやバッチ処理サーバーなど、外部からアクセスされる必要のないリソースを配置します。
必要に応じてNATゲートウェイを使い、外部への送信だけ許可する構成にすることもあります。
ルートテーブル
各サブネットから出る通信の行き先(ルーティング)を決める表です。たとえば、
- インターネットへ出る通信はインターネットゲートウェイに
- VPC内の通信はローカル宛に
といったルールを定義し、サブネットごとに関連付けます。
NATゲートウェイ 図③
プライベートサブネット内のリソースがインターネットにアクセスするための送信専用ゲートウェイです。
たとえば、プライベートサブネット内のEC2が外部APIアクセスを行う場合、NATゲートウェイを経由して通信します。
外部からこのリソースに直接アクセスされることはありません。
インターネットゲートウェイ 図④
VPCとインターネットをつなぐ出入口です。
パブリックサブネットに紐づけることで、そのサブネット内のリソースがインターネットと双方向通信できるようになります。
それぞれの関連性
VPCは、パブリック/プライベートサブネットでネットワークを分け、ルートテーブルで通信経路を決め、NAT・インターネットゲートウェイで外部とのやり取りを制御することで、安全で柔軟なネットワークを構築します。
VPCを構築する
VPCウィザードを使用して Amazon VPC を作成します。
VPCウィザードとはAWSの用意したテンプレートで、VPCの初期設定を簡素化する機能です。
構築手順
※Skill Builderのタスクに従うため省略しています。
-
AWSマネジメントコンソールから「VPC」を検索し、「VPCを作成」
-
VPCの設定をする。主に以下の情報を設定します。
- 名前
- アベイラビリティゾーン (AZ) の選択
- パブリックサブネットの選択
- プライベートサブネットの選択
- サブネットCIDRブロックの選択
- NATゲートウェイ
- VPCエンドポイント
- 「VPCを作成」で作成完了
VPC が正常に作成されたという確認メッセージがステータスウィンドウに表示されます。
アベイラビリティゾーン (AZ)とは
アベイラビリティゾーン (AZ)とは、1つのリージョン(Region)内にある、物理的に分離された複数のデータセンターの1つを指します。
たとえば、AWS東京リージョン(ap-northeast-1
)には以下のような複数のAZがあります
ap-northeast-1a
ap-northeast-1c
ap-northeast-1d
なぜ複数あるのか?
クラウドでは、障害が起きてもサービスが止まらないようにする高可用性が重要です。
そのため、複数のAZにリソースを分散配置することで、片方のAZで障害が発生しても、もう一方でサービスを継続できるようにします。
サブネットは単一のAZに存在します。 (一方、VPC は複数のAZにまたがることができます)
サブネットCIDR(サイダー)ブロックとは
CIDRは、IPアドレスの範囲をシンプルに表す書き方です。
10.0.0.0/16
これは「10.0.0.0 〜 10.0.255.255」の範囲を意味します。
-
10.0.0.0
→ 開始アドレス -
/16
→ ネットワーク部分が16ビット(残りはホスト用)という意味
サブネット CIDR ブロックは VPC全体のCIDRブロック(ネットワークの大きな範囲)を、
さらに細かく分割して各サブネットに割り当てるIPアドレス範囲のことです。
VPC全体:10.0.0.0/16
├─ パブリックサブネット:10.0.0.0/24(約256個)
└─ プライベートサブネット:10.0.1.0/24(約256個)
CIDRのプレフィックス(/の後の数字)の特徴
数字が小さいほどネットワークは広くなり、大きいほど細かく分割できます。
- /16 → 広い範囲(IP数が多い)
- /24 → 狭い範囲(IP数が少ない)
まとめ
次回はEC2をやってみます!
Discussion