Azure Front Door を使ったブルー/グリーン デプロイ
"ブルー/グリーン デプロイ" は、ユーザーの小さなグループにアプリケーションの更新を段階的に導入するソフトウェア リリース戦略です。 更新に問題がなければ、すべてのユーザーが新しいバージョンになるまで、新しいデプロイにアクセスするユーザーの数を段階的に増やします。 問題が発生した場合は、トラフィックを古いバージョンにリダイレクトして、中断を最小限に抑えることができます。 この方法は、すべてのユーザーに一度に更新をデプロイするより安全です。
Azure Front Door は、Microsoft の最新のクラウド コンテンツ配信ネットワーク (CDN) であり、アプリケーションの静的および動的 Web コンテンツへの高速で信頼性が高く、セキュリティで保護されたアクセスをグローバルに提供します。 この記事では、Azure Front Door のグローバル負荷分散機能を使って、バックエンドにブルー/グリーン デプロイ モデルを実装する方法について説明します。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
Azure Front Door プロファイルを作成する
Azure portal にサインインします。
ホーム ページから [リソースの作成] を選び、「Front Door プロファイルと CDN プロファイル」を検索して、[作成] を選びます。
[比較オファリング] ページで [カスタム作成] を選び、[フロント ドアの作成を続行する] を選びます。
[基本] タブで、次の情報を入力または選択します。
設定 値 サブスクリプション サブスクリプションを選択します。 Resource group [新規作成] を選択して myAFDResourceGroup
と入力します。リソース グループの場所 [米国東部] を選択します。 名前 Front Door プロファイルの一意の名前を入力します。 レベル 標準を選択します。 [エンドポイント] タブを選び、[エンドポイントの追加] を選びます。 エンドポイントのグローバルに一意な名前を入力し、[追加] を選びます。 デプロイ後に、さらにエンドポイントを作成できます。
[+ ルートの追加] を選び、Web アプリの配信元へのルーティングを構成します。
ルートの名前を指定し、アプリケーションのニーズに基づいてルート設定を構成します。 詳細については、「アプリケーション用のフロント ドアを作成する」を参照してください。
新しい配信元グループを作成するには、[新しい配信元グループを追加する] を選び、名前として「
myOriginGroup
」と入力します。[+ 追加] を選び、配信元グループに配信元を追加します。 アプリケーションの既存のバージョンについて次の情報を入力します。
設定 値 Name 「 CurrentWebApp
」と入力します。配信元の種類 ドロップダウンから [App Service] を選びます。 hostname Web アプリのホスト名を入力します (例: webapp-current.azurewebsites.net
)。優先順位 「 1
」と入力します。体重 「 75
」と入力します。状態 [この元を有効にする] チェック ボックスをオンにします。 [+ 追加] を選び、配信元グループに新しい配信元を追加します。 新しいバージョンのアプリケーションに関する次の情報を入力します。
設定 値 Name 「 NewWebApp
」と入力します。配信元の種類 ドロップダウンから [App Service] を選びます。 hostname Web アプリのホスト名を入力します (例: webapp-new.azurewebsites.net
)。優先順位 「 1
」と入力します。体重 「 25
」と入力します。状態 [この元を有効にする] はオフのままにします。 Note
最初は、現在の配信元の重みを新しい配信元よりも高く設定し、ほとんどのトラフィックが現在の配信元にルーティングされるようにします。 テストしたら、新しい配信元の重みを段階的に増やして、現在の配信元の重みを減らします。 合計の重みを 100 にする必要はありませんが、トラフィックの分布を視覚化するのに役立ちます。 この例では、既存の配信元が新しい配信元の 3 倍のトラフィックを受信するように設定しています。
アプリケーションに必要な場合は、セッション アフィニティを有効にします。 詳細については、セッション アフィニティに関するページを参照してください。
Note
"セッション アフィニティ" は、エンド ユーザーを最初の要求の後で同じ配信元に確実にルーティングします。 アプリケーションとロールアウトされる機能強化の種類に基づいて、この機能を有効にします。メジャー リビジョンの場合は、セッション アフィニティを有効にして、ユーザーを新しいコードベースに保ちます。 小さな機能強化の場合は、セッション アフィニティを無効のままにしてもかまいません。 迷う場合は、セッション アフィニティを有効にします。
正常性プローブの設定は既定値のままにすることができます。 アプリケーションのニーズに基づいて、プローブの設定を調整します。 詳細については、「正常性プローブ」を参照してください。
[負荷分散の設定] で、次の情報を入力します。
設定 値 サンプル サイズ 「 4
」と入力します。成功したサンプルの必要数 「 3
」と入力します。待機時間感度 (ミリ秒) 「 500
」と入力します。Note
一方の配信元が他よりも速い場合があるため、待機時間感度を 500 ミリ秒 (半秒) 以上に設定して、両方の配信元が使われるようにします。
[追加] を選び、配信元グループを追加します。 次に、[確認および作成] を選び、Front Door プロファイルの設定を確認します。 [作成] を選択してプロファイルを作成します。
ブルー/グリーン デプロイを開始する
ブルー/グリーン デプロイを始めるには、必要な場合に古い配信元に戻すオプションを維持しながら、新しい配信元へのトラフィックのルーティングを開始できるようにします。
Front Door プロファイルが作成されたら、前に設定した配信元グループに移動します。 新しい配信元を選んで [この元を有効にする] をオンにして、それへのトラフィックのルーティングを始めます。
新しい配信元を監視して、正しく機能していることを確認します。 新しい配信元のパフォーマンスを信頼できるようになったら、古い配信元の重みを減らしながら、新しい配信元の重みを徐々に増やします。 すべてのトラフィックが新しい配信元にルーティングされるようになるまで、重みの調整を続けます。
新しい配信元で問題が発生した場合は、それを無効にして、すべてのトラフィックが古い配信元にルーティングされるように戻します。 これにより、ユーザーに影響を与えることなく、問題に対処して解決できます。