vpc

VPC CIDRについてちょっと調べた

More than 3 years have passed since last update.


VPC


作成手順(一つのSubnetに全てを入れる場合)


  1. VPCの作成

  2. Subnetの作成

  3. Route Tableの作成

  4. Internet Gatewayの作成

  5. Network ACLの設定

  6. Security Groupの設定

MEMO

1. VPCの作成

まず全ての入れ物を作る(アドレスの範囲を設定 ※あとから変更できない)
CIDR block:[/28](16個のアドレスが設定できる) 〜 [/16](16個のアドレスが設定できる)

2. Subnetの作成
次に小分け袋を作る(Network ACLにより、どこと通信できるか設定)
こちらもSubnetごとにアドレスを設定できる
AZごととprivateごとにsubnetを作る

3. Route Tableの作成
Subnet間や外部通信用の設定
SubnetとInternet Gatewayの設定
メインテーブルとして設定する

4. Internet Gatewayの作成
インターネットと通信することをRoute Tableに許可する
VPCにアタッチして、Route Tableに紐づける

5. Network ACLの設定
SubnetのInBound(内部への通信)とOutBound(外部への通信)制御の設定
デフォルトでOK

6. Security Groupの設定
インスタンスのInBound(内部への通信)とOutBound(外部への通信)制御の設定
インスタンスごとに作成

CLI

aws ec2 create vpc --cidr-block 10.0.0.0/16

aws ec2 modify-vpc-attribute --vpc-id vpc-[作成されたvpcid] --enable-dns-hostnames

CIDRについて(CIDR形式でのIPアドレスの記述)

CIDRとはIPアドレスの記述形式です。

VPC内で決めるIPアドレスは、VPC内でのみ利用するため自由に設定できます。(いくつかのルールは存在します)

1 つの CIDR ブロックを VPC に割り当てることができます。
許可されているのは、/28 ネットマスクから /16 ネットマスクの間のブロックサイズです。
つまり、VPC には 16~65,536 個の IP アドレスを含めることができます。

[形式]

CIDR block: A.B.C.D/E

AはVPC作成時に設定

BはVPC作成時に設定

EはVPC作成時に設定

CはSubnet作成時に設定

DはSubnet作成後に自動設定

```

A,Bは好きなものを設定してよい。(内部のルーティングにしか使わないため)

その後は、Cでsubnetごとに分ける(これは目的別に分かれているとよい[4-254])

その後は、Cから自動生成されるDの数には限りがある。(インスタンスに自動で割り当てられので注意)

例、

[VPC]

CIDR block: 192.168.0.0/16

[Internet Gateway]

Name tag: igw-xxx

[Subnet]

VPC: ***

AZ: ap-northeast-1[a-c]

CIDR block: 192.168.1.0/24

VPC: ***

AZ: ap-northeast-1[a-c]

CIDR block: 192.168.2.0/24

作成されたサブネットの Available IPs は 256 のうち以下の 5 が利用できないため 256 - 5 = 251 となっています。

192.168.[1-2].0

192.168.[1-2].1

192.168.[1-2].2

192.168.[1-2].3

192.168.[1-2].255

```