Traffic Manager で DNS ベースの負荷分散を構成する

無料の F1 プランで作成した 2 つの Web アプリを Traffic Manager の優先度ルーティングで束ね、プライマリ停止時に DNS 応答がセカンダリへ切り替わるフェイルオーバー動作を確認します。

中級50Azure 実環境

ラボ概要

Azure Traffic Manager は、DNS の応答を制御することでトラフィックを複数のエンドポイントへ振り分けるサービスです。ロードバランサーのようにパケットを中継するのではなく、「どのエンドポイントの名前を返すか」を決めるのが役割で、リージョン間のフェイルオーバーやグローバルな負荷分散の要として使われます。この仕組みの理解は AZ-700(Azure ネットワーク エンジニア)で問われる重要ポイントの一つです。

このラボでは、無料の F1 プラン上に表示内容の異なる 2 つの Web アプリを作成し、優先度(Priority)ルーティングの Traffic Manager プロファイルにエンドポイントとして登録します。その後プライマリ側の Web アプリを停止し、正常性プローブが異常を検知して DNS の名前解決結果がセカンダリへ切り替わる様子を nslookup で観察します。

App Service の Free/Basic プランは Traffic Manager の「Azure エンドポイント」としては登録できないため、このラボでは「外部エンドポイント」として登録する方法を使います。Traffic Manager が実際のトラフィックを中継しない DNS ベースのサービスであることを、手を動かしながら体感できる構成です。

学習目標

  • Traffic Manager による DNS ベースの負荷分散の仕組みを説明できる
  • 優先度(Priority)ルーティング方式のプロファイルを作成できる
  • App Service を外部エンドポイントとして登録できる理由と制約を理解する
  • 正常性プローブ(エンドポイント監視)の設定と状態確認ができる
  • フェイルオーバー発生時の DNS 応答の変化を nslookup で確認できる

前提

  • サンドボックス環境にサインイン済みであること
  • リソースはすべて japaneast (東日本) リージョンに作成します(Traffic Manager プロファイル自体はグローバル リソースのためリージョン指定はありません)
  • 作業は割り当て済みのリソースグループ 1 つの中だけで行います。新しいリソースグループは作成できません
  • 手順は Azure Cloud Shell(Bash)の az CLI を使用します。事前知識は不要で、コマンドはすべて掲載しています

ラボの構成

  1. 1Cloud Shell の準備と変数の設定
  2. 2App Service プラン(F1)の作成
  3. 3Web アプリを 2 つ作成する
  4. 4それぞれ異なる表示内容をデプロイする
  5. 5Traffic Manager プロファイルの作成(優先度ルーティング)
  6. 6エンドポイントの登録と正常性の確認
  7. 7DNS で名前解決を確認する
  8. 8フェイルオーバーを発生させて確認する
  9. 9動作確認
  10. 10完了チェックリスト
  11. 11後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

参考リソース