AWS勉強 -インターネット回線とルーティング-

前回作ったパブリックサブネットをインターネットと接続していく!

## インターネットに接続するための回線を引き込む

Amazon VPCではサブネットをインターネットを接続したい際に,「インターネットゲートウェイ」を用いる.
「自分のネットワークにインターネット回線を引き込む」というイメージの作業だ.

### 手順1 -インターネットゲートウェイを作成-

<img width="844" alt="スクリーンショット 2018-09-21 23.50.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/29a42398-4601-8a1e-bb18-f8681f75f660.png">

からの,

<img width="855" alt="スクリーンショット 2018-09-21 23.52.18.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/a34afa81-7ea3-3fd9-34b8-5a3b18e52dc8.png">

### 手順2 -VPC領域に結びつける-

<img width="868" alt="スクリーンショット 2018-09-22 0.08.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/cfcb7e4b-d7fc-0b73-e92d-bfc623419c59.png">

からの,

<img width="864" alt="スクリーンショット 2018-09-22 0.11.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/f7b2d5f5-1a2a-2c24-5d0c-0e2b64962a6e.png">

## ルーティング情報

ネットワークにデータを流すためには「ルーティング情報」の設定が必要.
この設定は,

* 「ルーティングテーブル」
* 「ルートテーブル」

と呼ばれる.

Amazon VPCでは「ルートテーブル」という設定名になっている.

「TCP/IP」というプロトコルで「パケット」という単位でデータが送受信される.
パケットは様々な「ヘッダー情報」と「データの実態」を含んでいる.

このデータを届けるためにはルーターにルートテーブルを設定する必要がある.

関連した資料は以下,

[宛先IPアドレスとルートテーブルについて](https://itjinzai-lab.jp/article/detail/217)

ルートテーブルは,

**宛先アドレス    流すべきネットワークの入り口となるルーター**

という書式で設定する.

それぞれ呼び方があり,

* 宛先アドレス→ディスティネーション
* 流すべきネットワーク先→ネクストポップ, ターゲット(この勉強ではこっちで統一)

## Amazon VPCでルートテーブルを設定する

Amazon VPCではサブネットごとにルーティングを設定できる.
Amazon VPCにおいてはサブネットやインターネットゲートウェイの間にルーターの役割を果たすソフトウェアが動いている.

### デフォルトのルートテーブル

VPC領域を作った直後はデフォルトのルートテーブルが作られる.
サブネットを作った時にはそのデフォルトのルートテーブルが適用されている.

サブネットを作成した直後,どのようなルートテーブルが設定され散るのかは次のようにして確認できる.

### ルートテーブル確認手順1 -ルートテーブルの値を確認-

<img width="893" alt="スクリーンショット 2018-09-22 16.25.53.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/fa28af37-9cbb-7113-1c01-11e63f5c631f.png">

### ルートテーブル確認手順2 -ルートテーブルの設定値を確認-

<img width="876" alt="スクリーンショット 2018-09-22 16.31.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/d47b0896-8a57-bc60-83ab-a870e7ac605e.png">

このルートテーブルには,

```
送信先          ターゲット
10.0.0.0/16    local
```

上記の設定しかないので,「10.0.0.0/16の範囲外の宛先のパケット」は全て破棄されてしまう.

### デフォルトゲートウェイをインターネットに向けて設定する

パブリックサブネットをインターネットに接続したいが,
現状の設定だと「10.0.0.0/16の範囲外の宛先のパケット」は全て破棄されてしまうのでインターネットと通信ができない.
次の作業としては,先ほど作成したインターネットゲートウェイに「10.0.0.0/16の範囲外の宛先のパケット」を転送するようにルートテーブルを変更することだ.
具体的には,「0.0.0.0/0の範囲外の宛先のパケットはインターネットゲートウェイに転送する」という設定をルートテーブルに追加する.
「0.0.0.0/0」は全てのIPアドレス範囲を示していて,これに対するターゲットの設定は「転送先が何も設定されていない場合のデフォルトの転送先」を示す.
これを「デフォルトゲートウェイ」と呼ぶ.
設定には以下の手順を踏む.

### パブリックサブネットをインターネットに接続する手順1 -新しいルートテーブルを作成する-

<img width="874" alt="スクリーンショット 2018-09-22 17.00.58.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/b028703a-56ad-950d-af0b-27ead91e7496.png">

からの,

<img width="870" alt="スクリーンショット 2018-09-22 17.06.56.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/7378d4cc-8297-26b6-e40b-02e90a8eb999.png">

からの,

<img width="871" alt="スクリーンショット 2018-09-22 17.09.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/eff959f5-620d-6f35-8368-88feb16ee36d.png">

### パブリックサブネットをインターネットに接続する手順2 -ルートテーブルをサブネットに割り当てる-

<img width="879" alt="スクリーンショット 2018-09-22 17.12.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/ad37adc3-8d79-60ca-6d6b-e381f3502818.png">

からの,

<img width="878" alt="スクリーンショット 2018-09-23 15.22.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/fc87529f-efff-082a-c1c2-870e8c8ca2d4.png">

### パブリックサブネットをインターネットに接続する手順3 -デフォルトゲートウェイをインターネットゲートウェイに設定する-

<img width="907" alt="スクリーンショット 2018-09-23 15.27.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/434663e6-e655-ec97-2e4b-140cf685d85e.png">

#### 正しく設定できた確認する

<img width="919" alt="スクリーンショット 2018-09-23 15.40.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/ae83ce55-35f5-3d7c-1c1d-741a21540371.png">

### 感想

こうやってまとめるとVPC領域におけるそれぞれの関係性とか,
AWS上での操作法など結構覚えられると感じた.