VPC 内で名前解決をする場合は DNS の設定について確認しておく必要があります
目次
VPC 内での DNS の仕組み
VPC には AWS が用意している DNS サーバーがあります。これが Amazon Route 53 Resolver です。
Route 53 Resolver は、AWS リソースからの DNS クエリに対して、パブリックレコード、VPC 固有の DNS 名、Route 53 プライベートホストゾーンの名前解決を行います。
Route 53 Resolver は、名前の種類に応じて参照先を変更します。
ip-10-0-1-10.ap-northeast-1.compute.internal
→ VPC 内の EC2 private DNS
db.internal.example.com
→ Route 53 private hosted zone
secretsmanager.ap-northeast-1.amazonaws.com
→ public DNS または VPC Endpoint private DNS
www.amazon.com
→ インターネット上の public DNS
パブリック DNS と プライベート DNS の違い
パブリック DNS
パブリック DNS は、インターネット全体から名前解決できる DNS です。
例:
www.example.com
api.example.com
Route 53 の Public Hosted Zone にレコードを作ると、インターネット上の DNS から解決できます。
パブリックホストゾーン設定の画面

プライベートDNS
プライベート DNS は、VPC 内、または関連付けたネットワーク内だけで使う DNS です。
例:
db.internal.example.com
redis.internal.example.com
service.local
Route 53 の Private Hosted Zone にレコードを作り、VPC に関連付けると、その VPC 内からだけ解決できます。
VPC 内の EC2
↓
db.internal.example.com
↓ DNS
10.0.10.10
プライベート DNS を利用するメリット
正直言って VPC 内でプライベート DNS を利用するメリットはそんなに感じませんが、メリットもあります。ただ、それ以上に運用の負荷があるかもしれません。
EC2 や RDS に対して、DNS 名でプライベートで対象リソースへ接続できるようになります。
たとえば、アプリケーションから 特定の EC2 インスタンスに接続するときに、
10.0.12.34
ではなく、
web.internal.example.com
で接続できるようになります。
他にメリットとしては、先に命名規則を設計しておき、それに対してリソースを割り当てていくことができます。その結果、IP アドレスが変わっても柔軟に対応することができます。それに対して運用しやすいと感じるのか、運用の手間がかかると感じるのかは環境によると思います。