現在私が所有しているのは、
東京のEC2x2インスタンス(1プロキシ1アプリケーション)と
シンガポールのEC2x2インスタンス(1プロキシ1アプリケーション) です。
別のプロバイダーでは geo dns を使用しているため、東京のユーザーは東京のインスタンスにアクセスし、シンガポールのユーザーはシンガポールのインスタンスにアクセスします。
Health Check によるフェイルオーバーを活用したいので、Route53 への移行を検討しています (Amazon で他の DNS ゾーンはすでに持っています)。設定方法の例を確認しましたが、必要な設定方法がまだわかりません。設定方法は次のとおりです。
それぞれの場所に 1 つずつ、2 つのヘルス チェックを設定しましたが、これらは機能しています。proxy.domain.com
という 2 つの DNS エントリを設定しました。それぞれルーティング ポリシーは GeoLocation で、日本とシンガポールを選択し、それぞれに関連する EC2 IP を追加しました。
現在、どちらかの場所が利用できない場合にユーザーが他のインスタンスにフェイルオーバーするように、cname site.domain.com を設定しようとしています。
しかし、実際に起こっていることは、私が予想していたことでもあります。セカンダリ ターゲットがプライマリ ターゲットと同じ DNS 名であるため DNS がフェイルオーバーした場合でも、ユーザーの場所が常に優先され、他のインスタンスの IP は返されません。例
日本 IP: 1.1.1.1 シンガポール IP: 2.2.2.2
シンガポールから site.domain.com > 2.2.2.2 に Ping します。
シンガポールをオフにします (ヘルス チェックで異常が確認)。TTL
の有効期限が切れるのを待って、flushdns を実行します。
シンガポールから site.domain.com > 2.2.2.2 に Ping します (この時点では 1.1.1.1 を返すようにしたいです)
答え1
必要なのは、次のようなエイリアスツリーを設定することです。より複雑な Amazon Route 53 構成でのヘルスチェックの仕組み、ターゲットのヘルス評価が true に設定されていることを確認します。
proxy.domain.com / タイプ geo | 場所: デフォルト -> エイリアス -> wrr.domain.com
proxy.domain.com / タイプ geo | 場所: 日本 -> エイリアス -> japan.domain.com
proxy.domain.com / タイプ geo | 場所: シンガポール -> エイリアス -> sin.domain.com
wrr.domain.com / タイプ wrr | 重み 1 --> Japan.domain.com
wrr.domain.com / タイプ wrr | 重み 1 --> sin.domain.com
Sin.domain.com / タイプ フェイルオーバー プライマリ | ヘルスチェックに関連付け
Japan.domain.com / タイプ フェイルオーバー プライマリ | ヘルスチェックに関連付け