45

EC2 インスタンスを指すために Route 53 DNS を使用しています。Elastic IP または CNAME ではなく、Route 53 がインスタンスを直接指すようにする方法はありますか?

これには複数の理由があります。

  1. IPを燃やしたくありません。

  2. CNAME は信頼できません。インスタンスが停止してから復旧すると、完全な名前 ec2-XXXX.compute-1.amazonaws.com が変更されるためです。

  3. 将来的には、インスタンスをプログラムで起動し、サブドメインでアドレス指定する必要がありますが、エラスティック IP または CNAME でこれを行う簡単な方法はありません。

最善のアプローチは何ですか?

4

6 に答える 6

17

ここで提示された他のアプローチに不満だったので、この問題に対する独自の解決策を書きました。Amazon CLI ツールの使用は便利ですが、他の Amazon API ライブラリ (Ruby など) を使用した直接の API 呼び出しよりも遅くなる傾向があります。

AWS Route53 DNS インスタンスの更新Gistへのリンクは次のとおりです。IAM ポリシーと Ruby スクリプトが含まれています。IAM パネルで新しいユーザーを作成し、添付されたポリシー (ゾーン ID を含む) で更新し、Ruby スクリプトで資格情報とパラメーターを設定する必要があります。最初のパラメータは、ホスト ゾーン内のインスタンスのホスト名エイリアスです。インスタンスのプライベート ホスト名は にエイリアスされ<hostname>.<domain>、インスタンスのパブリック ホスト名は にエイリアスされます<hostname>-public.<domain>

更新:インスタンスの起動時にホスト名を登録するAWS Route53 DNS インスタンス更新 init.d スクリプトへのリンクです。同様の方法でAWS Route53 DNS 負荷分散を使用する場合は、次の方法があります。

于 2013-03-12T19:38:22.260 に答える
5

route53の使用に固執する場合は、再起動するたびにそのインスタンスのCNAMEレコードを更新するスクリプトを作成できます。

これを参照してください-> http://cantina.co/automated-dns-for-aws-instances-using-route-53/(開示、私はこれを作成しませんでしたが、同様の状況のジャンプポイントとして使用しました)

さらに良いことに、プログラムでインスタンスを起動できると述べたので、このアプローチはその目的に導くはずです。

-> http://docs.pythonboto.org/en/latest/index.htmlも参照してください

于 2012-05-09T06:18:39.067 に答える
1

Route 53 を使用すると、Elastic Load Balancer (ELB) にマップするエイリアス レコードを作成できます。

http://docs.amazonwebservices.com/Route53/latest/DeveloperGuide/HowToAliasRRS.html

于 2012-04-10T22:11:51.647 に答える
0

AWS EC2 インスタンスを試したことはありませんが、動作するはずです。マシンのパブリック IP を検出し、AWS ルート 53 の特定のレコードを更新する小さな Java プログラムを作成しました。

唯一の要件は、EC2 インスタンスに Java がインストールされている必要があることです。

プロジェクトはhttps://github.com/renatodelgaudio/awsroute53でホストされており、必要に応じて自由に変更できます

これらのLinux 手動インストール手順と同様の手順に従って、レコードが新しいパブリック IP で更新されるように、起動時または crontab ジョブとして実行するように構成できます。

于 2015-02-01T08:22:16.077 に答える