そのエンドポイント、ほんとにエンドポイントを経由している?
下記の図のように、実際の通信が想定していた通信と異なるルートになっていないですか?
最近エンドポイント関連でハマったので、以下の組合せによる注意点メモ(Route 53 Resolverは考慮外)
・エンドポイント
・VPCのDNS解決
・OSのDNS
・エンドポイント作成時に[Enable DNS name]を有効にする場合は、VPCの[DNS解決]を有効にする必要がある。
・エンドポイント作成時に[Enable DNS name]を無効にすれば、VPCの[DNS解決]は無効のままでもエンドポイントは作成できる。
・エンドポイントの[Enable DNS name]を無効、VPCの[DNS解決]は有効という組み合わせも設定上できることはできる。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/vpc-enable-private-hosted-zone/
・OSのDNS設定がAmazonProviedDNSを向いていれば、エンドポイントのプライベートIPへ名前解決ができる。
・OSのDNS設定がオンプレDNSを向いている場合、エンドポイントのパブリックIPで名前解決される。(オンプレDNSはフォワーダー設定なしを想定)
・OSのDNS設定がAmazonProviedDNSを向いると、エンドポイント含め全ての名前解決はできない。(hostsの情報や自身のホスト名は含まない)
・OSのDNS設定がオンプレDNSを向いている場合、エンドポイントのパブリックIPで名前解決される。(オンプレDNSはフォワーダー設定なしを想定)
AmazonProviedDNS以外のDNSを設定した場合、OSのhostsにエンドポイントの情報を記載すれば想定通りの通信とできたが、
DNSフォワーダーの設定や、Route 53 Resolverを取り入れる方が綺麗な設計かと思います。
OSのDNS参照先 | エンドポイントのDNS | VPC DNS解決 | 対応しない場合 | エンドポイントの名前解決をローカルIPで回答を受けたい場合の対応 |
---|---|---|---|---|
AmazonProviedDNS | 有効 | 有効 | ローカルIPを回答 | 対応不要 |
AmazonProviedDNS | 無効 | 無効 | 名前解決されない | hostsにエンドポイントの情報を記載する |
AmazonProviedDNS | 無効 | 有効 | グローバルIPを回答 | hostsにエンドポイントの情報を記載する |
オンプレDNS(フォワード無し) | 有効 | 有効 | グローバルIPを回答 | hostsにエンドポイントの情報を記載する |
オンプレDNS(フォワード無し) | 無効 | 無効 | グローバルIPを回答 | hostsにエンドポイントの情報を記載する |
オンプレDNS(フォワード無し) | 無効 | 有効 | グローバルIPを回答 | hostsにエンドポイントの情報を記載する |
オンプレDNS(フォワード有り)Region.amazonaws.comをVPCのDNSのIPに設定 | 有効 | 有効 | ローカルIPを回答 | 対応不要 |
オンプレDNS(フォワード有り)Region.amazonaws.comをVPCのDNSのIPに設定 | 無効 | 無効 | 名前解決されない | hostsにエンドポイントの情報を記載する |
オンプレDNS(フォワード有り)Region.amazonaws.comをVPCのDNSのIPに設定 | 無効 | 有効 | グローバルIPを回答 | hostsにエンドポイントの情報を記載する |