一般的にはNACLを使用することはほとんどないと思いますが、大企業案件だと運用ルールとしてNACLを使わなければならない場合があります。
背景
当初はセキュリティグループで通信制御をする想定だったのですが、急遽NACLも設定しないといけない状態になりサブネット単位でIN/OUTの許可設定を追加しました。
そうすると、なぜかTransitGateway経由の通信がブロックされてしまう事態に遭遇。
NACLにはTransitGateway経由のIPアドレスも許可設定を入れているのに何故?
NACLに全許可設定「0.0.0.0/0」を設定したり、NACLをサブネットから外すと通信が成功する状態。
VPC Flow Logを見ると「VPC->TransitGateway」は通信成功しているが「TransitGateway->VPC」への通信がブロックされているように見える。
原因
TransitGateway経由の場合はNACLの設定が特殊でした。
ネットワーク ACL とトランジットゲートウェイの動作
これをみると、TransitGatewayからVPCへのトラフィックについては「インバウンドルールとアウトバウンドルールは評価されません」という一文があります。
理由はよくわからんがこの部分が問題となっていそう。
最終的には、VPC(サブネット)のネットワークアドレスをNACLに設定することにより通信できるようになりました。
TransitGateway環境でNACLを使用する場合は自分自身のサブネットも許可設定に割り当てるようにしましょう。
コメント