このドキュメントでは、Migration Center のディスカバリー クライアント CLI を使用して Azure アカウントでインベントリ検出を実行する手順について説明します。
mcdc
CLI を使用すると、Azure 仮想マシン(VM)インスタンスに関する情報を収集できます。mcdc
CLI はこの情報を Migration Center に送信し、そこで評価を続行できます。
始める前に
mcdc
CLI をダウンロードして実行するための要件を確認します。mcdc
CLI をダウンロードする手順を完了します。Migration Center は Azure PowerShell をサポートしていません。Azure CLI を使用してmcdc
CLI コマンドを実行します。
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] をクリックし、
mcdc
CLI を登録するで登録したmcdc
CLI を検索して、[Select] をクリックします。 - カスタムロールを確認してアプリに割り当てるには、[Review + Assign] をクリックします。
Azure で VM インスタンスを検出する
Azure VM インスタンスからインベントリ情報を収集する手順は次のとおりです。
コマンドライン ターミナルで、
mcdc
CLI をダウンロードしたディレクトリに移動します。検出を実行する
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:
mcdc
CLI を登録するセクションで作成したクライアント ID。 - CLIENT_SECRET:
mcdc
CLI を登録するセクションで作成したクライアント シークレット。 - 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 にエクスポートする方法を確認する。