複数のターゲットグループを持つ Application Load Balancer 意味するエイリアスレコードに、Amazon Route 53 のヘルスチェックを使用しています。ただし、エイリアス レコードが [異常] としてマークされています。
簡単な説明
エイリアスレコードの [ターゲットヘルスの評価] を [はい] に設定すると、Route 53 はエイリアスターゲット値で指定されたリソースの正常性を評価 (ヘルスチェック) します。Application Load Balancer の場合、Route 53 はロードバランサーの背後にあるターゲットグループに関連付けられたヘルスチェックを考慮します。
Application Load Balancer のすべてのターゲットグループが正常である場合、Route 53 はエイリアスレコードを「正常」としてマークします。 ターゲットグループのヘルスチェックに合格するには、正常なターゲットの数がターゲットグループ属性で定義されたしきい値に十分達している必要があります。この場合、Route 53 はルーティングポリシーに従ってレコードを返します。たとえば、レイテンシーベースのルーティングを使用する場合、Route 53 は DNS クライアントまたはリゾルバーの場所から最も可能性の低いレコードを返します。
Application Load Balancer 内のターゲットグループが異常な場合、エイリアスレコードは Route 53 ヘルスチェックに失敗します。Route 53 は、ルーティングポリシーに基づいて、正常なレコードの 1 つを返します。たとえば、レイテンシーベースのルーティングを使用する場合、Route 53 は DNS クライアントまたはリゾルバーの場所から最も可能性の低い正常なレコードを返します。
**注:**ロードバランサーの背後にあるすべてのターゲットグループが空白 (インスタンスなし) の場合、Route 53 も、レコードを異常と見なします。
解決方法
好きな方法を使用して、Application Load Balancer のドメイン名(dig や nslookup など)をクエリします。クエリの出力をメモします。
Route 53 が Application Load Balancer エイリアスレコード以外のレコードを返す場合は、ロードバランサーの背後にあるターゲットグループを確認します。正常なインスタンスの数または割合が以下の属性で定義されたしきい値を満たしていない場合は、Route 53 はレコードを異常と見なします。
- target_group_health.dns_failover.minimum_healthy_targets.count
- target_group_health.dns_failover.minimum_healthy_targets.percentage
詳細については、「ターゲットグループのヘルスチェック」を参照してください。
ロードバランサーの背後にあるすべてのターゲットグループが空白 (インスタンスなし) の場合、Route 53 も、レコードを異常と見なします。ターゲットグループにインスタンスを追加するには、「ターゲットをターゲットグループに登録する」を参照してください。
トラブルシューティングの例
以下の表は、ドメイン example.com の Route 53 設定の例を示しています。この例のクライアントとリゾルバーは、us-east-1 リージョンで見つかります。Application Load Balancer の例には、TargetGroup1 と TargetGroup2 の 2 つのターゲットグループが含まれており、それぞれに 2 つのインスタンスが含まれています。この設定例では、レイテンシーベースのルーティングを使用しています。Application Load Balancer のエイリアスレコードと標準 A レコードのエイリアスレコードがあります。
| | | | |
---|
名前 | タイプ | 値 | ターゲットのヘルスを評価する | アベイラビリティーゾーン |
example.com | A | ALIAS ALB-XXXXXX.us-east-1.elb.amazonaws.com | はい | us-east-1 |
example.com | A | 198.51.100.1 | - | us-west-2 |
Route 53 は、以下の場合に Application Load Balancer のエイリアスレコードを返します。
- TargetGroup1 は正常であり、TargetGroup2 も正常です
- TargetGroup1 ** は正常で、 TargetGroup2 ** は空です (グループにインスタンスは追加されない)
Route 53 は、以下の場合に他の A レコードを返します。
- TargetGroup1 または TargetGroup2 のいずれかが異常です
- TargetGroup1 は正常、TargetGroup2 は異常、追加のターゲットグループ、TargetGroup3 は空 (インスタンスなし) です。
関連情報
Route 53 エイリアスリソースレコードセットを作成するときに優先エイリアスターゲットを選択できない理由が知りたいです。
シンプルな Amazon Route 53 構成でのヘルスチェックの仕組み
複雑な Amazon Route 53 構成でのヘルスチェックの仕組み