AWS 基礎 Part 1 -- VPC、サブネット、インターネットゲートウェイ、ルートテーブルを作ってそれぞれ接続する。
Tags: aws, vpc
Published: 2023-01-22 14:07:50


## 何をするのか

https://www.youtube.com/watch?v=HvrIPQ77xRY&t=243s

前回に引き続きクラインさんの動画を参考にして


*　VPC
* サブネット
* インターネットゲートウェイ
* ルートテーブル

これらを作る。

---


---
---

# VPC 

---

## VPC を作る

前回の記事で概要は調べた。

一番大きな箱のことだと解釈している。

 名前とテナンシーと IPv4 CIDR ブロックのアドレスを決める

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/digfarf87p0m2gifl68v.png)

VPC のみを作り
名前を hello-vpc にして

IP アドレスの CIDRは 動画の通り

```php
192.168.1.0/24 
```

ここを指定する。

テナンシーは分散方法らしい。
お店のテナントと似た概念と予想。
デフォルトにする。

---

## /24 の CIDR ブロックって何？

https://www.sbbit.jp/article/cont1/51188

この記事によると

この `/24` は　CIDR (Classless Inter-Domain Routing) 表記といい

32 枠ある全体の数字から、何枠までネットワークアドレスが使うか決めるもののようだ。

/16 では 32-16 ホストアドレスに空きが出るので 2^16 で 65,536
/28 では 32-28 ホストアドレスに空きが出るので 2^4 で 16

このように /number の数字が小さいほど枠が大きい。

今回は 32-24 で　2^8 枠を VPC に確保した。

---

## 192.168.1.0 のパーソナルアドレスって何？

https://xtech.nikkei.com/it/free/NNW/NETHOT/20040624/146335/

これはなんなのか調べてみたら、日経XTech によると
プライベート(同一ネットワーク?)のみからアクセス可能なデフォルトアドレスらしい。

https://afteracademy.com/blog/what-is-a-localhost/#:~:text=When%20we%20are%20connected%20to,Internet%20Service%20Provider(ISP).

ローカルホストのことかな？と思って調べたら違った。
パーソナル・ホームネットワークのことだった。
何がパーソナルなのかわからない。外部から絶対アクセスできないってことだろうか？

ローカルは自分の　PC で立てたサーバーで、127.0.0.1 になり
パーソナルは自分たちのネットワークでしかアクセスできないサーバーで
192.168.1.0 になると解釈した。

---

## 作成成功

これで VPC が作成できる。

* VPC ID
* DHCP option set
* Main route table 

これらが見える。

---
---







# サブネット

次は左メニューの Subnets からサブネットを作成する

右上の Create Subnets ボタンから作成できた。

## VPC を選ぶ。

サブネットは VPC の中に作るので、VPC が必要。
先ほど作った VPC である hello-vpc が選択できた。

---

## 名前とデータセンターを決める

hello-subnet とする

データセンターは東南アジアの a にする。

---

## さらに細かい？IP アドレスを設定する

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ek72lewwwqwqyqrnlwv.png)

VPC で説明したように /number の数が大きいほど狭い。

なので 
/24 で VPC で 8 枠とっている中の
/25 で サブネットでは 7 枠使う

---

## subnet を作成する

img

これで作成できた。

---

## サブネットを複数作れない /24 の VPC IP

192.168.0.0/24 の VPC の中に

1. 192.168.1.0/24
2. 192.168.1.0/25
3. 192.168.1.0/32

このように 3 つ目を変えて作ることはできない

1. 192.168.0.1/24
2. 192.168.0.2/24
3. 192.168.0.3/24

このように 4 つめを変えても作れない
これだと 2 以降は作ることができない

しかし 5 つめは前述の 枠数になってしまう。
なので現状 192.168.0.0/24 の VPC には
サブネットを複数作れない。

---

## サブネットを複数作れる /16 の VPC IP

https://active.nikkeibp.co.jp/atclact/active/14/101700099/101700003/

日経の画像を参考にしてそのままの構成で作成するとうまくいった。

- VPC: 192.168.0.0/16
  - subnet az a: 192.168.1.0/24
  - subnet az a: 192.168.2.0/24

/16 で　VPC を作れば、サブネットを複数作成する余裕があると理解した。

---
---












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

インターネットからアクセス可能にするために必要。

## 作成

インターネットゲートウェイも、VPC と サブネットのように名前を決めて作成する。

これはただの穴なのに(サービスごとに？)複数作成するのは、どこから通ってきたかわかれば、情報が漏れた時にそこだけ塞いで他を稼働できるからだと解釈した。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ahu2103yv96z9t3j3f4.png)

名前だけ入れて作成を押すと

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xaaavra5bbn1av5was62.png)

作成されて、ID が発行される。

---

## VPC に接続

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fe3xxlqfqj3u1oathpe5.png)

これで hello-vpc と hello-internet-gateway が接続された。

インターネットの接続はこの時点ではどうするかわからない。



---
---






# ルートテーブル

---

## なぜ必要か

サブネットとインターネットゲートウェイを繋げるもの。
これまでは VPN とインターネットゲートウェイしか繋がっていなかった。

https://youtu.be/2_FxLp9xgmo?t=1858

クラインさんの ECS x ECR の動画を参考にして作る。

---

## ルートテーブルのページに行き、VPC に紐づけて作成する

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/il811rc4fi7ydfay9b29.png)

左メニューのサブネットの下にルートテーブルとある。

これも VPC に作成する。

hello-route-table という名前にする。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dk2to3w16ehdxe2ihruk.png)

---

## ルートテーブルにインターネットゲートウェイをインターネットに紐付ける

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ltastfmwv6kq49pqpzc1.png)

現在これだけ入っている

これにインターネットへの公開を設定する。

そのためには

```
0.0.0.0/0
```

ここを公開する

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2wjb5sbucl4w7qhd79n2.png)

Edit して
インターネットゲートウェイをここに当てる

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60at5yn685oqocl2ma9a.png)

これで hello-internet-gateway が出てくるので当てる。

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qytrioyu4wwmocsegeb7.png)

さらにサブネットも紐づける。

hello-subnet を紐づけた。