【AWS】VPCとは?初心者向け徹底解説!【アーキテクチャ設計】

  • このエントリーをはてなブックマークに追加
  • Pocket

こんにちは。タクマ™ [@suwaru_blog] です。

AWS 初心者の方はまず EC2 や RDS 利用することが多いと思いますが、
なにはさておき VPC 作成しないとはじまりません!

…が、VPC では普段なじみのない用語・概念に遭遇すると思います。

今回、初心者にもわかりやすいように VPC の基礎について、実際の例をふまえて解説します!

実際に VPC とパブリックサブネットを作成して、
EC2 でサイト公開する手順も解説しているので、この記事のあとにどうぞ!

VPC とは

AWS の VPC (Virtual Private Cloud) について説明します。

  • AWS 上に作るプライベートなネットワーク環境 (仮想 OS) のこと
  • VPC の中で AWS リソースを起動できる
    • たとえば VPC の中で EC2 インスタンスや RDS を起動できます
VPC なんか作ったことないけど、EC2 とか RDS 使ったことあるよ?

そんな人もいるかもしれませんが、それは AWS デフォルトの VPC が起動しているのです。

ネットワーク環境の構築で考慮すること

一般的なネットワーク環境を作る場合と同じく、VPC も以下の考慮が必要です。
※ 細かい用語はあとで説明します。

  • ネットワークレンジ
    • ネットワーク環境のノード数を踏まえて、どれくらいの大きさが必要か CIDR を決定する
  • サブネット
    • ノードの役割によってルールを決めてグループ分けされた VPC 内の帯域
      • ルール① インターネットの世界に公開するかどうか
        • → ネットに繋がるパブリックなサブネットにするか?
        • → 隔絶されたプライベートなサブネットにするか?
      • ルール② サブネット同士で通信させて良いか?悪いか?
        • ルーティングテーブルで通信設定する
        • → ネットにも繋げる場合は Internet Gateway を設定
  • VPC の利用料金
    • いくら VPC を作成しても、それ自体の料金は無料
    • ただし、以下を利用する場合は料金が発生する
      • VPN 接続
      • NAT Gateway
        • → プライベートサブネットがネット接続したいときに必要

アーキテクチャ例と VPC 用語

具体例を踏まえて、VPC に登場する用語を解説します。
10.0.0.0/16 というネットワークレンジ VPC を作成して、以下アーキテクチャを構築するとします。

AZパブリックサブネット用途
1a10.0.11.0/24EC2
Web サーバ
プライベートサブネットへの踏み台サーバ
1c10.0.12.0/24Elastic Load Balancing
AZプライベートサブネット用途
1a10.0.21.0/24RDS
マスター
スレーブのレプリケーション
障害時、スレーブにフェイルオーバー
1c10.0.22.0/24RDS
スレーブ
リードレプリカ

サブネットとは

VPC の中に作られるグループみたいなものだと思ってください。

ソースコード・Web サーバなど、ユーザが直接アクセスするリソースはパブリックサブネット
セキュリティが大事な DB サーバはプライベートサブネットに配置されることが多いです。

CIDR とは

VPC やサブネットの「ネットワークレンジの /16/24 部分」を CIDR (サイダー) といいます。
この CIDR で IP アドレスの帯域を制限します。

CIDR意味サブネットマスク
/321 種類の IP アドレス帯を利用できる255.255.255.255
これだけが使える
/2832 – 28 で 4 ビットのこと
= 4 ビット分の値 (16) が存在する
16 種類の IP アドレス帯を利用できる
255.255.255.240
最後の 240 〜 255 を使える
/2432 – 24 で 8 ビットのこと
= 8 ビット分の値 (256) が存在する
256 種類の IP アドレス帯を利用できる
255.255.255.0
後半 1 桁を自由に使える
※ 0 から 255
/1632 – 16 で 16 ビットのこと
= 16 ビット分の値 (512) が存在する
512 種類の IP アドレス帯を利用できる
255.255.0.0
後半 2 桁を自由に使える
※ 0 から 255

厳密には AWS が事前に 5 つ分の IP アドレスを予約しているため、全部は使えません。
たとえば /16 の CIDR を使っても 512 – 5 で 507 の IP アドレスしか利用できないのです。

CIDR のセオリー

VPC の CIDR は /16 で多めに IP アドレス確保しておき、
サブネットは /24 で少なめに IP アドレス確保して使うのが定石です。

あとで IP アドレス足りなくなって困るよりは、多めに確保しておこうって考え方です。
/16 を指定しておくのは AWS 公式のベストプラクティスにもなっています。

…ですが、やみくもに IP アドレス確保しすぎてもガバガバ設計になってしまいます。

将来的にどれくらいプライベートな IP アドレスが必要になりそうか?

構築するシステムの要件を理解しておくことは重要です。

ロードバランサーの CIDR

最低 /27 の CIDR であること、つまり最低 8 つの空き IP アドレスが必要となります。

サブネットの IP

サブネットの IP ですが、たとえば今回の 10.0.11.0/2410.0.12.0/24 のように、
自由に使える後半 2 桁 (0.0) の「最初の 0 の桁」に番号を割り当てることが多いです。

マルチ AZ とは

AZ はアベイラビリティゾーンの略です。物理的なサーバが置いてあるエリアのことです。

1 つの AZ だけに Web サービスを置いておくと、その AZ に障害があると止まってしまいます。
なので今回、AWS 東京リージョンの「1a」と「1c」という AZ の利用を想定しました。

東京リージョンの「1b」は現在廃止になっているので、選択できません。

パブリックサブネット

  • AZ: 1a
    • パブリックサブネット: 10.0.11.0/24
    • ルーティングテーブル
      • VPC 10.0.0.0/16 との通信を許可する
      • VPC 10.0.0.0/16 定義外の IP と通信する場合
        • Internet GW を利用する
  • AZ: 1c
    • パブリックサブネット: 10.0.12.0/24
    • ルーティングテーブル
      • VPC 10.0.0.0/16 との通信を許可する
      • VPC 10.0.0.0/16 定義外の IP と通信する場合
        • Internet GW を利用する

Internet Gateway とは

パブリックサブネットでは VPC の IP 10.0.0.0/16 以外にもアクセスしていいことにします。

つまり、インターネットの世界に繋がってもいいということです。
その場合 Internet GW (インターネットゲートウェイ) というものを利用します。

プライベートサブネット

  • AZ: 1a
    • プライベートサブネット: 10.0.21.0/24
    • ルーティングテーブル
      • VPC 10.0.0.0/16 との通信しか許可しない
      • もし VPC 10.0.0.0/16 定義外の IP と通信したい場合
        • Nat GW を利用する
  • AZ: 1c
    • プライベートサブネット: 10.0.22.0/24
    • ルーティングテーブル
      • VPC 10.0.0.0/16 との通信しか許可しない
      • もし VPC 10.0.0.0/16 定義外の IP と通信したい場合
        • Nat GW を利用する

DB サーバがインターネットの世界に繋がる状態は大変危険です。
なので基本的には 10.0.0.0/16 の IP しか許さない定義をします。

NAT Gateway とは

しかし、プライベートサブネットで「なにかインストールしたい」場合もあると思います。
もし一時的にネット接続したい場合は NAT GW (ナットゲートウェイ) というものを使います。

NAT Gateway の料金体系

詳しくは AWS の公式で調べてほしいのですが…

  • 1 時間利用で $0.062
  • 処理データ 1 GB 当たり $0.062

の課金となっており、Nat GW を繋ぎっぱなしにした場合、
1 ドル 120 円換算で「1 か月最大 5,400円 + データ通信料」位かかります。

VPN の料金体系

ちなみに VPN の料金は 1 時間で $0.048 となっています。
1 か月最大で 4,200 円くらいです。

お仕事ください!

僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。
なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。

コメント

コメントを残す

*