💨

AWSを触ってみる【VPC】

に公開

はじめに

AWSが提供する学習プラットフォームAWS Skill Builderの学習プランが11/2まで無料で急ぎでやってみたので学んだことをまとめます。
https://aws.amazon.com/jp/blogs/news/begin-your-aws-journey-with-new-free-aws-builder-labs-learning-plan-on-aws-skill-builder/
実際にAWSコンソールを開きながら進められるのでおすすめです。
※自分は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のタスクに従うため省略しています。

  1. AWSマネジメントコンソールから「VPC」を検索し、「VPCを作成」

  2. VPCの設定をする。主に以下の情報を設定します。

  • 名前
  • アベイラビリティゾーン (AZ) の選択
  • パブリックサブネットの選択
  • プライベートサブネットの選択
  • サブネットCIDRブロックの選択
  • NATゲートウェイ
  • VPCエンドポイント
  1. 「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