使用状況データ、メトリック、およびログを Azure にアップロードする
課金目的の使用状況情報、監視メトリック、およびログを定期的にエクスポートし、Azure にアップロードできます。 これらの 3 種類のデータのエクスポートとアップロードでは、Azure でデータ コントローラーと、SQL マネージド インスタンス リソースも作成および更新されます。
使用状況データ、メトリック、またはログをアップロードする前に、次のことを行う必要があります。
- ツールをインストールする
Microsoft.AzureArcData
リソース プロバイダーを登録する- サービス プリンシパルを作成する
この記事の例では、山かっこ < ... >
を使用して、スクリプトを実行する前に置き換える必要がある値を識別します。 山かっこと山かっこ内の値を置き換えます。
ツールをインストールする
必要なツールは次のとおりです。
- Azure CLI (az)
arcdata
拡張機能
ツールのインストールに関する記事を参照してください。
リソース プロバイダーの登録
Azure にメトリックまたはユーザー データをアップロードする前に、Azure サブスクリプションに Microsoft.AzureArcData
リソース プロバイダーが登録されていることを確認する必要があります。
リソース プロバイダーを確認するには、次のコマンドを実行します。
az provider show -n Microsoft.AzureArcData -o table
リソース プロバイダーがサブスクリプションに現在登録されていない場合は、登録できます。 登録するには、次のコマンドを実行します。 コマンドが完了するまでに 1 分から 2 分かかる場合があります。
az provider register -n Microsoft.AzureArcData --wait
サービス プリンシパルを作成する
使用状況とメトリックのデータをアップロードするには、サービス プリンシパルが使用されます。
次のコマンドを実行して、メトリック アップロードのサービス プリンシパルを作成します。
Note
サービス プリンシパルを作成するには、Azure で一定のアクセス許可を持っている必要があります。
サービス プリンシパルを作成するには、次の例を更新します。 <ServicePrincipalName>
、SubscriptionId
、resourcegroup
を実際の値で置き換えてコマンドを実行します。
az ad sp create-for-rbac --name <ServicePrincipalName> --role Contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/<resourcegroup>
以前にサービス プリンシパルを作成しており、単に最新の資格情報の取得が必要な場合は、次のコマンドを実行して資格情報をリセットします。
az ad sp credential reset --name <ServicePrincipalName>
たとえば、azure-arc-metrics
という名前のサービス プリンシパルを作成するには、次のコマンドを実行します。
az ad sp create-for-rbac --name azure-arc-metrics --role Contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/myresourcegroup
出力例:
"appId": "<appId>",
"displayName": "azure-arc-metrics",
"name": "http://azure-arc-metrics",
"password": "<password>",
"tenant": "<tenant>"
後で使用するために、appId
、password
、tenant
の値を環境変数に保存します。 これらの値は、グローバル一意識別子 (GUID) の形式です。
SET SPN_CLIENT_ID=<appId>
SET SPN_CLIENT_SECRET=<password>
SET SPN_TENANT_ID=<tenant>
サービス プリンシパルを作成した後、サービス プリンシパルを適切なロールに割り当てます。
サービス プリンシパルにロールを割り当てる
こちらのコマンドを実行して、サービス プリンシパルを、データベース インスタンスのリソースが配置されているサブスクリプションの Monitoring Metrics Publisher
ロールに割り当てます。
Note
Windows 環境から実行する場合は、ロール名に二重引用符を使用する必要があります。
az role assignment create --assignee <appId> --role "Monitoring Metrics Publisher" --scope subscriptions/<SubscriptionID>/resourceGroups/<resourcegroup>
出力例:
{
"canDelegate": null,
"id": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/roleAssignments/<globally unique identifier>",
"name": "<globally unique identifier>",
"principalId": "<principal id>",
"principalType": "ServicePrincipal",
"roleDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/roleDefinitions/<globally unique identifier>",
"scope": "/subscriptions/<Subscription ID>",
"type": "Microsoft.Authorization/roleAssignments"
}
サービス プリンシパルのロールの確認
az role assignment list --scope subscriptions/<SubscriptionID>/resourceGroups/<resourcegroup> -o table
サービス プリンシパルが適切なロールに割り当てられたら、メトリックまたはユーザー データのアップロードに進むことができます。
ログ、メトリック、または使用状況データをアップロードする
ログ、メトリック、または使用状況データをアップロードするための具体的な手順は、アップロードする情報の種類によって異なります。
メトリックを Azure Monitor にアップロードする
使用状況、メトリックのエクスポートとアップロードに関する一般的なガイダンス
Azure Arc 対応データ サービスに対する作成、読み取り、更新、削除 (CRUD) 操作は、課金および監視の目的でログに記録されます。 これらの CRUD 操作を監視し、使用量を適切に計算するバックグラウンド サービスがあります。 実際の使用状況または使用量の計算は、スケジュールに従って、バックグラウンドで実行されます。
使用状況のアップロードは 1 日に 1 回だけ実行してください。 使用状況情報をエクスポートし、同じ 24 時間以内に複数回アップロードすると、リソースの使用状況ではなく Azure portal のリソース インベントリのみが更新されます。
Note
使用状況データは、直接接続モードでデプロイされている Azure Arc データ コントローラーに自動的にアップロードされることに注意してください。
メトリックをアップロードする場合、Azure Monitor では過去 30 分間のデータのみが受け入れられます (詳細を参照)。 メトリックをアップロードするためのガイダンスは、エクスポート ファイルを作成した直後にメトリックをアップロードして、Azure portal でデータセット全体を表示できるようにすることです。 たとえば、午後 2:00 にメトリックをエクスポートし、午後 2:50 にアップロード コマンドを実行した場合などです。 Azure Monitor では過去 30 分間のデータのみが受け入れられるため、ポータルにデータが表示されない場合があります。