Route 53 のヘルスチェックが失敗した場合に S3 バケットにフェイルオーバーするようにウェブサイトを設定する方法を教えてください。

所要時間2分
0

インフラストラクチャに問題が発生した場合に動的ウェブサイトがフェイルオーバーできる静的エンドポイントをセットアップしたいと考えています。

簡単な説明

始める前に、次の設定を確認してください。

  • アクティブな Amazon Route 53 ホストゾーンがあります。
  • ウェブサイトの動的バージョンを Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでホストしています。
  • Route 53 ホストゾーンは、ウェブサイトのトラフィックを既に Amazon EC2 インスタンスに正常にルーティングしています。

解決策

Amazon Simple Storage Service (Amazon S3) バケットでホストされている静的ウェブサイトにフェイルオーバーするようにホストゾーンを設定し、Route 53 のチェックに問題がある場合に備えます。静的ウェブサイトは、ホストゾーンがフェイルオーバーしたときにユーザーに表示されるものです。ヘルスチェックが正常状態に戻ると、ホストゾーンはトラフィックをプライマリエンドポイントに自動的にルーティングします。Amazon S3 で静的ウェブサイトをホストする手順に従ってください。

注:

  • バケットに名前を付けるときは、S3 バケット名がレコードの名前と同じであることを確認してください。
  • Amazon S3 は HTTP プロトコルのみをサポートしています。ウェブサイトが HTTPS を使用している場合、フェイルオーバー時にページに「このページを表示できませんでした」というエラーが表示されます。HTTPS リクエストを処理するには、「CloudFront を使用して Amazon S3 バケットの HTTPS リクエストを処理する方法を教えてください」を参照してください。

Route 53 ヘルスチェックを作成する

  1. Amazon Route 53 コンソールを開いて、[ヘルスチェック] を選択します。
  2. [ヘルスチェックを作成] を選択し、次のように入力します。
    [名前] に、ヘルスチェックの名前を入力します。
    [監視対象] で [エンドポイント] を選択します。
    [エンドポイントを指定するのに使用するもの] で [IP アドレス] を選択します。
    [プロトコル] に [HTTP] を選択します。
    [IP アドレス] と [ホスト名] には、EC2 インスタンスの IP とホスト名を入力します。
    [ポート] には [80] を選択します。
    [パス] は空のままにするか、確認するページを指定します。
  3. [次へ] を選択します。
  4. [アラームを作成] で [はい] を選択します。
  5. [ヘルスチェックを作成] を選択します。

**注:**詳細については、「ヘルスチェックの作成と更新」を参照してください。

プライマリエンドポイントのレコードセットを作成する

  1. Amazon Route 53 コンソールを開いて、[ホストゾーン] を選択します。
  2. [ドメイン名] で、レコードを作成するホストゾーンのドメインを選択します。
  3. [レコードを作成] を選択し、次の値を使用してレコードセットを作成します (他のすべてのフィールドについては、ユースケースに合った値を使用してください)。
    [レコード名] に、名前を入力します。S3 バケット名と同じであることを確認してください。
    [レコードタイプ] で [A – IPV4 アドレスと一部の AWS リソースにトラフィックをルーティングする] を選択します。
    エイリアス は、[オフ] のままにしておきます。
    [ルーティングポリシー] で、[フェイルオーバー] を選択します。
    [フェイルオーバーレコードタイプ] で [プライマリ] を選択します。
    [レコード ID] に名前を入力します。
    [ヘルスチェックに関連付ける] で [はい] を選択し、以前に作成したヘルスチェックを選択します。
  4. [レコードを作成] を選択します。

フェイルオーバーエンドポイントを作成する

  1. Amazon Route 53 コンソールを開いて、[ホストゾーン] を選択します。
  2. レコードを作成するホストゾーンを選択します。
  3. [レコードを作成] を選択し、以下を入力します。
    [レコード名] には、プライマリレコードに入力したのと同じ値を使用します。
    [レコードタイプ] で [A – IPV4 アドレスと一部の AWS リソースにトラフィックをルーティングする] を選択します。
    [エイリアス] には [はい] を選択します。
    **注:**エイリアスは、エイリアスターゲットと一致する有効期間 (TTL) を自動的に使用します。
    [トラフィックのルーティング先] の [S3 ウェブサイトエンドポイントへのエイリアス] で、以前に作成した S3 バケットを選択します。
    [ルーティングポリシー] で、[フェイルオーバー] を選択します。
    [フェイルオーバーレコードタイプ] で [セカンダリ] を選択します。
    [レコード ID] に名前を入力します。
    **注:**フェイルオーバーエンドポイントの [レコード ID] の名前は、プライマリエンドポイントの [レコード ID] の名前とは異なる必要があります。
    (オプション) [ヘルスチェック ID] で、ヘルスチェックを選択します。
    (オプション) [ターゲットの正常性の評価] オプションをオフにします。ターゲットが S3 バケットの場合、このオプションは機能しません。詳細については、「フェイルオーバールーティング」を参照してください。
  4. [レコードを****作成] を選択します。

関連情報

エイリアスリソースレコードと非エイリアスリソースレコードの選択

DNS フェイルオーバーの設定

ヘルスチェック状態の監視と通知の受信