私は、foo.com のようなネイキッド ドメインからサービスを提供し、AWS S3 から提供したいサイトを作成中です。
しかしAWSで見つけられるドキュメントこれを実行するには、すべての DNS を Amazon の Route53 に移行する必要があるという印象を受けました。
私はそれをしたくありませんが、ネイキッド ドメインに CNAME を使用することも、ポイント A レコードを固定 IP にポイントすることもできないため (変更される可能性があるため)、どのようなオプションがあるのかわかりません。
可能ですか?のみ すべてを移行する必要なく、ネイキッド ドメインのサービスを別のプロバイダーに委任できますか?
AWSのドキュメントにこのようなスニペットがあり、GandiでDNSに追加できるのですが、これは委任になると思います。全てドメイン処理を Amazon ネーム サーバーに委ねていますが、これは望んでいないと思います。
foo.com. 172800 IN NS ns-9999.awsdns-99.com.
プロバイダーの Gandi が ALIAS または ANAME レコードをサポートしていない場合、どのような選択肢がありますか?
Aレコードで指定したIPでインスタンスを立ち上げ、それを使ってネイキッドドメインからwww.foo.comでホストされている静的サイトにリクエストをバウンスできるのは理解していますが、他の選択肢はありますか?しかし、これは静的サービスを提供する目的に反するように感じます。そのため、次のようなプロバイダーを使用する以外に方法はありません。クラウドフレア、 またはwwwizer、あなたのためにネイキッドドメインジャペリーを処理する人、他に何ができますか?
答え1
DNS は階層型システムであり、ゾーンの頂点レコードのみを他の場所に委任するメカニズムは提供されていません。
最も簡単な解決策は、DNS ホスティングを Route 53 に移動することです。Route 53 のエイリアス レコードは、S3 のドメインの内容 (および ELB と CloudFront のドメインの内容) に関する Route 53 の内部知識を使用して、クエリに対して正しい A レコード応答を返すことでこの問題を解決します。(エイリアスは DNS レコード タイプではなく、構成ディレクティブです。)
このような変化に抵抗する理由はほとんど思い浮かびません。レジストラRoute 53 に変更する場合は (変更は可能ですが)、現在のレジストラで権威ネーム サーバーを変更するだけで済みます。年間更新や、レジストラが提供するその他のボーナス/バンドルについては、現在のレジストラを引き続き使用できます... DNS ホスティング自体には使用できません。
他のプロバイダーは、受信した DNS 要求を「裏側」の宛先にプロキシし、ターゲットを検索して、応答の適切な部分を元の要求元に返すことで、同様の機能を実現しています。
Cloudflareは「CNAMEフラット化」でこれを実現します。
応答を生成する CloudFlare [DNS] サーバーは CNAME チェーンに従うため、クライアント (ブラウザなど) からの要求に対する応答には CNAME 以外のデータ (通常は IP アドレス) のみが含まれます。これにより、A レコードまたは AAAA レコードが効果的に作成されます。
静的 IP アドレスと A レコードを持つ Web プロキシ サーバーの使用は実行可能なオプションです。実際、SSL 証明書を使用してサイトを提供する場合は、これは悪い選択肢ではありません (S3 はカスタム ドメインの SSL をサポートしていません)。プロキシがバケットと同じ AWS リージョンにある場合、追加のデータ転送料金は発生せず、特定のハードウェア上のプロキシは、ディスク アクセスがないため、同じハードウェア上の実際の Web サーバーよりも多くのコンテンツを提供できます。(そのようなセットアップの 1 つである haproxy を実行する t2 micro では、昨日 891,683 件の Web リクエストを処理しましたが、1 分間の CloudWatch グラフで CPU 使用率が 5% に達することはありませんでした)。もちろん、これにより、追加のコストと可用性の問題が発生します。
しかし、魔法の弾丸は存在しません。