サブネットをインターネットと接続する方法

### ■　インターネットに接続するための回線を引き込む
　Amazon VPCにおいて、あるサブネットをインターネットに接続するには、**「インターネットゲートウェイ(Internet Gateway)」**を用いる。
 
　これは、「自分のネットワークにインターネット回線を引き込む」というイメージの作業となる。
 
### ■　作業手順
#### ①　メニューから[インターネットゲートウェイ]をクリックして開き、[インターネットゲートウェイの作成]をクリックする。
[![Image from Gyazo](https://i.gyazo.com/64b681c648927a4a1a47dc90cfd1e999.png)](https://gyazo.com/64b681c648927a4a1a47dc90cfd1e999)

#### ②　[作成]をクリックする。
[![Image from Gyazo](https://i.gyazo.com/06a2f03f7fd2772cffce9fc6378d34bd.png)](https://gyazo.com/06a2f03f7fd2772cffce9fc6378d34bd)

#### ③　作成したインターネットゲートウェイにチェックを付けて、[アクション]をクリックし、[VPCにアタッチ]メニューを選択する。
[![Image from Gyazo](https://i.gyazo.com/314ff7bf32770ce1f57a5ef4db026dc4.png)](https://gyazo.com/314ff7bf32770ce1f57a5ef4db026dc4)

#### ④　結びつける先のVPC領域を尋ねられるので、使用可能なVPCに「前回作成したVPC領域」を選択して、[インターネットゲートウェイのアタッチ]をクリックする。
[![Image from Gyazo](https://i.gyazo.com/02ff26edfa8fb242f20b1c8d45c76507.png)](https://gyazo.com/02ff26edfa8fb242f20b1c8d45c76507)

### ■　ルーティング情報
　ネットワークにデータを流すためには、**「ルーティング情報」**と呼ばれる設定が必要となる。この設定は、**「ルートテーブル（Route Table）」**などと呼ばれる。
 
　インターネットで使われる「TCP/IP」というプロトコルでは、データを細切れにした**「パケット（Packet）」**という単位で、データを送受信されている。
 
　パケットは、さまざまな「ヘッダー情報」と「データの実体」を含んでいる。ヘッダー情報の1つに、「宛先IPアドレス」がある。
 
　TCP/IPでは、ネットワーク機器である「ルーター」が、この「宛先IPアドレス」を見ながら、「もっとも宛先IPアドレスに近い方のネットワーク」へと、次々とパケットを送信していき、最終目的地までパケットを到達させる。
 
　パケットをうまく到達させるために、**「宛先IPアドレスの値が、いくつのときには、どのネットワークに流すべきか」**設定する必要がある。この設定のことを**「ルートテーブル」**という。
 
　ルートテーブルは、宛先アドレスを流すべきネットワークの入り口となるルーターという書式で設定する。
 
　宛先アドレスのことを**「ディスティネーション」**という。「流すべきネットワーク先」は**「ターゲット」**などという名称でよぶ。
 
### ■　Amazon VPCでルートテーブルを設定する。
#### ◯　デフォルトのルートテーブル
　VPC領域を作成したあとは、デフォルトのルートテーブルが作られる。そしてサブネットを作成したときには、そのデフォルトのルートテーブルが適用される。サブネットを作成した後に、どのようなルートテーブルが設定されているのかは次のように確認できる。
 
### ■　作業手順
　サブネットに対して設定されているルートテーブルを確認する。
#### ①　[サブネット]メニューを選択して、確認したいサブネットにチェックを入れて[詳細]から[ルートテーブル]の値を確認する。
[![Image from Gyazo](https://i.gyazo.com/99ea27a6427f4c41f3e5d819e5cfdbcf.png)](https://gyazo.com/99ea27a6427f4c41f3e5d819e5cfdbcf)

#### ②　[ルートテーブル]メニューを選択して、先ほど確認した[ルートテーブル]にチェックをつける。その後に[ルート]タブを選択して[設定値]を確認する。
[![Image from Gyazo](https://i.gyazo.com/0fe36f5b8598005838cc5a34504bd1c5.png)](https://gyazo.com/0fe36f5b8598005838cc5a34504bd1c5)

### ■　デフォルトゲートウェイをインターネットに向けて設定する。
　このままでは、「10.0.0.0/16以外の宛先のパケット」は全て破棄されるため、インターネットに接続することができません。
 
　インターネットに接続するために、インターネットゲートウェイを作成しました。そこで、「10.0.0.0/16以外の宛先のパケット」をインターネットゲートウェイに転送するように、ルートテーブルを変更することで、インターネットと通信できるようになります。
 
　具体的には、「0.0.0.0/0の範囲の宛先のパケットは、インターネットゲートウェイに転送する」という設定をルートテーブルに追加する。
 
　「0.0.0.0/0」は、すべてのIPアドレス範囲を示している。つまり、「0.0.0.0/0に対するターゲットの設定」は、「転送先が何も設定されていない時の、デフォルトの転送先」を示している。このデフォルトの転送先を**「デフォルトゲートウェイ」**をよぶ。

### ■　作業手順
　パブリックサブネットをインターネットに接続する。

#### ①　[ルートテーブル]メニューを選択して、[ルートテーブルの作成]をクリックする。
[![Image from Gyazo](https://i.gyazo.com/4a4e31fa674618e4b49929540e2781c8.png)](https://gyazo.com/4a4e31fa674618e4b49929540e2781c8)

#### ②　名前タグに「パブリックルートテーブル」を、VPCに「前回作成したVPC領域」をそれぞれ入力・選択して[作成]ボタンをクリックする。
[![Image from Gyazo](https://i.gyazo.com/1e138a89fc772005296968223b1b97fd.png)](https://gyazo.com/1e138a89fc772005296968223b1b97fd)

#### ③　先ほど作成したルートテーブルにチェックを入れて[サブネットの関連付けの編集]タグを選択し、[サブネットの関連付け]をクリックする。
[![Image from Gyazo](https://i.gyazo.com/0fd9879f7d279eff45f555aff1a74f18.png)](https://gyazo.com/0fd9879f7d279eff45f555aff1a74f18)

#### ④　割り当てたいサブネットにチェックを入れて、[保存]ボタンをクリッっくする。
[![Image from Gyazo](https://i.gyazo.com/17a0322af5d8b98bf2e45584997ccb98.png)](https://gyazo.com/17a0322af5d8b98bf2e45584997ccb98)

#### ⑤　[ルート]タグを選択して、[ルートの編集]をクリックする。
[![Image from Gyazo](https://i.gyazo.com/8a4b1f1bee5a7900164c8824afc81721.png)](https://gyazo.com/8a4b1f1bee5a7900164c8824afc81721)

#### ⑥　[ルートの追加]をクリックして、送信先に「0.0.0.0/0」を、ターゲットに「igwから始まる宛先（インターネットゲートウェイ）」をそれぞれ入力・選択する。
[![Image from Gyazo](https://i.gyazo.com/e0336144d11e28c9be2a41343b8ed642.png)](https://gyazo.com/e0336144d11e28c9be2a41343b8ed642)

#### ⑦　[サブネット]メニューを選択して、関連付けしたサブネットにチェックを入れる。その後に[ルートテーブル]タグを選択して、[ルートテーブル]が先ほど作成したパブリックルートテーブルに変わっていることを確認する。また、[0.0.0.0/0]がインターネットゲートウェイに設定されていることも確認する。
[![Image from Gyazo](https://i.gyazo.com/ee9600318f838e497a57b350e593aefe.png)](https://gyazo.com/ee9600318f838e497a57b350e593aefe)