Simple Storage Service (Amazon S3) と Amazon Route 53 を使用して apex ドメインを別のドメインにリダイレクトする方法はありますか。

最終更新日: 2022 年 1 月 31 日

ルート (apex) ドメイン (example.com など) から別のドメイン (example.net など) にインターネットトラフィックをリダイレクトしたいと考えています。これを行うにはどうすればよいですか。

解決方法

前提条件

  • Amazon Route 53 でホストされたドメイン example.com のホストゾーンがあります。
  • example.com のホストゾーンにリソースレコードを追加するアクセス許可があります。
  • Amazon Simple Storage Service (Amazon S3) バケットを作成するアクセス許可があります。
  • example.com の名前をそのまま使用して S3 バケットを作成することができます
    注意:
    リダイレクトでは HTTPS 経由で Simple Storage Service (Amazon S3) に接続できないため、サイトは HTTP を使用する必要があります。

以下の手順に従って、ドメインをリダイレクトします。このステップでは、example.com を example.net にリダイレクトします。

  1. Simple Storage Service (Amazon S3) コンソールで、example.com の名前をそのまま使用して S3 バケットを作成します。
    注意: S3 バケット名は、グローバルに一意である必要があります。必要なバケット名が既に使用されている場合は、リダイレクトのために Simple Storage Service (Amazon S3) を使用することはできません。バックエンドサーバーでリダイレクトを設定するなど、他の回避策を検討してください。
  2. 作成したバケットを選択し、[Properties] (プロパティ) を選択します。[Static Website Hosting] (静的ウェブサイトホスティング) ドロップダウンリストを展開し、[Redirect requests for an object] (オブジェクトのリダイレクト要求) を選択します。
  3. [Host name] (ホスト名) フィールドに example.net と入力し、[Save] (保存) を選択します。
  4. Route 53 コンソールで、example.com という名前のホストゾーンを選択します。
  5. 以下の値を使用して example.com のリソースレコードを作成します。
    レコード名: example.com
    [Record Type] (記録形式) : [A - IPv4 address] (A - IPv4 アドレス) を選択します。
    [Route traffic to] (トラフィックのルーティング先) : [Alias to S3 website endpoint] (S3 ウェブサイトエンドポイントへの関連付け) を選択します。
  6. [Region] (リージョン) を選択し、作成した S3 エンドポイントを入力します。
    [Routing policy] (ルーティングポリシー)で、[Simple] (シンプル) を選択します。
    [Evaluate Health Target] (正常性ターゲットの評価) : [No] (いいえ) を選択し、[Create Records] (レコードの作成) を選択します。

これで、example.com を example.net にリダイレクトできるようになりました。確認するには、example.com を参照するか、example.com に移動してください。curl 出力に「301 Moved Permanently」というエラーが表示され、ページが example.net にリダイレクトされることを確認します。