RDSエンドポイントは常に外部IPにマッピングされます

RDSエンドポイントは常に外部IPにマッピングされます

RDS インスタンスを実行しており、インターネットにアクセスできます。

VPC 内のインスタンスがインターネット経由ではなく内部的に接続できるようにしたいと思います。

別の質問によると(https://stackoverflow.com/questions/21089582/amazon-rds-endpoint-internal) VPC 内からクエリされた場合、ホスト接続文字列は内部 IP にマップされる必要があります。これは機能せず、何をしても外部 IP が取得されます。

  • VPC は 1 つしかないため、ピアリングは使用されていません。
  • カスタム DHCP オプションを設定していますが、これが問題の原因である可能性があります。

私のVPCのDHCPオプションセットは domain-name = mysite.local;domain-name-servers = 10.10.51.254;

私のカスタム DHCP オプション セットが原因で、これが壊れているのではないかと思います。mysite.localはローカル ドメインであり、10.10.51.254ローカル Bind サーバーです (Route53 は使用していません)。

DNS サーバーで何らかの前方参照を構成する必要がありますかus-east-1.rds.amazonaws.com、それともどこかに構成が欠けているのでしょうか? これは VPC 内で「自動」になるはずだと思っていたため、間違っているようです。

答え1

ここで問題となるのは、Amazon が提供する DNS ではなく、プライベート DNS サーバーを使用していることです。これらの AWS サービスでドメイン検索を実行するのに役立つ「Amazon からの自動 VPC マジック」は実行されていません (これは私が誤って想定していたことです)。

ここでの秘密は、Amazon 提供の DNS を使用しない場合でも、VPC の DNS サーバーに対してルックアップを実行できることです。

VPCが設定しているDNS resolution場合DNS hostnamesYES次に、VPC CIDR ブロックのベース アドレス +2 にある VPC の DNS サーバーでルックアップを実行できます (つまり、VPC が の場合、10.10.0.0/16DNS ルックアップ アドレスは です10.10.0.2)。これは、私が調べていたときに、ランダムなブログ投稿から見つけたものですが、Amazon ドキュメントで行ったすべての DNS 検索が Route 53 のもので溢れているため、公式ドキュメントにあるかどうかはわかりません。

これで DNS フォワード ルックアップが機能するようになったので、あとはバインド サーバーにフォワード ルックアップを追加するだけです。ここでの注意点は、RDS インスタンスのホスト名が実際には CNAME ルックアップであることです。

例えば:

user@host:~$ nslookup mydb.cvxj3uli9kc.us-east-1.rds.amazonaws.com
Server:     10.10.51.254
Address:    10.10.51.254#53

Non-authoritative answer:
mydb.cvxj3uli9kc.us-east-1.rds.amazonaws.com    canonical name = ec2-34-204-131-19.compute-1.amazonaws.com.
Name:   ec2-34-204-141-206.compute-1.amazonaws.com
Address: 34.204.131.19

ルックアップは実際には CNAME レコードであるcompute-1.amazonaws.comため、両方に対して転送ルールが必要です。

要約:私の VPC の CIDR が である場合10.10.0.0/16、私の問題を解決し、この質問に答える転送ブロックの例を次に示します。

zone "mydb.cvxj3uli9kc.us-east-1.rds.amazonaws.com" {
    type forward;
    forward only;
    forwarders { 10.10.0.2; };
};

zone "compute-1.amazonaws.com" {
    type forward;
    forward only;
    forwarders { 10.10.0.2; };
};

これで、ローカル VPC 内のすべてのサービスが RDS インスタンスのプライベート IP を検索できるようになり、パブリック解決も VPC 外部から引き続き機能します。

関連情報