Azure の無料アカウントで Azure Database for MySQL Flexible Server を作成しようとしたのに、どのリージョンを選んでも「ProvisionNotSupportedForRegion」で失敗してしまう――この症状は設定ミスではなく、リージョンのキャパシティやサブスクリプション側の制限が原因になっていることが多いです。無料のまま試せる現実的な対処と、希望リージョンで使うための進め方をまとめます。
ProvisionNotSupportedForRegion で MySQL Flexible Server が作成できない現象
Azure ポータルで Azure Database for MySQL Flexible Server を新規作成しようとすると、作成開始直後に次のようなエラーで止まってしまうケースがあります。
Provisioning in requested region is not supported.
Your subscription might not have access to create a server in the selected region.
このエラーは、リージョンを変えても繰り返し発生することがあり、「Japan East / Japan West はもちろん、他のリージョンでも全部ダメ」という状況になることもあります。
まず結論:原因は「設定」より「制限」であることが多い
このエラーは、MySQL Flexible Server の構成パラメータ(VNet、サブネット委任、ファイアウォールなど)が間違っているというより、次のどちらか(または両方)で発生することが多いです。
- リージョン側のキャパシティ制限(混雑・在庫不足・一時的な受け入れ制限)
- サブスクリプション側のアクセス制限(無料アカウントや特定オファーで、使えるリージョンが絞られている)
実際に Microsoft Q&A でも「リージョンのキャパシティが限られていると、特定のサブスクリプションはそのリージョンにデプロイできない」と説明され、回避策として別リージョンを試す流れが案内されています。
ProvisionNotSupportedForRegion の意味を「分解」して理解する
MySQL Flexible Server の作成可否は、ざっくり言うと次の掛け算で決まります。
| 要素 | 例 | ここで詰まりやすいポイント |
|---|---|---|
| サブスクリプション | 無料アカウント / Free Trial / Pay-As-You-Go など | オファー種別によって、利用可能リージョンや割り当てが異なることがある |
| リージョン | Japan East / West US 3 / Central US など | 「そのリージョンにサービスが存在する」ことと「自分のサブスクが作れる」ことは別 |
| SKU(計算リソース) | Bursty(B1ms) / General Purpose など | 同じリージョンでも SKU 在庫がないと作れないことがある |
エラー文にある「Your subscription might not have access…」は、まさにこの掛け算のどこかが成立していない(または成立していても一時的に受け入れが止まっている)可能性を示しています。
よくある原因と、最短での切り分け
| 原因 | 起きやすい状況 | 確認ポイント | まず試す対処 |
|---|---|---|---|
| リージョンのキャパシティ制限 | 人気リージョン(例:日本リージョンなど)で発生しやすい | 別リージョンだと作れる/日によって挙動が変わる | リージョンを変更して再作成(作成できる場所を優先) |
| サブスクリプションのリージョンアクセス制限 | 無料アカウントや一部オファーで発生 | 複数リージョンでも同じエラーが続く | 無料の範囲では「作成できるリージョンを探す」が現実解 |
| Resource Provider 未登録 | 新規サブスクで「初めて」MySQL 系リソースを作る時 | Microsoft.DBforMySQL が未登録 | Microsoft.DBforMySQL を登録してから再試行 |
| SKU 在庫(そのサイズが使えない) | CLI/ARM/Terraform で作成している時に多い | 指定 SKU がそのリージョンに存在しない/空 | 別 SKU または別リージョンへ変更 |
「Resource Provider 未登録」は設定系の落とし穴として有名で、Microsoft の案内でも MySQL リソースを作る前に Microsoft.DBforMySQL を登録する手順が示されています。
無料アカウントでできる対処:作成できるリージョンを“探して”使う
無料アカウントで練習したい場合は、基本方針を次のように割り切るのが一番早いです。
- 「希望リージョン」ではなく「作成できるリージョン」を優先して検証を進める
- 後で本番(または本番想定)をやる段階で、リージョンを見直す
作成できた報告があるリージョン例
どのリージョンで通るかはタイミング・混雑・サブスクリプション条件で変動しますが、Microsoft Q&A では「West US 3 を試してみたら?」という案内があり、リージョン変更で作成できた例が示唆されています。
また、別の事例では「多くのリージョンで同じエラーだったが、Central US だけ作成できた」という報告もあります。
重要:「このリージョンなら必ず通る」という保証はありません。今日は West US 3 が通っても、明日は混雑で弾かれる可能性があります。逆もあります。なので、最初の目的が「学習・動作確認」なら、いったん通るリージョンで進めるのが最短です。
まず失敗しにくい“軽量”構成にする
リージョン/サブスク制限が根本原因でも、構成を軽くすることで「SKU 在庫」由来の失敗を避けやすくなります。無料枠で練習するなら、次の組み合わせを基本にすると無駄が少ないです。
| 項目 | おすすめ | 理由 |
|---|---|---|
| コンピュート | Burstable(可能なら B1ms) | 無料枠の対象で、最小構成に寄せられる |
| 高可用性 | 無効(HA なし) | 追加の割り当てが必要になり、制限に引っかかりやすい |
| ネットワーク | まずは Public access で検証 | VNet 周りの設計要素を減らし、原因切り分けが楽 |
| バックアップ | 必要最低限(保持日数・冗長設定を控えめに) | 学習用途でのコスト/リソース増を抑える |
なお、Azure 無料アカウントでは MySQL Flexible Server を 12 か月無料枠として利用でき、月あたりの上限として 750 時間の Burstable B1ms、32GB ストレージ、32GB バックアップが案内されています(無料枠内に収める前提)。
Azure CLI で「そのリージョンに SKU が出ているか」確認する
「リージョンを変えても全部ダメ」なのか、「リージョンには入れるが SKU が無い」なのかを切り分けると、ムダな試行錯誤が減ります。Azure CLI には、指定リージョンの Flexible Server SKU を一覧するコマンドが用意されています。
# 例:西ヨーロッパの SKU を一覧
az mysql flexible-server list-skus -l westeurope
# 例:West US 3 の SKU を一覧
az mysql flexible-server list-skus -l westus3
出力が空(または想定 SKU が無い)場合、そのリージョンでその SKU が利用できない、あるいは あなたのサブスクリプションがそのリージョンに入れないなどの可能性が高まります。
Microsoft.DBforMySQL(Resource Provider)を登録する
初期状態で自動登録されることもありますが、未登録だと作成が進まないケースがあります。Azure ポータルから登録するなら、次の流れです。
- Azure ポータル → サブスクリプション
- 左メニューの リソース プロバイダー
- フィルターで MySQL を検索
- Microsoft.DBforMySQL を 登録
CLI なら、次のコマンドで登録できます。
az provider register --namespace Microsoft.DBforMySQL
無料アカウントで「サポートに解除依頼」はできるのか?
「このリージョンで MySQL Flexible Server を使えるようにしてほしい」と思ってサポートチケットを検討する人は多いのですが、Microsoft Q&A では Azure 無料アカウントはクォータ増加(リージョンアクセスの拡張を含む)リクエスト対象外として案内されることがあります。つまり、無料のまま“特定リージョンを開けてもらう”ルートは期待しにくい、というのが現実です。
このため、無料アカウントでの最適解は次のどちらかになります。
- 作成できるリージョン(例:West US 3 など)に寄せて学習を続ける
- どうしても希望リージョンが必要なら、従量課金へアップグレードして手続きを進める
希望リージョン(例:Japan East / Japan West)で使いたい場合の進め方
「本番に近い構成を試したい」「レイテンシ的に日本リージョンが必須」など、リージョンを妥協できない場合は、次の順で考えると迷いが減ります。
従量課金(Pay-As-You-Go)にアップグレードする
無料アカウントをアップグレードしても、サインアップから 30 日間は 残っているクレジットを保持したまま使えることが明記されています。また、アップグレード後も 12 か月の無料サービス期間が継続する旨も案内されています。
「アップグレードした瞬間に無料枠が消えるのでは?」と不安になるポイントですが、少なくともクレジットの扱いについては公式に整理されています。学習を止めずに次へ進むための選択肢として、ここは知っておく価値があります。
サポートリクエストでクォータ(リージョンアクセス)を依頼する
MySQL Flexible Server のクォータ増加は、Azure ポータルからサポートリクエストを作成して申請する流れが案内されています。手順としては、問題の種類で「Service and subscription limits (quotas)」を選び、クォータ種別で「Azure Database for MySQL Flexible Server」を選択して申請します。
ただし、申請すれば必ず希望リージョンが許可されるわけではありません。混雑状況やポリシー次第で承認/否認があり得る点は、最初から織り込んでおくのが安全です。
無料アカウントのまま練習を続けるためのコスト最適化
リージョン問題を回避できたとしても、学習用途では「思ったより課金が増えた」「止め忘れてクレジットが減った」が起きがちです。MySQL Flexible Server は停止/起動ができ、停止中は計算リソース課金が止まること、また停止状態が 30 日続くと自動で再起動が必要になることが説明されています。
- 学習が終わったら 停止(動かしっぱなしを避ける)
- ストレージは必要最小限から始める(後から増やせる)
- まずは Public access で動作確認 → 後で VNet/Private に寄せる
- リソースグループ単位で検証を区切り、不要になったらまとめて削除する
よくある質問
「サービスがそのリージョンで提供されている」のに、なぜ作れない?
Azure の「リージョンで提供されている」は サービスとして存在するという意味で、あなたのサブスクリプションが その瞬間に新規作成できることを保証しません。キャパシティが逼迫していると、特定のサブスクリプションが弾かれることがあるためです。
何度も作り直していると、そのうち通る?
キャパシティ由来の制限は「時間帯や日によって変わる」ことがある一方、サブスクリプション制限が強い場合は何度やっても通りません。“同条件で粘る”より“リージョンを変えて切り分ける”ほうが早いです。
日本リージョンが必須だけど、無料のまま何とかしたい
結論としては難しいことが多いです。無料アカウントではクォータ増加の対象外として案内されるケースがあり、希望リージョンの解放を依頼できない可能性があります。学習を止めない目的なら、まずは作成できるリージョンで検証し、必要になったタイミングで従量課金へ移行するのが安全です。
まとめ:どう動けばいいか
- ProvisionNotSupportedForRegion は設定ミスよりも「リージョン/サブスクリプション制限」起因が多い
- 無料アカウントで今すぐ動かすなら、作成できるリージョン(例:West US 3 / Central US など)を探して使う
- Provider 未登録の可能性があるので Microsoft.DBforMySQL を登録してから再試行する
- 希望リージョンが必須なら、従量課金へアップグレード → サポートリクエストでクォータ/アクセスを相談
- 無料枠で練習するなら、B1ms など最小構成+停止運用でコストを抑える

コメント