#ルートテーブル
ルートテーブルとは、
・サブネット1つにつき1個
・サブネットから外に出る通信をどこに向けて発信するかを決めるルール
・ルートと呼ばれるルールで構成されている
・最も明確なルートが優先されて適用
(狭いIPアドレスに範囲にマッチしたルールほど、優先的に適応される)
ルートと呼ばれる1つのルールの集合体を、ルートテーブルといいます。
##ローカルルート(local route)
ローカルルートの特徴は、
・VPCの内部を示しており、VPC内の全てのリソースの通信を可能にする
・最初はlocalルートのみ格納されている
・localルートは削除できない
#インターネットゲートウェイ
続いては、VPCをインターネットと接続するためにインターネットゲートウェイを設定していきます。
インターネットゲートウェイとは、
・VPC内のAWSリソースとインターネットを繋げるもの
・自動でスケールし、可用性が高い
(アクセスが集まりすぎても、AWSが自動で分散処理をしてくれる)
・サブネットのルートテーブルで設定して使用する
##パブリックサブネット(Public subnet)
・ルートテーブルに、インターネットゲートウェイへのルーティング有
(EC2インスタンスからインターネットゲートウェイに直接アクセスできる)
・外部公開しても大丈夫なAWSリソースを置く。
##プライベートサブネット(Private subnet)
・ルートテーブルに、インターネットゲートウェイへのルーティング無
(EC2インスタンスからインターネットゲートウェイに直接アクセスできない)
・ルートテーブルに、(パブリックサブネットにある)NAT gatewayへのルーティング有
・セキュリティレベルが高いデータベースなどを置く。
##NAT
NAT gatewayとは、
・プライベートサブネットからインターネット接続を可能にする
・アウトバウンド(発信)はできるが、インバウンド(受信)はできない
(セキュリティレベルがだいぶ高まる)
NAT gatewayはインターネットゲートウェイと同様に、負荷が高まるとAWS側で自動でスケールしてくれるので、可用性が高まる。
#まとめ
パブリックサブネットのEC2インスタンスは、EC2→インターネットゲートウェイに接続。
プライベートサブネットのEC2インスタンスは、EC2→(パブリックサブネット内の)NAT→インターネットゲートウェイに接続。
*ちなみにプライベートサブネットのEC2にログインするには、一旦パブリックサブネットのEC2にログインしてから再度プライベートサブネットのEC2にログインする2段階の踏み台の形をとっています。