GTM を使用した地域別インテリジェント名前解決の設定
利用シーン
企業のアプリケーションは、多くの場合、異なる国、リージョン、または異なるキャリアやベンダーのデータセンターに分散された複数の IP アドレスに依存しています。このようなシナリオでは、Alibaba Cloud DNS のインテリジェント名前解決機能によって、ユーザーを最寄りのサーバーにルーティングできます。しかし、DNS 単体では IP アドレスの正常性を判断できないため、障害や災害発生時にユーザーリクエストを正常な IP アドレスに自動的にルーティングすることはできません。
ソリューション
-
Alibaba Cloud DNS のインテリジェント名前解決機能を使用して、ユーザーを最寄りのアプリケーションサーバーにルーティングします。
-
Global Traffic Manager (GTM) のヘルスチェック機能を使用して、マルチアクティブアプリケーションまたは障害復旧切り替えを実装します。
このトピックでは、Alibaba Cloud DNS と GTM を組み合わせて、インテリジェント名前解決と障害復旧切り替えの両方を実現する方法について説明します。
シナリオ例
ある企業が、以下のようにアプリケーションサーバーをデプロイしているとします。
-
北京: 192.0.2.1
-
上海: 192.0.2.3
-
日本: 192.0.2.5
-
ドイツ: 192.0.2.7
-
シンガポール: 192.0.2.9
-
米国: 192.0.2.11
インテリジェント解像度の望ましい動作
-
中国本土およびその他の不特定のリージョンからのユーザーは、北京のサーバー (192.0.2.1) にルーティングされます。
-
アジア (中国本土以外) およびオセアニアからのユーザーは、日本のサーバー (192.0.2.5) にルーティングされます。
-
ヨーロッパおよびアフリカからのユーザーは、ドイツのサーバー (192.0.2.7) にルーティングされます。
-
北米および南米からのユーザーは、米国のサーバー (192.0.2.11) にルーティングされます。
期待される障害復旧切り替えの動作
-
北京 (プライマリ) と上海 (セカンダリ) の間でアクティブ/スタンバイ構成を設定します。
-
日本 (プライマリ) とシンガポール (セカンダリ) の間でアクティブ/スタンバイ構成を設定します。
-
ドイツ (プライマリ) とシンガポール (セカンダリ) の間でアクティブ/スタンバイ構成を設定します。
-
米国のサーバーが利用できなくなった場合、トラフィックはグローバルアクセスポリシーに従ってルーティングされます。
たとえば、北京のアプリケーションサーバーに障害が発生した場合、トラフィックは自動的に上海のサーバーにルーティングされ、サービス継続性が確保されます。
前提条件
登録済みのドメイン名をお持ちです。
このトピックでは、例として api.cloud-example.com を使用します。
Alibaba Cloud DNS の購入ガイド
-
詳細なインテリジェント名前解決回線を使用するには、Ultimate Edition を購入する必要があります。
-
Alibaba Cloud DNS Ultimate Edition インスタンスが 1 つ必要です。
Alibaba Cloud DNS Ultimate Edition インスタンスをお持ちでない場合は、パブリックゾーン (サブスクリプション) を購入してください。
Global Traffic Manager の購入
サブドメインを 1 つだけ使用する場合、必要な GTM インスタンスは 1 つだけです。
複数のサブドメイン (ビジネスドメイン) を GTM に接続する必要がある場合:
-
サブドメインのレコード値が異なる場合は、サブドメインごとに GTM インスタンスを購入する必要があります。
-
サブドメインが同じレコード値を共有している場合は、単一の GTM インスタンスを共有できます。これは、GTM の CNAME アクセスドメインを指す CNAME レコードを各サブドメインに作成することで実現できます。
GTM インスタンスをお持ちでない場合は、Global Traffic Manager インスタンスを購入してください。
操作手順
-
Alibaba Cloud DNS - Global Traffic Manager コンソールに移動します。 インスタンスリストで、ターゲットインスタンスを見つけ、[アクション]列の[設定]をクリックします。
-
[アドレスプール設定] ページで、[アドレスプールを追加] をクリックして、[北京]、[上海]、[日本]、[シンガポール]、[ドイツ]、および [米国] の 6 つのアドレスプールを作成します。
各アドレスプールについて、[負荷分散ポリシー] を [すべてのアドレスを返す] に、[アドレスプールタイプ] を [IPv4] に設定します。
-
GTM のディザスタリカバリスイッチオーバー機能では、[ヘルスチェック] を有効にする必要があります。 詳細については、「ヘルスチェックを有効にする」をご参照ください。 この例では、TCP ヘルスチェックを使用します。 [ヘルスチェックの変更] ダイアログボックスで、チェックプロトコルをTCPに、チェックポートを
80に、チェック間隔を 15 秒に、タイムアウトを 5 秒に、連続失敗回数を 2 に、失敗率を 50% に設定します。 [モニタリングノード] セクションで、必須の BGP ノード都市 (張家口、青島、杭州、上海、フフホト、深圳、北京など) を選択します。
-
[基本設定] ページで、[アクセスポリシータイプ] を [地域ベースのアクセスポリシー] に設定し、[設定] をクリックします。
-
[アクセスポリシーの追加] をクリックして、4 つのアクセスポリシーを作成します:
ポリシー名
リクエストソース
プライマリアドレスプール
セカンダリアドレスプール
北京
グローバル
北京
上海
日本
アジア, オセアニア
日本
シンガポール
ドイツ
ヨーロッパ、アフリカ
ドイツ
シンガポール
米国
北米、南米
米国
なし
-
[基本設定] ページで、[変更] をクリックします。[インスタンス名] を test に設定します。[ビジネスドメイン] に「api.cloud-example.com」と入力します。次に、[CNAME アクセスドメイン]、[グローバル TTL]、[アラート通知グループ]、[アラート通知方法] などの設定を構成します。
-
GTM インスタンスの[基本設定] タブで、[CNAME アクセスドメイン (パブリックネットワーク)] をコピーします。
-
Alibaba Cloud DNS - Public Zone コンソールに移動します。目的のドメインを探し、[解決設定] をクリックします。
-
[レコードの追加] をクリックして CNAME レコードを追加します。この CNAME レコードを追加すると、アプリケーションサービスが GTM に接続されます。
-
レコードタイプ: CNAME を選択します。
-
ホストレコード: この例では、サブドメインが"api.cloud-example.com"の場合、 api と入力します。
-
解決リクエストソース: デフォルト。
-
レコード値: GTM インスタンスからコピーした [CNAME アクセスドメイン] を貼り付けます。
-
サービス IP アドレスに対して ACL ポリシーを作成し、意図的にヘルスチェック失敗をトリガーすることで、GTM のヘルスチェックと自動フェイルオーバーをテストできます。
設定が完了したら、到達可能性テストを実行して、インテリジェント名前解決ルールを検証できます。