- カスタムドメインを追加すると、状態が「検証トークンを取得しています (RetrievingValidationToken)」のまま約 10 分続いたのち、必ず次のエラーで失敗します。 An unknown error has occurred while adding your custom domain. Please try again later.
- 失敗したエントリを削除すると、削除要求は受理されますが約 10 分後にアクティビティログへ 次が記録され、一覧上は "Deleting" のまま残り続けます。 ResourceOperationFailure: The resource operation completed with terminal provisioning state 'Failed'
作成・削除の両方向が失敗するため、カスタムドメイン機能が全く使えない状態です。
■環境
- サービス: Azure Static Web Apps (Free プラン)
- リージョン: East Asia
- 対象: サブドメイン (apex ドメインではありません)
- 検証方法: CNAME 委任 (cname-delegation)
- DNS: Azure DNS。親ゾーンから NS 委譲した子ゾーンを使用
■再現手順
- Azure DNS の子ゾーンに CNAME を作成し、Static Web App の既定ホスト名 (*.azurestaticapps.net) を指す
- パブリック DNS から解決できることを確認
- カスタムドメインを追加
- 約 10 分後に Failed
■確認済みで、原因ではないと判明していること
- CNAME はパブリック DNS (8.8.8.8 / 1.1.1.1) から正しく解決でき、 Static Web Apps のバックエンドまでチェーンをたどれます
- 親ゾーンからの NS 委譲はパブリック DNS へ伝播済みです
- CAA レコードは対象ドメイン・親ドメイン・その上位ドメインのいずれにも存在しません
- DNSSEC は未使用です (DS レコードなし)。名前解決は NOERROR で返ります
- Free プランの上限 (1 アプリあたり 2 件) には抵触していません。 カスタムドメインが 0 件のアプリでも 1 件目から失敗します
- 追加経路には依存しません。以下 4 経路すべてで同一の失敗になります
- Azure Portal
- az staticwebapp hostname set --validation-method cname-delegation
- ARM REST API への直接 PUT
- Terraform (azurerm provider)
- 特定のアプリには依存しません。複数のアプリで再現します
- 特定のホスト名には依存しません。使い捨ての別名でも再現します
- 新規作成した Static Web App でも再現します。 作成直後のアプリに対し、Portal 経由・CLI 経由の両方で同じ失敗になりました
- 既知の回避策 (対象ドメインの DNS レコードを全削除し 30〜60 分待ってから削除を再実行) を 試しましたが変化ありません。DNS 削除から 1 時間以上経過後に再実行しても、 受付から 10 分後に同じ失敗になります
■ DNS 側は正常であると考えている根拠
同一サブスクリプション内の Azure Container Apps において、
「同じ DNS ゾーンのホスト名」に対して「同じ CNAME 検証方式」で
マネージド証明書を 5 件発行できています。いずれも SniEnabled でバインド済みで、
HTTPS で正常な証明書を返しています。
同じゾーン・同じ検証方式で Container Apps は成功し、Static Web Apps だけが失敗します。
■タイミングの特徴
作成・削除を問わず、これまで実施したすべての操作が受付から「ちょうど 10 分」で
終端状態になります。検証そのものの失敗というより、バックエンドの依存先の応答を
待っている内部タイムアウトのように見えます。
■ 参考
同じく "Deleting" から動かなくなった事例:
https://learn.microsoft.com/en-us/answers/questions/5919994/custom-domain-stuck-in-deleting-state-on-azure-sta
こちらは apex ドメイン + http-token の更新失敗が発端で原因は異なりますが、
「バックエンドがバインドを保持したままになり、クライアント側のリトライでは解消しない」
「バックエンド側での手動対応が必要」という点は同じ状況に見えます。
■お伺いしたいこと
- 本事象の原因として考えられるものはありますか。 クライアント側で追加確認できることがあればご教示ください。
- "Deleting" のまま残っているエントリを解消する方法はありますか。 バックエンド側での手動解除が必要な場合、どちらへ依頼すればよいでしょうか。
- 現在このサブスクリプションには技術サポートプランを付与していないため 本フォーラムに投稿しています。プロダクトチームの介入が必要な事象の場合、 進め方をご案内いただけますと助かります。