aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

AWS CLIで VPCのDNS設定を操作する

VPC Defaultのタイミングで対応した、VPCDNSホスト名、およびDNSの名前解決機能を、AWS CLIでOn/Offする。

Amazon Web Services ブログ: 【AWS発表】Amazon EC2 アップデート - 全ての皆様にVPC (Virtual Private Cloud)を!

 DNSホスト名 - default VPC内に起動されたインスタンスは全て、プライベートとパブリックなホスト名を持ちます。DNSホスト名は既存のVPCでは無効になっていますが、必要に応じて有効にできます。同じVPC内の他のインスタンスのパブリックホスト名を名前解決すると、対象インスタンスのプライベートIPが返されます。VPCの外のインスタンスのパブリックホスト名を名前解決すると、そのインスタンスのパブリックIPが返されます。

DNSの名前解決 - DNSの名前解決は全てのVPCで有効になっていますが、必要に応じてVPC内に用意されたDNSサービスの使用を無効にすることができます。

 詳細はこちら Using DNS with Your VPC - Amazon Virtual Private Cloud

ということで、操作方法は以下。

DNSホスト名のOn/Offを確認する

$ aws ec2 describe-vpc-attribute --region us-west-2 \
                  --vpc-id vpc-f18dd49a  \
                  --attribute enableDnsHostnames

DNS名前解決のOn/Offを確認する

$ aws ec2 describe-vpc-attribute --region us-west-2 \
                  --vpc-id vpc-f18dd49a  \
                  --attribute enableDnsSupport

DNS名前解決をOnにする

$ aws ec2 modify-vpc-attribute --region us-west-2 \
                  --vpc-id vpc-f18dd49a  \
                  --enable-dns-support  '{"Value":true}' 

DNSホスト名をOnにする

$ aws ec2 modify-vpc-attribute --region us-west-2 \
                  --vpc-id vpc-f18dd49a  \
                  --enable-dns-hostnames '{"Value":true}' 
参考1 コマンドリファレンス

modify-vpc-attribute — AWS CLI 1.1.2 documentation

describe-vpc-attribute — AWS CLI 1.1.2 documentation

参考2 APIリファレンス

ec2-describe-vpc-attribute - Amazon Elastic Compute Cloud

ec2-modify-vpc-attribute - Amazon Elastic Compute Cloud

参考3 従来のコマンド (api-tools)

従来のコマンドラインだと このような操作にななる

$ ec2-describe-vpc-attribute vpc-f18dd49a  \
                   --region us-west-2 \
                   --dns-support
$ ec2-describe-vpc-attribute vpc-f18dd49a  \
                   --region us-west-2 \
                   --dns-hostnames
$ ec2-modify-vpc-attribute -c vpc-f18dd49a \
                   --region us-west-2 \
                   --dns-support true
$ ec2-modify-vpc-attribute -c vpc-f18dd49a \
                   --region us-west-2 \
                   --dns-hostname true

リファレンス

ec2-modify-vpc-attribute - Amazon Elastic Compute Cloud

ec2-describe-vpc-attribute - Amazon Elastic Compute Cloud