koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

Azure の サブスクリプション間リソース移動はとても便利だが失敗することもある

ちょっとした機会があって、Azure上のリソースを同一アカウントの別のサブスクリプションに移動した。

Azure Portal上で幾つかのリソースグループを移動させていったのだが「さすがMicrosoftGUIでポチポチで余裕出来る!」と言った感じでなかなか感動した。

f:id:koudenpa:20180221014159p:plain ↑移動ボタンを押して、移動先を選んで、OK、終わり。すごい楽。

そもそも、このリソースグループという管理単位がとても分かりやすく、環境別などの効果的な管理ができてとてもよい。

のだが、動作確認用のリソースグループから移動していって、いざ本命のリソースグループを移動しようとしたところ、その検証でエラーした。

ResourceMoveProviderValidationFailed リソースの移動の検証に失敗しました。詳細を確認してください。診断情報: タイムスタンプ '20180220T111658Z'、 サブスクリプション ID 'x-x-x-x-x'、追跡 ID 'x-x-x-x-x'、要求の相関 ID 'x-x-x-x-x'。 "Code":"Conflict", "Message":"Resource move for 'resourcename' App Service Certificate failed because there are still imported certificates derived from the App Service Certificate in the source subscription. Imported certificates: /subscriptions/x-x-x-x-x/resourceGroups/xxxx/providers/Microsoft.Web/certificates/xxx-JapanEastwebspace","Target":null,"Details":[{"Message":"Resource move for 'resourcename' App Service Certificate failed because there are still imported certificates derived from the App Service Certificate in the source subscription. Imported certificates: /subscriptions/y-y-y-y-y/resourceGroups/yyy/providers/Microsoft.Web/certificates/yyy-JapanEastwebspace"

なじゃらほい。

リソースの移動に関するドキュメントはこの辺りにあり、移動の制限についても書かれている。

docs.microsoft.com

App Service の制限事項

エラーしたリソースグループ内にはApp Service証明書が含まれていはしたのだが、制限にあるアップロードないしインポートした証明書ではないはずなので、なんでエラーするのかイマイチ分からなかった。

メッセージから適当に考えて「証明書以外を移動してから、別途証明書を移動したらどうなるかなぁ」位の当て推量を試行した正常に移動できた。ラッキー。

もし、エラーメッセージでググってきた人がいたらお試しあれ。

Azureのリソースの移動は楽だぞ、というつぶやきと、もしかしたら同じエラーを見る人がいるかも、という理由で書かれた記事でした。