[解決済み] Amazon Route53でDNSベースのURL転送を設定する【終了しました
質問
Amazon Route53で転送を設定しようとしています。 私の最後のDNSサービス(Nettica)は、"aws.example.com"へのリクエストを"https://myaccount.signin.aws.amazon.com/console/"にルーティングすることができました。
この機能はRoute53でサポートされていますか?
Netticaはどのようにこれを実現しているのですか? 特別なA、CNAME、PTR、またはTXTレコードを挿入するのですか?
解決方法は?
私はSauravが説明したのと全く同じ問題にぶつかっていましたが、Route 53とS3以外のものを必要としない解決策を見つける必要がありました。 私は自分のブログで、私が行ったことを詳しく説明するハウツーガイドを作成しました。
以下は、私が思いついたものです。
目的
Amazon S3とAmazon Route 53で利用可能なツールのみを使用して、以下のようなURLリダイレクトを自動的に作成します。 http://url-redirect-example.vivekmchawla.com にある、"MyAccount"というエイリアスのAWS Consoleサインインページに移動します。 https://myaccount.signin.aws.amazon.com/console/ .
このガイドでは、AmazonのURLだけでなく、あらゆるURLへのURL転送を設定する方法を学びます。特定のフォルダ(私の例では "/console")への転送を設定する方法と、リダイレクトのプロトコルを HTTP から HTTPS に変更する方法(またはその逆)を学びます。
ステップ1:S3バケットを作成する
S3マネジメントコンソールを開き、"Create Bucket"をクリックします。
ステップ2:S3バケットに名前を付ける
-
バケツ名を決めます。このステップは本当に重要です! バケツには、転送したい URL と全く同じ名前を付ける必要があります。このガイドでは、 "url-redirect-example.vivekmchawla.com" という名前を使用します。
-
地域はご自分に合ったものを選んでください。わからない場合は、デフォルトのままにしてください。
-
ログの設定は気にしないでください。準備ができたら、「作成」ボタンをクリックするだけです。
ステップ3:静的ウェブサイトホスティングを有効にし、ルーティングルールを指定する
- プロパティウィンドウで、quot;Static Website Hosting"の設定を開いてください。
- ウェブサイトホスティングを有効にする」を選択します。
- Index Document"に値を入力します。このオブジェクト(ドキュメント)は、S3から提供されることはなく、アップロードする必要もありません。好きな名前を使ってください。
- Edit Redirection Rules"の設定を開いてください。
-
以下のXMLスニペットを丸ごと貼り付けます。
<RoutingRules> <RoutingRule> <Redirect> <Protocol>https</Protocol> <HostName>myaccount.signin.aws.amazon.com</HostName> <ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith> <HttpRedirectCode>301</HttpRedirectCode> </Redirect> </RoutingRule> </RoutingRules>
上記のXMLが何をしているのか気になる方は、以下のサイトをご覧ください。
ルーティングルール指定のための構文"
. ここでは説明しませんが、転送先ホストの特定のページに転送するテクニックもあります。
http://redirect-destination.com/console/special-page.html
. について読む
<ReplaceKeyWith>
要素を使用します。
ステップ4:リダイレクトバケットのエンドポイントを記録する。
このバケットにAmazonが自動的に作成したStatic Website Hosting "エンドポイント"をメモしておきます。これは後で必要になるので、URL全体をハイライトし、コピーしてメモ帳に貼り付けてください。
注意! この時点で、実際にこのリンクをクリックして、リダイレクションルールが正しく入力されているかどうかを確認することができます。その理由は...
の中に間違った値を入力したとします。
<Hostname>
タグを使用しています。例えば、誤って
myaccount.amazon.com
の代わりに
myaccount.signin.aws.amazon.com
. エンドポイント URL をテストするためにこのリンクをクリックすると、AWS は喜んであなたのブラウザを間違ったアドレスにリダイレクトします!
間違いに気づいた後、おそらくは
<Hostname>
をリダイレクションルールに追加して、エラーを修正します。残念ながら、リンクをもう一度クリックしようとすると、間違ったアドレスにリダイレクトされてしまう可能性が高いのです。せっかく
<Hostname>
のエントリをキャッシュしているため、ブラウザは以前の(不正確な!)エントリをキャッシュしています。これは、HTTP 301(永久)リダイレクトを使用しているためで、ChromeやFirefoxなどのブラウザは、デフォルトでキャッシュを行います。
エンドポイントURLをコピーして別のブラウザに貼り付けると(あるいは現在のブラウザのキャッシュをクリアすると)、更新された
<Hostname>
のエントリが最終的に正しいものになります。
念のため、エンドポイントURLとリダイレクトルールをテストしたい場合は、Chromeの"Incognito Mode"のようなプライベートブラウジングセッションを開くとよいでしょう。エンドポイントURLをコピーして貼り付け、インコグニートモードでテストすると、セッションを閉じたときにキャッシュされたものが消えます。
ステップ5:Route53管理コンソールを開き、ホストされたゾーン(ドメイン名)のレコードセットに移動します。
- バケット作成時に使用したHosted Zone(ドメイン名)を選択します。私はバケットに "url-redirect-example.vivekmchawla.com" という名前をつけたので、vivekmchawla.com Hosted Zoneを選択します。
- Go to Record Sets"ボタンをクリックします。
ステップ6:「レコードセットの作成」ボタンをクリックします。
Create Record Set"をクリックすると、Route53 Management Consoleの右側にCreate Record Setウィンドウが表示されます。
ステップ7:CNAMEレコードセットの作成
-
名前]フィールドには、S3バケットに名前を付けるときに使用したURLのホスト名部分を入力します。URLのquot;hostname部分"は、Hosted Zoneの名前の左側にあるもの全てです。私はS3バケットに "url-redirect-example.vivekmchawla.com" と名付け、Hosted Zoneは "vivekmchawla.com" なので、入力すべきhostname部分は "url-redirect-example" となります。
-
このレコードセットのタイプで「"CNAME - Canonical name"」を選択します。
-
Valueには、Step3で作成したS3バケットのEndpoint URLを貼り付けます。
-
Create Record Set"ボタンをクリックします。エラーがなければ、ホストゾーンのレコードセットのリストに新しいCNAMEレコードが表示されます。
ステップ8:新しいURLのリダイレクトをテストする
新しいブラウザのタブを開いて、先ほど設定したURLを入力してください。私の場合、それは http://url-redirect-example.vivekmchawla.com . 正しく動作していれば、AWSのサインインページに直接飛ばされるはずです。
を使用しているため
myaccount.signin.aws.amazon.com
のエイリアスをリダイレクト先のURLとして使用することで、Amazonは私たちがどのアカウントにアクセスしようとしているのかを正確に把握し、そこに直接誘導してくれます。これは、従業員や契約社員に短く、きれいな、ブランドのAWSログインリンクを与えたい場合、非常に便利です。
結論
個人的にはAWSの各種サービスが大好きなのですが、DNS管理をAmazon Route 53に移行することにした場合、URL転送が簡単にできないことが不満になることがあります。このガイドが、Hosted ZonesのURL転送の設定を少しでも簡単にするのに役立てば幸いです。
もっと詳しく知りたい方は、AWSドキュメンテーションサイトの以下のページをご覧ください。
乾杯
関連
-
[解決済み] サーバーがNXDOMAINを見つけることができません。
-
[解決済み] traceroute: 不明なホストと不明なレジストラでのwhois
-
[解決済み] なぜMSMQは私がワークグループのコンピューターにいると考えるのですか?
-
[解決済み] ICANNドメインステータス「clientTransferProhibited」とは何ですか?
-
[解決済み] あるドメイン名の権威あるネームサーバーを見つけるにはどうしたらよいですか?
-
[解決済み】あるドメインのすべてのサブドメインのリストを取得する方法は?[クローズド]。
-
[解決済み】全てのDNSレコードを一覧表示する方法は?[クローズド]
-
[解決済み】(ドメイン名)サブドメインにアンダースコア「_」を入れることは可能ですか?
-
[解決済み] Amazon Route53でDNSベースのURL転送を設定する【終了しました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] サーバーがNXDOMAINを見つけることができません。
-
[解決済み] コード NoSuchBucket
-
[解決済み] traceroute: 不明なホストと不明なレジストラでのwhois
-
[解決済み] なぜMSMQは私がワークグループのコンピューターにいると考えるのですか?
-
[解決済み] ICANNドメインステータス「clientTransferProhibited」とは何ですか?
-
[解決済み] あるドメイン名の権威あるネームサーバーを見つけるにはどうしたらよいですか?
-
[解決済み】あるドメインのすべてのサブドメインのリストを取得する方法は?[クローズド]。
-
[解決済み】全てのDNSレコードを一覧表示する方法は?[クローズド]
-
[解決済み】(ドメイン名)サブドメインにアンダースコア「_」を入れることは可能ですか?
-
[解決済み] Amazon Route53でDNSベースのURL転送を設定する【終了しました