ルーティングとは?
ルーターが行う通信をどこに運ぶかを制御する機能のことです。
ルーティングの仕組み
ルーターはルートテーブルという「宛先IPアドレス」と「宛先ルーター名」を保持しているテーブルを持っています。
ルートテーブル
AWSの場合はVPCと各サブネットに対して設定できます。ルートテーブルを作成したら各サブネットごとに紐づけることになります。サブネットから外に出る通信をどこにむけて発信するか設定することが可能です。ルートと呼ばれるルールで構成されます。
ルートテーブルの特徴
最も明確なルールが優先して適用されます。
最も狭いIPアドレスの範囲のルールが優先して適用されます。
例えば、ルートテーブルが下記のようになっていた場合は、宛先が10.0.0.0/16に該当するパケットの場合はVPC内に転送されますし、それに当てはまらない通信の場合はインターネットに転送されます。下のルールは全てのIPアドレスに該当しますが、上のルールの方が明確なので上の範囲に該当する宛先パケットは上が優先して実行されます。
送信先(宛先IP) | ターゲット |
---|---|
10.0.0.0/16 | local |
0.0.0.0/0 | インターネット(「インターネットゲートウェイ」やNATゲートウェイ等) |
送信先(宛先IP)
0.0.0.0/0
デフォルトルートを指し、ルートテーブルに登録されているどの宛先IPアドレスにも合致しない場合の経路になります。
宛先ルーター(AWSで言えば「ターゲット」)
local
デフォルトで一つ決まっており削除することはできません。VPCの内部を指していてVPC内の全てのリソースを指しています。要は同じVPC内の通信だったら自由に行き来ができますよという設定になります。
「インターネットゲートウェイ」と「NATゲートウェイ」の概要図
インターネットゲートウェイ(AWS)
VPC内のリソースとインターネットをつなげる仮想ルーターです。インターネットゲートウェイを作成したらVPCにアタッチすることになります。パブリックサブネットのルートテーブルを設定して使用します。
インターネットゲートウェイの特徴
アクセス数が高まったとしても、AWSが自動でスケールしてくれるため可用性が高いです。
NATゲートウェイ
プライベートサブネットからインターネットを可能にできます。アウトバウンドへはいけるがインバウンドへの通信ができないです。こちらもインターネットゲートウェイと同様に自動でスケールしてくれるので高い可用性があります。
プライベートサブネットに配置してあるEC2サーバへログインするには
一旦、パブリックサブネットにあるサーバーにログインしてからNATゲートウェイを介してプライベートサブネット内にあるサーバーにログインするという踏み台サーバー経由でログインする必要があります。
この記事へのコメントはありません。