DNS フェイルオーバーに Route 53 ヘルスチェックを使用する方法を教えてください。

所要時間2分
0

Amazon Route 53 ヘルスチェックを使用して DNS フェイルオーバーを設定したいと考えています。

簡単な説明

Route 53 を使用してリソースの状態を確認し、DNS クエリに対する応答として正常なリソースのみを返すことができます。DNS フェイルオーバー構成には 3 つのタイプがあります。

  1. アクティブ/パッシブ: Route 53 はプライマリリソースをアクティブに返します。障害が発生した場合、Route 53 はバックアップリソースを返します。Route 53 はフェイルオーバーポリシーからこのメソッドを設定します。
  2. アクティブ/アクティブ: Route 53 は複数のリソースをアクティブに返します。障害が発生した場合、Route 53 は正常なリソースにフェイルバックします。Route 53 は、フェイルオーバー以外のルーティングポリシーからこのメソッドを設定します。
  3. 組み合わせ: 複数のルーティングポリシー (レイテンシーベースや加重ポリシーなど) が 1 つのツリーにまとめられ、より複雑な DNS フェイルオーバーを構成します。

解決策

**注:**Amazon CloudFront がメインターゲットである場合、以下の解決策は適用されません。

アクティブ/パッシブ フェイルオーバー

アクティブ/パッシブ DNS フェイルオーバーは、1 つのプライマリリソースと 1 つのセカンダリリソースを使用する最も簡単な方法です。

**注:**先に進む前に、必ずプライマリリソースの Route 53 ヘルスチェックを作成してください。

フェイルオーバーエイリアスレコードの値を使用して、プライマリリソースとセカンダリリソースの 2 つのリソースレコードを作成します。各レコードについて、次の手順を実行します。

  1. リソースの名前を入力します (「resource.example.com」など)。
    **注:**両方のリソースに同じ名前を使用してください。
  2. [タイプ] には [A-IPV4 アドレス] を選択します。
  3. [エイリアス] には [はい] を選択します。
  4. [エイリアスターゲット] には、プライマリリソースの DNS 名を入力します。次に、[エイリアスホストゾーン ID] が表示されます。
  5. [ルーティングポリシー] で、[フェイルオーバー] を選択します。
  6. プライマリレコードでは、[フェイルオーバーレコードタイプ] に [プライマリ] を選択します。[セット ID] には一意の名前 (elb-Primary など) を入力します。
  7. セカンダリレコードの場合は、[フェイルオーバーレコードタイプ] に [セカンダリ] を選択します。[セット ID]には一意の名前 (「elb-Secondary」 など) を入力します。
  8. [ターゲットヘルスを評価] では、プライマリレコードに [はい] を選択します。2 番目のレコードには [いいえ] を選択します。
  9. プライマリレコードでは、[ヘルスチェックと関連付ける] で [はい] を選択します。[関連付けられるヘルスチェック] では、プライマリリソース用に作成したヘルスチェックを選択します。
  10. [作成] を選択してレコードを作成します。

これで、レコードはドメインをプライマリリソースにポイントするか、セカンダリリソースにフェイルオーバーします。

アクティブ-アクティブフェイルオーバー

アクティブ-アクティブ DNS フェイルオーバーは、複数のリソースを DNS クエリに返します。あるリソースに異常があると、Route 53 は別のリソースにフェイルオーバーします。

**注:**続行する前に、必ず両方のリソースの Route 53 ヘルスチェックを作成してください。

フェイルオーバーエイリアスレコードの値を使用して、各リソースのレコードを作成します。各レコードについて、次の手順を実行します。

  1. リソースの名前を入力します (「resource.example.com」など)。
    注:各レコードには必ず同じ名前を使用してください。
  2. レコード [タイプ] (A-IPv4アドレスなど) を選択します。
    **注:**リソースのすべてのレコードは同じ [タイプ] でなければなりません。
  3. [エイリアス] には [はい] を選択します。
  4. [エイリアスターゲット] には、リソースの DNS 名を入力します。次に、[エイリアスホストゾーン ID] が表示されます。
  5. [ルーティングポリシー] を選択し、そのポリシーに適した値を入力します ([加重ポリシー] の場合は 「ウェイト」など)。[セット ID] には、このリソースの一意の名前 (「Resource 1」など) を入力します。
    **注:**加重ルーティングポリシーの場合は、すべてのレコードを同じウェイト (10 など) に設定します。または、すべてのレコードに異なる重みを設定します(20 と 10 など、20 のレコードは 2 倍のトラフィックを受信します)。
  6. [ターゲットの正常性の評価] には、[はい] を選択します。
  7. [ヘルスチェックと連携] で [はい] を選択します。
  8. [関連付けられるヘルスチェック] では、このリソース用に作成したヘルスチェックを選択します。
  9. [作成] を選択してレコードを作成します。

組み合わせフェイルオーバー

複数のルーティングポリシーとヘルスチェックを組み合わせて、複雑なフェイルオーバーメカニズムを作成できます。これらのメカニズムにより、Route 53 は適切なレコードを返す前に複数のレコード層を横断します。

たとえば、3 つのエンドポイントがあるとします。エンドポイント A と B の間でトラフィックを負荷分散できます。最初の 2 つのエンドポイントがヘルスチェックに失敗した場合、エンドポイント C にフォールバックできます。この構成では、2 つのルーティング層があります。下位のルーティング層では、Route 53 はレコードヘルスチェックを使用してエンドポイント A と B が正常であることを確認します。次に、トラフィックは両方のプライマリリソース間で均等にルーティングされます。エンドポイント A と B がヘルスチェックに失敗すると、トラフィックは上位のルーティング層にフェイルオーバーします。上位のルーティング層では、Route 53 はトラフィックをセカンダリフォールバックリソースとしてエンドポイント C にルーティングします。

この構成を作成するには、次の手順を実行します。

  1. 3 つのエンドポイントすべてに Route 53 ヘルスチェックを作成し、ヘルスチェックレコードに関連付けます。
  2. 下位のルーティング層では、エンドポイント A と B のドメイン名の重みが等しい 2 つの加重レコードを作成します。
    **重要:**エンドポイント A と B のヘルスチェックは、必ず加重レコードと関連付けてください。このステップにより、Route 53 は各レコードのヘルスチェックステータスを判断し、それに応じてレコード間のトラフィックを負荷分散します。
  3. 上位のルーティング層では、エンドポイント C のドメイン名 (「domain.example.com」など) のフェイルオーバーレコードを作成します。
    **重要:**プライマリレコードが、ステップ 2 で作成した「resource.example.com」のレコードを指すエイリアスレコードであることを確認してください。また、セカンダリレコードがフェイルオーバーリソースとしてエンドポイント C を指していることを確認します。
  4. プライマリフェイルオーバーレコードのヘルスステータスを判断するように Route 53 を設定します。カスタムヘルスチェックを作成して、2 つの加重レコードのヘルスステータスを判断します (計算されたヘルスチェックなど)。または、記録オプションを使用してターゲットの状態を評価します。

このフェイルオーバー構成では、次のワークフローを使用します。

  1. クライアントは「domain.example.com」をリクエストします。
  2. プライマリレコードがヘルスチェックに合格すると、Route 53 は「resource.example.com」の負荷分散されたプライマリリソースレコードにトラフィックを送信します。これにより、クライアントはエンドポイント A またはエンドポイント B に移動します。
  3. プライマリレコードがヘルスチェックに失敗した場合 (エンドポイント A と B がヘルスチェックに失敗した場合)、プライマリレコードは異常とマークされます。プライマリレコードはセカンダリレコードにフェイルオーバーします。次に、Route 53 はクライアントリクエストをエンドポイント C (フォールバックリソース) に送信します。
  4. プライマリレコードが再びヘルスチェックに合格すると、Route 53 はプライマリリソースレコード (エンドポイント A と B) に自動的にフェイルバックします。

関連情報

ヘルスチェックが設定されている場合に Amazon Route 53 がレコードを選択する方法

AWS公式
AWS公式更新しました 10ヶ月前
コメントはありません

関連するコンテンツ