このドキュメントでは、Migration Center のディスカバリー クライアント CLI を使用して Azure アカウントでインベントリ検出を実行する手順について説明します。
mcdc CLI を使用すると、Azure 仮想マシン(VM)インスタンスに関する情報を収集できます。mcdc CLI はこの情報を Migration Center に送信し、そこで評価を続行できます。
始める前に
mcdcCLI をダウンロードして実行するための要件を確認します。mcdcCLI をダウンロードする手順を完了します。Migration Center は Azure PowerShell をサポートしていません。Azure CLI を使用してmcdcCLI コマンドを実行します。
Azure に対する認証
mcdc CLI が Azure 環境にアクセスできるようにするには、次のいずれかの方法でアクセスを構成する必要があります。
既存の Azure 認証情報を使用する
既存の Azure 認証情報を使用するには、Azure Cloud Shell から mcdc CLI コマンドを直接実行します。Azure Cloud Shell から mcdc CLI を実行する場合は、クライアント シークレットなしで既存の認証情報を使用できます。この場合、mcdc CLI は、認証情報で付与された権限に基づいて Azure 環境にアクセスし、VM インスタンスを検出できます。
mcdc CLI のクライアント シークレットを作成する
mcdc CLI が Azure リソースにアクセスできるようにするには、mcdc CLI を Azure アカウントのアプリケーションとして登録し、クライアント シークレットを作成します。
mcdc CLI のクライアント シークレットを作成する手順は次のとおりです。
- Azure ポータルで [アプリの登録] ページに移動し、[新しい登録] をクリックします。
- 新しいクライアント認証情報を追加するには、[Add a certificate or secret] をクリックします。
- 新しいクライアント シークレットを追加するには、[+ New client secret] をクリックし、クライアント シークレットの説明と有効期限を入力します。
- [追加] をクリックします。
これで、クライアント シークレットを使用できるようになりました。クライアント シークレットの値をコピーします。これは、後で mcdc CLI コマンドを実行するときに必要になります。
カスタムロールの作成
mcdc CLI が Azure リソースにアクセスするために必要な権限を持っていることを確認するには、必要な権限を持つカスタムロールを作成する必要があります。
カスタムロールを作成する手順は次のとおりです。
- Azure ポータルで [Subscriptions] ページに移動し、Azure サブスクリプションを選択します。
- [Subscription ID] をクリックしてコピーします。
次の JSON テンプレートを保存し、
SUBSCRIPTION_IDを手順 2 でコピーしたサブスクリプション ID に置き換えます。{ "properties": { "roleName": "Minimum permissions role", "description": "This role contains the bare minimum of Azure IAM permissions", "assignableScopes": [ "/subscriptions/SUBSCRIPTION_ID" ], "permissions": [ { "actions": [ "Microsoft.Compute/virtualMachines/read", "Microsoft.Compute/disks/read", "Microsoft.Insights/MetricDefinitions/read", "Microsoft.Insights/Metrics/Read", "Microsoft.Network/networkInterfaces/read" ], "notActions": [], "dataActions": [], "notDataActions": [] } ] } }
権限の詳細については、権限の詳細をご覧ください。
Azure ポータルで、[Access control (IAM)] ページに移動します。
カスタムロールを追加するには、[+ 追加] をクリックします。
[Start from JSON] をクリックし、[Select file] をクリックして、手順 3 で作成した JSON ファイルをアップロードします。
[Review + Create] をクリックして入力内容を確認し、[Create] をクリックしてカスタムロールを作成します。
カスタムロールを mcdc CLI に割り当てる
カスタムロールを作成したら、必要な権限を付与するために mcdc CLI アプリケーションに割り当てる必要があります。
mcdc CLI にカスタムロールを割り当てる手順は次のとおりです。
- Azure ポータルで、[Access control (IAM)] ページに移動します。
- [+ 追加] をクリックし、[ロール割り当てを追加] をクリックします。
- 作成したカスタムロール(カスタムロールを作成する)で、「
m2vm」と入力してロールを選択します。 - [次へ] をクリックします。
- [+ Select members] をクリックし、
mcdcCLI を登録するで登録したmcdcCLI を検索して、[Select] をクリックします。 - カスタムロールを確認してアプリに割り当てるには、[Review + Assign] をクリックします。
Azure で VM インスタンスを検出する
Azure VM インスタンスからインベントリ情報を収集する手順は次のとおりです。
コマンドライン ターミナルで、
mcdcCLI をダウンロードしたディレクトリに移動します。検出を実行する
Azure Cloud Shell
既存の Azure 認証情報を使用して Azure Cloud Shell から VM インスタンスを検出するには、次のコマンドを実行します。
Linux
./mcdc discover azure --tenant TENANT_ID
--subscription SUBSCRIPTION_ID
--host-credentialsWindows
mcdc.exe discover azure --tenant TENANT_ID
--subscription SUBSCRIPTION_ID
--host-credentialsクライアント シークレット
クライアント シークレットを使用して Azure アカウントにアクセスできる任意のコンピュータから VM インスタンスを検出するには、次のコマンドを実行します。
Linux
./mcdc discover azure --tenant TENANT_ID
--subscription SUBSCRIPTION_ID
--client CLIENT_ID
--secret CLIENT_SECRET
[--resource-group RESOURCE_GROUP]Windows
mcdc.exe discover azure --tenant TENANT_ID
--subscription SUBSCRIPTION_ID
--client CLIENT_ID
--secret CLIENT_SECRET
[--resource-group RESOURCE_GROUP]次のように置き換えます。
- TENANT_ID: Azure Active Directory(AAD)テナントの一意の識別子。
- SUBSCRIPTION_ID: カスタムロールの作成セクションで作成したサブスクリプション ID。
- CLIENT_ID:
mcdcCLI を登録するセクションで作成したクライアント ID。 - CLIENT_SECRET:
mcdcCLI を登録するセクションで作成したクライアント シークレット。 - RESOURCE_GROUP: 検出する VM インスタンスが含まれる Azure リソース グループ。このフラグは省略可能です。
出力は次のようになります。
[+] Collecting Azure VM instances...
Collecting region eu-west-1
Collected 73 Azure VM instances
[✓] Collection completed.
検出が完了したら、収集したデータを確認するために discover ls コマンドを実行します。
Linux
./mcdc discover ls
Windows
mcdc.exe discover ls
出力は次のようになります。
VM Assets
PLATFORM VM ID NAME COLLECTED DATA OS IP ADDRESSES
4f7bd883-b9cd-42e8-a67d-af3ec82b7f29 abc-rhel9.0-arm AZUREVM Red Hat Enterprise Linux 192.0.2.1
b5bcefcc-5565-4e45-a05a-fac055f73f14 def-rhel9.0-arm AZUREVM Red Hat Enterprise Linux 192.0.2.2
sfbcesdc-8865-4e4t-a0sf-f8sfyjf75723 ghi-ol9.3 AZUREVM Linux/UNIX 192.0.2.3
次のステップ
- ゲスト検出を実行する方法を確認する。
- 収集したデータを Migration Center にエクスポートする方法を確認する。