CloudFormationでカスタムルートテーブルをメインルートテーブルに設定する事はできない
はじめに
”できない”という事実をWeb上のドキュメントから見つけ出すのは、できる事を見つけ出すよりも苦労するのでブログに記録しておく。
結論
自分で作成したカスタムルートテーブルをメインルートテーブルにする事は、クラウドフォーメーションでは出来ない(2022年10月、AWSサポートに確認)
AWS CLIでメインルートテーブルに設定する場合
describe-route-tables — AWS CLI 1.26.0 Command Reference
でassociationを特定してから
replace-route-table-association — AWS CLI 1.26.0 Command Reference
でメインルートテーブルに設定する
AWS マネジメントコンソールでメインルートテーブルに設定する場合
当該のルートテーブルを選択して「アクション > メインルートテーブルを設定」を押す
↓
フィールドに「設定」と入力して「OK」ボタンを押す
自分の想像
そもそもメインルートテーブルは、ルートテーブルと明示的に関連づけられていないサブネットに対して関連付けられるルートテーブルになる。
なので、全てのサブネットを明示的にルートテーブルを関連付けておけば事足りる
「ここだけはCLIで」みたいな事はなるべくしたくないので、CloudFormationで環境構築する場合は明示的にルートテーブルとサブネットと関連づけるのが良い気がする。
今になって、CloudFormationに機能がないという事は、メインルートテーブルの設定はさほど重視されていないのだと思う(非推奨というわけではないらしいが)。