LoginSignup
13

More than 1 year has passed since last update.

<AWS>VPCのDNS ホスト名を『有効』にするということ

Last updated at Posted at 2020-12-01

背景

以前、EC2から同じサブネット内のEC2に秘密鍵を指定して「ssh」コマンドを実行した際、下記のようにエラーが出力され、SSH接続できないということがありました。

$ ssh -i id_rsa [ユーザー名]@[ホスト名]
ssh: Could not resolve hostname [ホスト名]: Name or service not known

接続先へは公開鍵を配置していて、セキュリティグループにも問題がない状態です。
結果的に、VPCのDNS ホスト名を『有効』にすることで解決したのですが、それまで全くこの機能について意識できていませんでした。
この記事で、VPCのDNS ホスト名を『有効』にするのとしないのとではどう違うのか、簡単に整理します。

DNS ホスト名が『無効』の場合

20201128①_qiita.png
まず、VPCを作成すると、デフォルトではDNS 解決のみ『有効』になっており、DNS ホスト名は『無効』になっています。
この状態だと、ホストアドレス「.2」が割り当てられたDNSサーバー(Amazon Route 53 Resolver)はVPCに存在するのですが、名前解決ができません。
そのため、EC2①からEC2②に秘密鍵を指定して「ssh」コマンドを実行しても、エラーになってしまいます。

DNS ホスト名が『有効』の場合

20201128②_qiita.png
VPCのDNS ホスト名を『有効』にすると、DNSサーバー(Amazon Route 53 Resolver)が機能し、名前解決を行ってくれるので、秘密鍵を指定して「ssh」コマンドを実行すると、EC2①からEC2②にSSH接続することができます。

参考ドキュメント

以下、この記事を書く際に使用した公式ドキュメントです。
Amazon DNS サーバー(Amazon Route 53 Resolver)
VPC での DNS の使用
IPv4 用の VPC とサブネットのサイズ設定

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13