こんにちは、技術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が作成されていました。
aws ec2 describe-network-interfaces \ --network-interface-ids eni-08a35dc601f9525b3 { "NetworkInterfaces": [ { "Ipv6Addresses": [], "Description": "Network Interface for Transit Gateway Attachment tgw-attach-0d48f3ef3b8c42603", "TagSet": [], "Attachment": { "DeviceIndex": 1, "AttachmentId": "ela-attach-e26232c6", "DeleteOnTermination": false, "InstanceOwnerId": "amazon-aws", "Status": "attached" }, "RequesterId": "942978693842", "SourceDestCheck": false, "Status": "in-use", "SubnetId": "subnet-07c2fbaa545b89e9f", "AvailabilityZone": "ap-northeast-1a", "PrivateIpAddresses": [ { "PrivateIpAddress": "172.16.0.46", "Primary": true } ], "Groups": [], "InterfaceType": "transit_gateway", "PrivateIpAddress": "172.16.0.46", "MacAddress": "06:3a:6d:83:50:d4", "OwnerId": "************", "NetworkInterfaceId": "eni-08a35dc601f9525b3", "RequesterManaged": false, "VpcId": "vpc-04ff85daf466a2497" } ] }
トランジットゲートウェイのアタッチメントに紐づいたENIにセキュリティグループをアタッチして通信制御できるかどうか?
こちらのENIへのセキュリティグループのアタッチはできないようです。
下記のようにセキュリティグループをアタッチしようとしてみましたが、エラーになりました。
aws ec2 modify-network-interface-attribute \ --network-interface-id eni-08a35dc601f9525b3 \ --groups sg-0ac1a3070b0924bbd An error occurred (InternalError) when calling the ModifyNetworkInterfaceAttribute operation (reached max retries: 4): An internal error has occurred
アタッチメントのサブネットの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への移行、AWSアカウントセキュリティ、ネットワーク広く浅くといった感じです。最近はAmazon WorkSpacesやAmazon AppStream2.0が好きです。APN Ambassador 2019,2020