こんにちは!2024年4月に入社しました北中です!
Transit Gateway(以下、TGW)には「DNS サポート」という設定項目がありますが、どのような機能なのか把握していなかったため、検証してみました。
DNSサポートについて
公式ドキュメントを確認したところ、「DNS サポート」について以下のように記載されていました。
[DNS サポート] で、Transit Gateway にアタッチされている別のVPCのインスタンスから照会されたときに、パブリック IPv4 DNS ホスト名をプライベート IPv4 アドレスに解決するために VPC が必要な場合は、[有効] を選択します。
上記の通り、TGWで接続されたリモートVPC内のパブリック IPv4 DNS ホスト名をプライベートIPアドレスに名前解決をできるようにするための機能のようです。
またTGWではこの「DNS サポート」を以下の2か所で設定することが可能でした。
- TGW本体
- TGWのVPCアタッチメント
検証内容
TGW本体とTGWのVPCアタッチメントにおけるDNSサポートの有効/無効を複数パターンで設定し、どのような挙動となるのか検証を行います。
検証環境の構成については以下となります。
インスタンス | パブリック IPv4 DNS ホスト名 | パブリック IPv4アドレス | プライベート IPv4アドレス |
---|---|---|---|
EC2 Instance#1 | ec2-52-68-122-227.ap-northeast-1.compute.amazonaws.com | 52.68.122.227 | 10.0.10.53 |
EC2 Instance#2 | ec2-18-177-144-64.ap-northeast-1.compute.amazonaws.com | 18.177.144.64 | 10.1.10.67 |
上記の内容でVPC内のEC2インスタンスにパブリック IPv4 DNS ホスト名が付与された状態で、お互いのパブリック IPv4 DNS ホスト名をプライベート IPv4 アドレスに名前解決されるのかを確認しました。
検証条件
DNSサポートの有効/無効の組み合わせについて、今回は以下のパターンを検証しました。
- DNSサポートが有効:〇 DNSサポートが無効:×
TGW本体 | TGW Attachment#1 | TGW Attachment#2 | |
---|---|---|---|
パターン1 | 〇 | 〇 | 〇 |
パターン2 | 〇 | 〇 | × |
パターン3 | 〇 | × | × |
パターン4 | × | 〇 | 〇 |
検証結果
パターン1
【EC2 Instance#1での名前解決】
- EC2 Instance#2 の パブリック IPv4 DNS ホスト名(ec2-18-177-144-64.ap-northeast-1.compute.amazonaws.com)がプライベートIP(10.1.10.67)に解決
【EC2 Instance#2での名前解決】
- EC2 Instance#1 の パブリック IPv4 DNS ホスト名(ec2-52-68-122-227.ap-northeast-1.compute.amazonaws.com)がプライベートIP(10.0.10.53)に解決
パターン2
【EC2 Instance#1での名前解決】
- EC2 Instance#2 の パブリック IPv4 DNS ホスト名(ec2-18-177-144-64.ap-northeast-1.compute.amazonaws.com)がプライベートIP(10.1.10.67)に解決
【EC2 Instance#2での名前解決】
- EC2 Instance#1 の パブリック IPv4 DNS ホスト名(ec2-52-68-122-227.ap-northeast-1.compute.amazonaws.com)がパブリックIP(52.68.122.227)に解決
パターン3
【EC2 Instance#1での名前解決】
- EC2 Instance#2 の パブリック IPv4 DNS ホスト名(ec2-18-177-144-64.ap-northeast-1.compute.amazonaws.com)がパブリックIP(18.177.144.64)に解決
【EC2 Instance#2での名前解決】
- EC2 Instance#1 の パブリック IPv4 DNS ホスト名(ec2-52-68-122-227.ap-northeast-1.compute.amazonaws.com)がパブリックIP(52.68.122.227)に解決
パターン4
【EC2 Instance#1での名前解決】
- EC2 Instance#2 の パブリック IPv4 DNS ホスト名(ec2-18-177-144-64.ap-northeast-1.compute.amazonaws.com)がパブリックIP(18.177.144.64)に解決
【EC2 Instance#2での名前解決】
- EC2 Instance#1 の パブリック IPv4 DNS ホスト名(ec2-52-68-122-227.ap-northeast-1.compute.amazonaws.com)がパブリックIP(52.68.122.227)に解決
検証結果まとめ
検証結果より、以下のことが分かりました。
DNSサポートを有効にすることで、TGW経由で接続されたリモートVPC内のパブリック IPv4 DNS ホスト名をプライベート IPv4 アドレスに名前解決可能となる。
TGW本体のDNSサポートを無効にした場合、アタッチメント側の設定に関わらずDNSサポートは無効となる。
TGW本体のDNSサポートを有効かつアタッチメント側のDNSサポートを無効にした場合、無効にしたアタッチメントが属するVPC側のみDNSサポートが無効となる。
まとめ
今回はTransit GatewayのDNSサポートについて複数のパターンで挙動を検証しました。
本ブログがどなたかのお役に立てば幸いです。
北中 雄士(執筆記事の一覧)
2024年4月 中途入社 パクチーが苦手です。