0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【AWS】VPCを作成

Posted at

はじめに

Amazon VPC (Virtual Private Cloud)の略で、AWS上に自身のプライベートネットワークを作成できます。
このネットワーク上にEC2やRDSといったAWSサービスを作成しシステムを構築できます。

プライベートなNW空間になりますが、インターネットゲートウェイを作成しインターネットと接続したり、Direct Connectという機能を利用して社内のイントラと接続することも可能です。

前提

VPC作成前にリージョンとアベイラビリティゾーン(AZ)について簡単に触れておきます。
AWSはリージョンとAZという単位に分割して管理されています。

リージョン

AWSの各サービスが提供されている世界各地の地域のことです。
例えば、日本はアジアパシフィック(東京)というリージョンに含まれています。他にもバージニア北部、オハイオといったリージョンが存在、リージョン間は完全に分離されており耐障害性を保っています。

アベイラビリティゾーン(AZ)

AZとは、各リージョンに存在するデータセンターです。 各リージョンには複数のアベイラビリティゾーンが存在し、それぞれにサブネットやEC2といったサービスを配置することで冗長性を保つことができます。

今回作成するVPCの最終構成

今回はアジアパシフィック(東京)リージョンに以下のようなVPCを作成します。
インターネットと通信ができるパブリックサブネット、インターネットとの通信ができず、VPC内のみの通信が可能なプライベートサブネットを、各AZ内に作成します。
VPC-20.png

VPCの作成

VPCを作成していきます。
サービスからVPCを選択後、「VPCを作成」をクリック
VPC-10.png
VPCの設定
IPv4 CIDR ブロックでプライベートIPアドレスの範囲を指定します。
CIDRブロックサイズは/16~/28のサイズを指定可能で、
スラッシュの後の数字が小さいほど、割り振る IP アドレスの数が増えます。(/16だと65,536 個分、/28だと11個分)
IPv4 CIDR ブロックは本来、必要なIPアドレスを見積もりした上で設計しますが、今回は以下の通り設定します。

名前タグ: rails_test
IPv4 CIDR ブロック: 10.0.0.0/16

VPC-1.png
VPCが作成できました。
VPC-23.png

サブネットの設定

サブネットは簡単にいうとVPCを細かく区切ったネットワーク空間です。
先ほど作成したVPCの中にサブネットを構築していきます。
サブネットマスク(16bit ~ 28bit)で割り当て空間の設定や、
配置するAZを指定します。

左ペインのサブネットを選択後、「サブネット作成」ボタンをクリック。
VPC-11.png
VPC IDで作成したVPCを選択
VPC-2.png

下の図は以下の設定をしたものです。

サブネット名: Public-subnet-a
アベイラビリティーゾーン: ap-northeast-1a
IPv4 CIDR ブロック: 10.0.1.0/24

VPC-3.png

同様の手順で他3つのサブネットも作成します。

サブネット名: Public-subnet-c
アベイラビリティーゾーン: ap-northeast-1c
IPv4 CIDR ブロック: 10.0.2.0/24
サブネット名: Private-subnet-a
アベイラビリティーゾーン: ap-northeast-1a
IPv4 CIDR ブロック: 10.0.11.0/24
サブネット名: Private-subnet-c
アベイラビリティーゾーン: ap-northeast-1c
IPv4 CIDR ブロック: 10.0.12.0/24

サブネットの作成は完了です。
VPC-22.png

インターネットゲートウェイの作成

VPCを作成しましたが、このままではインターネットに接続できません。
インターネットにはインターネットゲートウェイ(IGW)を経由して通信する必要があります。
まずはIGWを作成します。

左ペインのインターネットゲートウェイを選択後、「インターネットゲートウェイの作成」をクリック
VPC-12.png
以下の通り設定

名前タグ:igw-rails-test

VPC-4.png
作成直後はデタッチ状態のため、先ほど作成したVPCにアタッチを行います。
作成したインターネットゲートウェイの「アクション」よりVPCにアタッチをクリック
VPC-13.png
使用可能なVPCで作成したVPCを選択
VPC-5.png
IGWの作成、アタッチは完了です。
VPC-21.png

ルートテーブルの設定

ルートテーブルとは通信経路を決めたルートと呼ばれるルールを定義されたテーブル情報のことです。
IGWをアタッチしましたが、まだインターネットと通信することはできません。ルートテーブルにIGWへのルートを追加しインターネット接続できるようにします。

左ペインのルートテーブルを選択、「ルートテーブルの作成」をクリック

VPC-14.png
下の図は以下の設定をしたものです。

名前タグ: Public-Route-Table
VPC: (作成したVPCを指定)

VPC-15.png

ルートの編集

ルートテーブル作成後、ルートタブの「ルートの編集」をクリック

VPC-16.png
IGWへのルートテーブルを追加します。

送信先: 0.0.0.0/0
ターゲット: (アタッチしたIGW)

VPC-7.png

※送信先の0.0.0.0/0は全てのアドレスとマッチするという意味です。全ての送信先に対してIGWを経由するという設定になります。
またルートテーブルにはlocalというテーブルがはじめから関連づけられています。これはVPC内のIPアドレスに対してのルート情報です。
先ほど、全ての送信先に対してIGWを経由と書きましたが、
ルートテーブルは最長プレフィックス一致(定義された最も具体的なルートが優先)が適用されるため、送信先がVPC内のIPアドレスの場合はlocal、それ以外はIGWを経由して通信することになります。

サブネットの関連付け

作成したルートテーブルにサブネットを割り当てします。
サブネットの関連付けタブを選択後、「サブネットの関連付けの編集」ボタンをクリック

VPC-17.png
下の図は以下の設定をしたものです。

サブネットID: Public-subnet-a、Public-subnet-c

VPC-18.png

ここで設定したサブネットが、パブリックサブネット(インターネットへのアクセスが可能)になります。

省略していますが、ターゲットがlocalのみ(IGWのルート情報がない)のルートテーブルを作成し、関連付けしたサブネットがプライベートサブネットとなります。

完成

VPC-20.png

最後に

今回は一般的なVPC作成について投稿しました。
作成したパブリックサブネットにEC2、プライベートサブネットにRDS等を配置しWebアプリケーションを構築することができます。
VPCには他にもネットワークACLで通信を制御したり等、さまざまな機能があるため、どんどん活用していきたいです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?