Terraform currently provides both a standalone Route resource and a Route Table resource with routes defined in-line. At this time you cannot use a Route Table with in-line routes in conjunction with any Route resources. Doing so will cause a conflict of rule settings and will overwrite rules.
ということが書いてあって、r/aws_route_tableの中のインラインrouteでルートテーブルのルートを追加することはできるのだけれどコンフリクトに気をつけてねっていう。そして両方書いた時にどっちが上書きされるのかはドキュメントからはわからない。
インラインなrouteを追加すると、r/aws_route_table内で全削除全追加みたいなplan結果になるので、差分をチェックする負荷がかかるし、意図しないplan結果は精神衛生上良くない。 r/aws_routeで頑張って追加すると、r/aws_route_table内の変更はなくなる。
terraform の aws_route_table の route でルートを羅列すると、ルートを追加や削除したときに全削除→全追加っぽい差分になってしまうけど、デバッグログや trail でAPI呼び出しを見てみると、実際に追加や削除されたものだけが操作されているもよう? #terraform
— ngyuki (@ngyuki) 2023年5月2日