はじめに
AWSでVPCを構築するときの注意点に書いてみました。個人的な備忘録でもあります。
ルーティングテーブルの基礎
サブネットとルーティングテーブルは別々に作成して、サブネットにルーティングテーブルをアタッチして使います。
サブネットとルーティングテーブルのアタッチは、n:1で設定できます。つまり、1つのルーティングテーブルを複数のサブネットで共通して使いまわして使うことができます。もちろん、同じ内容のルーティングテーブルを複数用意して、サブネットとルーティングテーブルとを1:1で設定することもできます。どちらの使い方が便利なのかについては、賛否あるでしょうが、使いまわして使った方が、冗長にならなくて済むといったメリットがあります。
メインテーブルって何?
ルーティングテーブルでは任意のルーティングテーブルをメインテーブルとして設定することができます。メインテーブルとは何かといえば、サブネットでルーティングテーブルの設定がされていない場合、自動的にアタッチされるルーティングテーブルのことをいいます。サブネットにルーティングテーブルを意図的にアタッチせずに、特定のサブネットに対してメインテーブルでルーティングさせるといった使い方ができます。
メインテーブルのここに気をつけろ!
メインテーブルは極力使わないで、サブネットにはルーティングテーブルをしっかりとアタッチさせて使った方がいいでしょう。メインテーブルを利用すると、設定を誤った場合、メインテーブルが意図しないサブネットに自動的にアタッチされてしまう危険性があります。メインテーブルの中にインターネットゲートウェイへのルーティングが追加されている場合は、そのサブネットが自動的にパブリックサブネットになってしまうことになります。
このような誤動作を未然に防ぐためにも、インターネットゲートウェイへのルーティングが追加されているようなルーティングテーブルは絶対にメインテーブルにしないといった暗黙のルールを持っておくことが重要です。