トランジットゲートウェイ利用におけるアクセスコントロールについて調べてみました。

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術4課の城です。
先日、東京リージョンにリリースされたトランジットゲートウェイですが、検証していたところ、アタッチメントについてサブネットを指定する部分があり、少し気になりました。
どうやら指定したサブネットにENIが作成されているようで、トランジットゲートウェイでのアクセスコントロールに使えないかと思い、調べてみました。

※本記事に記載の内容は2018/12/19時点での内容となります。

サブネットの指定について

AWSドキュメントには下記の記載があり、AZ毎に一つのサブネットを指定する必要があるようです。

For Subnet IDs, select one subnet for each Availability Zone to be used by the transit gateway to route traffic.

トランジットゲートウェイ アタッチメントを作成するとENIが作成される

トランジットゲートウェイとVPCのアタッチする際に指定したサブネットにENIが作成されていました。

トランジットゲートウェイのアタッチメントに紐づいたENIにセキュリティグループをアタッチして通信制御できるかどうか?

こちらのENIへのセキュリティグループのアタッチはできないようです。
下記のようにセキュリティグループをアタッチしようとしてみましたが、エラーになりました。

アタッチメントのサブネットのNetwork ACLを利用して通信制御できるか?

ENIが存在するVPC側のCIDRを対象にしたDenyルールについては記載通りアクセス拒否されるのですが、対向側のCIDRを記載したルールについては適用されていないようでした。
トランジットゲートウェイのアタッチメントに紐づいたENIのVPC Flow Logsを確認してみたところ、対向側のIPアドレスは表示されていなかったことから、現時点ではこのような利用方法は難しそうです。
※エッジのEC2のENIで取得したVPC Flow Logsでは送信元が表示されていました。

まとめ

現時点ではトランジットゲートウェイの部分でアクセス制御を行うのは難しそうです。
必要であれば、ルーティング、AWS側であればエッジでのセキュリティグループやNetwork ACL、VPNでオンプレミスに繋ぐのであれば、オンプレミス側のファイアーウォールで適切に設定する必要があるようです。

【参考】
AWS News Blog 「New – Use an AWS Transit Gateway to Simplify Your Network Architecture」
AWSドキュメント
AWS Transit Gateway よくある質問

AWS運用自動化サービス「Cloud Automator」