インフラ

【AWS入門】VPCについて解説してみる

こんにちは、ちゃりおです。

VPCはAWS使用する際にほぼ必須のサービスです。
しかし、「VPCとは何ですか」という質問を受けうまく答えられませんでした。

「普段なんとなく使っている」という状態であることを痛感したのでまとめてみます。

ちゃりお
ちゃりお
VPCの基礎的なところについてです。

VPCってなに?

Virtual Private Cloud (VPC) は、AWS アカウント専用の仮想ネットワークです。

Amazon VPCとは?

利用者が自由にカスタマイズできるネットワーク空間です。

AWSがパブリッククラウドであることは、正解でもあり間違いでもあります。

AWSにVPCがなかったころは、リソースへのアクセスは全てインターネット経由(パブリック)でアクセスする必要があったようです。

VPCが登場したことで、AWS上に仮想的にプライベートネットワークを作成することができるようになりました。
結果、クローズドなデータセンターのようにAWSを使用することも可能になりました。

VPC関連用語

VPCを理解するために、最低限押さえておきたい用語です。

リージョン

aws リージョン

AWSの各サービスが提供されている地域のことです。

東京リージョンやオレゴンリージョンのように国や地域ごとにリージョンがあります。

リージョンごとに料金が違ったり、サービスによっては提供されていなかったりします。

国内で使用するサービスならレイテンシーを考慮して、東京リージョンを使うのが一般的です。

アベイラビリティゾーン

aws az

データセンターの集まりです。
リージョン内に最低、2つのアベイラビリティゾーンが存在します。

耐障害性のためのものです。
1つのアベイラビリティゾーンが災害等で利用不可能な状態になった場合も
他のアベイラビリティゾーンではシステムが稼働できるような設計になっています。

VPC

aws vpc

前述の通り、利用者が自由にカスタマイズできるネットワーク空間です。

VPC内には、リージョンのすべてのアベイラビリティゾーンが含まれます。

VPCは作成の際に、ネットワークアドレス空間を指定する必要があります。
例) 10.0.0.0/16

サブネット

aws subnet

VPC内は、サブネットという形にさらにわけることができます。
「10.0.0.0/16」でVPCを作った場合、「10.0.0.0/24」などVPCのネットワーク内に
おさまるネットワークアドレス空間を指定します。

サブネットはアベイラビリティゾーンをまたぐことができません。

そのため、同一用途のサブネットをアベイラビリティゾーンを分けて2つ作っておきましょう。

例)
private-subnet-1(az-a)
private-subnet-2(az-c)

ルートテーブルのデフォルトルートがインターネットゲートウェイの場合、
パブリックサブネットと呼びます。
デフォルトルートがVPC内の場合、プライベートサブネットと呼びます。

ルートテーブルとインターネットゲートウェイについては、後述します。

インターネットゲートウェイ

インターネットへの玄関のようなものです。
VPCにインターネットゲートウェイをアタッチすることで、インターネットへのアクセスが可能になります。

ルートテーブル

サブネットのルーティングをコントロールします。
サブネットごとに設定します。

ネットワークACL

サブネットに備わるパケットフィルタリング機能です。

セキュリティグループ

EC2やRDSなどリソースに対して紐付けられる仮想ファイアウォールのようなものです。

ネットワークACLと大きく違うところは、ネットワークACLがサブネットに適用するもので
セキュリティグループはインスタンスなどリソースごとに適用します。

ネットワークACLとセキュリティグループの違いは、詳しく説明すると長くなるので割愛します。

参考 AWS セキュリティグループとネットワークACLの違い

VPCを使うことでできること

現状VPCを使わずインスタンスを立てることできません。
そのため、普段意識することはないですが、VPCによってできることを上げてみました。

  • インターネットから接続できるサブネットと、インターネットから接続できないサブネットをわけることができる(パブリック・プライベート)
  • セキュリティグループによって、インスタンス単位のアクセス制御ができる
  • ネットワークACLによって、サブネット単位のアクセス制御ができる
  • インターネットVPNやDirectoConnectを使って、オンプレ環境とセキュアな通信ができる

おまけ デフォルトVPCとは?

AWSアカウントを作った際、作成した覚えがないVPCが存在すると思います。

「デフォルトVPC」とよばれるもので、「すぐに、インターネットに接続できるようにする」ことを目的に作られた特別なVPCです。

検証の際に使うのはありだと思います。
しかし、VPC領域を作ったデフォルトの状態というわけではないので、業務で使う環境は新しくVPCを作りましょう。

aws
これからAWSを勉強する人へ 〜AWSを勉強する3つのメリット〜インフラって範囲が広くて、「何を勉強すればいいか」わからないですよね。 個人的には、AWSを勉強したのが一番役に立っています。 今回は...
aws saa
AWS初心者が3週間でAWSソリューションアーキテクト(SAA)を取った勉強法こんにちは、ちゃりお(@chari7311)です! 以前社内の事情でAWSソリューションアーキテクトを3週間で取るよう言われました。 ...

参考書籍

AmazonでAWSの本を見てみる!!