JavaScriptを有効にしてください

Azure リソースを別サブスクリプションに移動し隊

 ·   4 分で読めます  ·   Kento

こんにちは!
今回はリソースを別のサブスクリプション(しかも別のテナント)に移動させてみました
移動の対象は以下のリソースが含まれるリソースグループ全体になります
もう一度言います、これがリソースグループ全体です!

resource_list
移動対象のリソース:

参考にした公開情報

  1. リソースの種類別の移動操作のサポート - Azure Resource Manager | Microsoft Learn
  2. リソースを新しいサブスクリプションまたはリソース グループに移動する - Azure Resource Manager | Microsoft Learn
  3. リソース グループまたはサブスクリプション間で Azure App Service リソースを移動する - Azure Resource Manager | Microsoft Learn

1 のサイトでは日本語の名称が記載されておらずわかりずらいですが、対応は以下の通りです。

公開情報(大項目) 公開情報(リソースの種類) 日本語名称
Microsoft.Web serverFarms App Service プラン
Microsoft.Web sites App Service
Microsoft.Insights components Application Insights
Microsoft.CertificateRegistration certificateorders App Service 証明書
Microsoft.KeyVault vaults キーコンテナー
Microsoft.Insights webtests 可用性テスト

今回の移動対象リソースはすべてサブスクリプション間の移動に対応していました
2 のサイトに記載されていますが、サブスクリプション間のリソース移動は同一 AzureAD テナントに属している必要があります

手順

大まかな手順は以下の通りになります。

  1. 既存のサブスクリプションと同一のテナントにサブスクリプションの作成
  2. リソースの移動を実行
  3. 別テナントにサブスクリプションの移動
  4. 適切なRBACの割り当て

図にすると以下のイメージです

steps
作業手順:

1.既存のサブスクリプションと同一のテナントにサブスクリプションの作成

まずは移動先となるサブスクリプションを作成します
以前に無料試用版は使用済みなので、「従量課金制」を選択しました
クレジットカード情報など必要な情報を入力してサブスクリプションを有効化します。

create_subscription
サブスクリプションの作成:

2.リソースの移動を実行

移動先のサブスクリプションの準備が完了したら実際にリソースの移動を実行します
移動させたいリソースを選択し、
[移動] > [別のサブスクリプションに移動する]
を選択します
今回は移動先となるリソースグループ(wordpress-rg)を新規作成しました。

portal01
リソースの移動 01:

portal02
リソースの移動 02:

ここで検証作業が走ります。ただ、なぜか検証に失敗してしまいました
エラーメッセージを確認すると

  • Microsoft.Web/sites
  • Microsoft.Web/serverFarms
  • Microsoft.Web/certificates
    の3つを必ず含めように確認してと書かれていました
    当初この3つ目が名前からして証明書だと思っていましたが、証明書は “Microsoft.CertificateRegistration” です!
    ここでピーンと来ました、「リソースグループの表示に含まれていない隠れリソースがある!」
    画面上の「リソースの追加」をクリックしても隠れリソースは見当たりません

portal03
リソースの移動 03:

portal04
リソースの移動 04:

しかし!よく見ると「非表示の型の表示」というよくわからない日本語があります!!!
これをクリックすると

portal05
リソースの移動 05:

出ましたーー
アラート系のリソースなどが表示されました!
Microsoft.Web/certificates はAppServiceと証明書に関連する何かでしょうか。詳細はわからずです
それ以外にも今まで意識してきませんでしたが、アラートなどもリソースグループに紐づいているんですね

これらも移動対象として選択してあげることで、ようやく検証が無事に完了しました

portal06
リソースの移動 06:

あとは確認ボタンをクリックして操作は終了です

3.別テナントにサブスクリプションの移動

サブスクリプション一覧の画面に移動して [→ディレクトりを変更する] をクリックします
移動先となるテナントを選択して実行すれば完了です

portal07
サブスクリプションの移動:

4.適切なRBACの割り当て

異なるAzure ADテナントに移動させたため、RBACの設定がすべてリセットされています
そのため Azure ADのグローバル管理者 があるユーザーでログインし、Azure AD の
[プロパティ] > [Azureリソースのアクセス管理]
を [はい] にします。するとグローバル管理者でサブスクリプションの RBAC が設定可能になるので適切な設定をしておきます。

portal08
RBAC の設定:

まとめ

今回初めてサブスクリプション間の移動を実施しました
そもそも移動することができないリソースもあるので、複数のサブスクリプションを使用する環境ではきちんと計画をして Azure 環境を構築する必要がありますね。

共有

Kento
著者
Kento
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中