Azure Front Door Classic から Premium へ移行してみた

2024.01.31

いわさです。

Azure Front Door Classic を使っておりまして、新しい機能を評価する目的で Front Door を新環境へ移行する機会がありました。
半年以上前になりますが Azure Front Door では、Classic から Standard/Premium へ移行する機能が出ています。

今回こちらの機能を試してみたのでその様子を紹介したいと思います。

Azure Front Door Classic を作成

先日の Azure WAF のマネージドルールセットでも確認しているのですが、Azure Front Door は今も普通に使うことが出来ます。機能や料金形態が Azure Front Door Standard/Premium とは違うので、要件にあわせて今も採用可能です。

その他のオファリングの探索から「Azure Front Door (クラシック)」を選択します。

今回 WAF ポリシーとカスタムドメインの検証を構成したものの移行を確認したかったので、適当に WAF ポリシーやドメインの設定を行っておきます。

オリジンコンテンツをエッジ(Azure Front Door Classic)経由で表示することが出来ました。

移行方法

移行を行うと、構成を引き継いだ Azure Front Door Standard/Premium が作成され、旧エンドポイントへのリクエストは新エッジへ送信されるようになります。
なので、稼働中の Front Door Classic に対してダウンタイムなしで移行が出来ます。

Azure Front Door Classic のメニューに「移行」メニューがありまして、こちらから移行することが出来ます。早速試してみます。

まずは互換性の検証から開始します。
移行にあたっていくつか前提条件があり、現在の Azure Front Door でその条件を満たしているのか自動検証することが可能です。ボタンを押して少し待ちます。

あっ!早速検証エラーとなってしまいました。
「エラーの表示」リンクから検証エラーの詳細を確認してみましょう。

あーなるほど。カスタムドメインを今回の検証用に構成したのですが HTTPS を有効化していませんでした。

Front Door マネージド証明書を使って HTTPS を有効化して再度試してみたところ、互換性の検証は成功しました。
続いて移行の準備を行います。移行の準備を行うと、移行先の新しい Azure Front Door リソースが作成されます。
このタイミングで新環境のレベルを選ぶことが出来るのですが、今回は Classic でマネージド WAF ルールを使っていたため、Standard を選択することが出来ませんでした。Premium で続行してみたいと思います。

準備ボタンを推します。

準備ボタンを押すと「アップグレードする前に WAF ポリシーを構成する必要があります」というエラーが表示されました。
このあたりは自動で行ってくれないようです。

ただし、ポリシーアップグレード機能でほぼ自動で新しいポリシーを作成することが出来ます。
上記画面の「WAF ポリシーのアップグレードを構成する」から Azure Front Door Premium 用の新しい WAF ポリシーを構成します。

この時点ではまだ構成の選択を行っただけで、ポリシー作成まではされていません。
この後もう一度「準備」ボタンを押すことで WAF ポリシーと新しい Front Door プロファイルが作成されます。

少し待つと作成されました。
あとはここで移行ボタンを押すことでクラシックプロファイルが無効化され、新しいプロファイルが使われるようになります。

中断してしまった場合

「hoge0131cdn-migrated を表示して、移行する前に構成を確認してください。」と表示されていたので、私はここで移行ボタンを押さずに新プロファイルのリンクから遷移を行いました。

次のように Azure Front Door Premium のプロファイルが表示されます。
概要画面上部には「移行中にこのプロファイルを編集することはできません。」と表示されています。なるほど。

クラシックプロファイルの移行画面に戻ってみると、移行プロセスの画面はクリアされ、また検証から行う必要がありました。
そこで試しに検証ボタンを押してみると...

The requested operation cannot be executed on the entity in the current state.

ということで検証操作が行えなくなりました。これは困った。

色々試していたのですが、作成途中の Azure Front Door Premium プロファイルを一度削除すると元の状態に戻せることがわかりました。

削除後、また互換性検証から再開することが出来ました。

また最後の移行フェーズまでたどり着いたので、今度は「移行」ボタンを押してみましょう。

少し待つと移行が完了し、「このエンドポイントは正常に移行されました。クリックして Front Door プロファイルを表示します」と表示されます。
こちらのリンクを選択すると Azure Front Door Premium プロファイルへ遷移することが出来ます。

新しいプロファイルを¥確認してみると、先程のように移行中で編集できないという表記もなく設定の変更が可能な状態となっています。
また、クラシックで設定したポリシーやカスタムドメインが引き継がれていることも確認出来ました。

上部の以下リンクをクリックすると移行元のクラシックプロファイルを表示することが出来ます。

クラシックプロファイルでは、「移行されたため、編集できません。」と表示されていました。

この段階でクラシックプロファイルは無効となっているのですが、カスタムドメインの DNS レコードを切り替えるまで Azure Front Door Premium 側が使えずにダウンタイムが生じてしまうということはありません。

旧エンドポイント経由で新プロファイルへアクセス出来るのでそのままでも利用可能です。

公式ドキュメントでは推奨事項として名前解決先を新しいプロファイルのエンドポイントへ切り替える旨が紹介されていました。
また、クラシックプロファイルの削除時に、削除後は同じ名前で作成出来るようになる旨のメッセージが表示されていたので、削除するまでには新環境へ DNS レコードも変更しておいたほうが良いと思います。

さいごに

本日は Azure Front Door Classic から Premium へ移行してみたので、移行機能を使った移行の様子を紹介してみました。

サクっと切り替えることが出来ましたね。
エッジの切り替えは名前解決とかまで気にしないといけないのが面倒だなと思っていたのですが、そのあたりもダウンタイムが発生しないようにうまくやってくれるのは結構高機能だなと思いました。

移行を中断した状態で互換性検証を再開できなくなった時は焦ったのでその備忘録としてエラーメッセージなども残してあります。どなたかの参考になれば幸いです。