Amazon S3 バケットでホストされているウェブサイトへのトラフィックのルーティング - Amazon Route 53

Amazon S3 バケットでホストされているウェブサイトへのトラフィックのルーティング

Amazon Simple Storage Service (Amazon S3) では、安全で耐久性があり、拡張性の高いクラウドストレージを提供します。ウェブページとクライアント側スクリプトを配置できる静的ウェブサイトをホストするよう S3 バケットを設定できます (S3 ではサーバー側スクリプトがサポートされていません)。

ドメイントラフィックを S3 バケットにルーティングするには、Amazon Route 53 を使用して、バケットをポイントするエイリアスレコードを作成します。エイリアスレコードは、DNS への Route 53 拡張です。ルートドメイン (example.com など) とサブドメイン (www.example.com など) の両方にエイリアスレコードを作成できることを除いて、CNAME レコードに似ています。サブドメインのみに対して CNAME レコードを作成できます。

注記

Route 53 では、S3 バケットや他の AWS リソースへのエイリアスクエリには料金が発生しません。

Prerequisites

開始する前に、以下のものが必要です。Amazon Route 53 または S3 を初めて使用する場合は、「Amazon Route 53 の開始方法 」を参照してください。ここでは、ドメイン名の登録、S3 バケットの作成と設定を含めて、プロセス全体について説明されています。

  • 静的ウェブサイトをホストするように設定された S3 バケット。

    詳細については、Amazon Simple Storage Service デベロッパーガイドの「ウェブサイトホスティング用にバケットを設定する」を参照してください。

    重要

    バケットは、ドメインまたはサブドメインと同じ名前にする必要があります。例えば、サブドメイン acme.example.com を使用している場合、バケットの名前は acme.example.com にする必要があります。

    ドメインとそのサブドメイン (example.com と www.example.com など) のトラフィックは、単一のバケットにルーティングすることができます。ドメインと各サブドメインのバケットを作成してすべて設定します。ただし、1 つのバケットについては、残りのバケットにトラフィックをリダイレクトするように設定します。詳細については、「Amazon Route 53 の開始方法 」を参照してください。

    注記

    ウェブサイトエンドポイントとして設定されている S3 バケットは SSL/TLS をサポートしないため、トラフィックを CloudFront ディストリビューションにルーティングして、S3 バケットをディストリビューションのオリジンとして使用する必要があります。

    CloudFront ディストリビューションを作成する手順については、CloudFront ユーザーガイドの「Create a CloudFront distribution」および「代替ドメイン名と HTTPS の設定」、ならびに ドメイン名を使用したトラフィックの Amazon CloudFront ディストリビューションへのルーティング を参照してください。

  • 登録済みドメイン名 Route 53 をドメインレジストラとして使用することも、別のレジストラを使用することもできます。

  • ドメインの DNS サービスとしての Route 53。Route 53 を使用してドメイン名を登録した場合、Route 53 をドメインの DNS サービスとして自動的に設定します。

    Route 53 をドメインの DNS サービスプロバイダとして使用する方法の詳細については、「Amazon Route 53 を既存ドメインの DNS サービスとして使用する」を参照してください。

トラフィックが S3 バケットにルーティングされるように Amazon Route 53 を設定

静的ウェブサイトをホストするよう設定されている S3 バケットにトラフィックがルーティングされるように Amazon Route 53 を設定するには、以下の手順を実行します。

S3 バケットにトラフィックをルーティングするには

  1. AWS Management Console にサインインし、Route 53 コンソール (https://console.aws.amazon.com/route53/) を開きます。

  2. ナビゲーションペインで [Hosted zones] を選択します。

  3. S3 バケットへのトラフィックのルーティングに使用するドメイン名があるホストゾーンの名前を選択します。

  4. [Create record (レコードを作成)] を選択します。

  5. 次の値を指定します。

    ルーティングポリシー

    該当するルーティングポリシーを選択します。詳細については、「ルーティングポリシーの選択」を参照してください

    レコード名

    S3 バケットへのトラフィックのルーティングに使用するドメイン名を入力します。デフォルト値はホストゾーンの名前です。

    例えば、ホストゾーンの名前が example.com で、acme.example.com を使用してトラフィックをバケットにルーティングする場合、「acme」と入力します。

    エイリアス

    クイック作成レコード作成方法を使用している場合、[エイリアス] をオンにします。

    値/トラフィックのルーティング先

    [S3 ウェブサイトエンドポイントへのエイリアス]を選択し、エンドポイントの元のリージョンを選択します。

    [レコード名] に指定したのと同じ名前のバケットを選択します。

    リストには、次の要件を満たすバケットのみが含まれます。

    • バケットの名前は作成しているレコードの名前と同じである

    • バケットはウェブサイトエンドポイントとして構成されている.

    • バケットは現在の AWS アカウントによって作成されている

      別の AWS アカウントを使用してバケットを作成した場合は、S3 バケットを作成したリージョンの名前を入力します。リージョン名の正しい形式については、AWS 全般的なリファレンスの「Amazon S3 ウェブサイトエンドポイント」テーブルの [ウェブサイトエンドポイント] 列を参照してください。

    レコードタイプ

    [A – IPv4 address (A – IPv4 address)] を選択します。

    ターゲットの正常性の評価

    デフォルト値の [Yes] をそのまま使用します。

  6. [レコードを作成] を選択します。

    通常、変更は 60 秒以内にすべての Route 53 サーバーに伝播されます。伝達が完了すると、この手順で作成したエイリアスレコードの名前を使用して、トラフィックを S3 バケットにルーティングできるようになります。