ほりひログ

所属組織の製品 (Azure とか) に関連する内容が多めだけど、個人の見解であって、所属組織を代表する公式情報ではないです。

Azure Static Web Apps の Enterprise-grade edge がパブリック プレビューになりました

Azure Static Web Apps (以下 SWA) の Enterprise-grade edge はハッキリ言うと、マネージドの (ユーザーのサブスクリプション外にある) Azure Front Door (以下 AFD)連携です。

azure.microsoft.com

SWA は一つのリソースでいくつかのリージョンにコンテンツをデプロイしていて、リソース内部に持つ Traffic Manager (以下 TM) を使って、コンテンツ配信に最適なリージョンに振り分けてます。
で、今回パブリック プレビューとなった Enterprise-grade edge では、この SWA の前段にある TM をマネージドの AFD に置き換えているようです。

絵で描くとこれ↓が、

f:id:horihiro:20220119165303p:plain

こう↓なります。

f:id:horihiro:20220119165552p:plain

AFD は CDN なので、SWA が配信するコンテンツを世界各地のエッジ サーバーでキャッシュできますし、AFD 自身も TM を中に持っているので、クライアントの場所によって (ネットワーク的に) 最も近いエッジ サーバーからコンテンツを配信できるので、コンテンツの配信速度の向上が見込めます

やってみる

ドキュメントによると、いくつか事前に設定が必要です。

  • カスタム ドメイン (TTL が 48 時間未満) をSWA に設定
  • SWA のプランを Standard に
  • 対象の Azure サブスクリプションにて、Microsoft.CDN リソース プロバイダーを再登録

docs.microsoft.com

あとは、Azure ポータルで SWA の [Enterprise-grade edge] というブレードを開いて有効化するだけです。

f:id:horihiro:20220119160840p:plain

ちなみに、Free プランの場合は [Enterprise-grade edge] ブレードがグレー アウトして選択できません。 Standard プランでもカスタム ドメインを設定していない場合は、以下のエラーが出るので、キチンとカスタム ドメインは設定しましょう。

f:id:horihiro:20220119161956p:plain

Azure CLI で有効化する場合は、事前に enterprise-edge という拡張が必要になるので、事前に下記コマンドでインストールしておきましょう。

az extension add -n enterprise-edge

確認してみる

まず Enterprise-grade edge 有効化前の名前解決結果です。 f:id:horihiro:20220119162601p:plain SWA に設定したカスタム ドメイン (swa-std.■■■.net) に対して nslookup を実行すると、

  1. SWA の既定のドメイン
  2. SWA 用の TM
  3. どこかの Web Apps ( .azurewebsites.net ドメインなので)
    (以下は Web Apps の名前解決の流れ)

という順序で CNAME を追っていき、最終的にどこか (恐らく最寄りの) の Web Apps の IP アドレスに辿りつきます。

次に、Enterprise-grade edge を有効化して、同じカスタム ドメインに対して nslookup を実行してみます。

f:id:horihiro:20220119170656p:plain

  1. SWA の既定のドメイン
  2. マネージドの AFD
  3. AFD 用の TM
  4. どこかのエッジ サーバー

という名前解決の流れになり、AFD が提供するエッジ サーバーの IP アドレスに辿りつくわけです。

実際にここで得られた IP アドレスを、Azure の IP アドレスリストと照合してみると、AzureFrontDoor.Frontend というタグが付いたグループに含まれることが確認できるので、興味のある方はこちらから。

www.microsoft.com

# が、どのリージョンかまでは追えなかった。

価格

最後のお値段ですが、ひと月&一アプリ当たり $17.52 課金されるようです。

f:id:horihiro:20220120083155p:plain

azure.microsoft.com

おまけ

Enterprise-grade edge の有効/無効はポータルから何度もできますが、無効化した直後に SWA からカスタム ドメインを削除すると、一時的にロックに近い状態になります。
こうなると、1時間ほど再有効化ができなくなるのでご注意ください。
# これでリソース壊しかけました