Azure Monitor ログで専用クラスターを作成および管理する
[アーティクル] 11/20/2024
19 人の共同作成者
フィードバック
この記事の内容
Azure Monitor の専用クラスターを使用すると、高度なセキュリティと制御機能、コストの最適化が可能になります。 インジェスト操作やクエリ操作を中断することなく、新規または既存のワークスペースをクラスターにリンクできます。
拡張機能
専用クラスターが必要な機能
カスタマー マネージド キー - 指定して制御するキーを使用してデータを暗号化します。
Lockbox - Microsoft サポート エンジニアによるデータ アクセスを制御します。
二重暗号化 - データのための追加の暗号化レイヤー。
クロスクエリの最適化 - 同じクラスター上にある場合は、クロスワークスペース クエリの実行速度が速くなります。
コストの最適化 - 同じリージョン内のワークスペースをクラスターにリンクすることで、リンクされているすべてのワークスペースから取り込まれたデータに対して、コミットメント レベルの割引を利用できます。
可用性ゾーン : 独立した電源、冷却設備、ネットワークを備えた、異なる物理的な場所にあるデータセンターで、データを保護します。 Azure Monitor の可用性ゾーン は、サービスのより広範な部分を対象にしていて、リージョンで利用可能なときは、Azure Monitor の回復力を自動的に拡張します。 Azure Monitor は、サポートされているリージョンに既定で可用性ゾーンが有効 (isAvailabilityZonesEnabled
"true") なクラスターとして専用クラスターを作成します。 専用クラスター可用性ゾーン は、現在、すべてのリージョンでサポートされているわけではありません。
Azure Event Hubs からの取り込み - Event Hubs から Log Analytics ワークスペースにデータを直接取り込みます。
クラスターの価格モデル
Log Analytics 専用クラスターは、1 日あたり 100 GB からのコミットメント レベルの価格モデルを使用します。 コミットメント レベルを超えるインジェストは、GB あたりのレートに基づいて課金されます。 コミットメント レベルはいつでも引き上げることができますが、引き下げるには 31 日間のコミットメント期間が必要です。 コミットメント レベルの詳細については、「Azure Monitor ログの価格の詳細 」を参照してください。
取り込まれたデータの課金属性を決定する課金の種類 の値は、次の 2 種類があります。
Cluster (既定) - クラスターのコストは、クラスター リソースに帰属します。
Workspaces - クラスターのコストは、クラスター内のワークスペースに比例的に帰属します。その日に取り込まれた合計データがコミットメント レベルを下回る場合に使用量の一部がクラスター リソースに課金されます。 クラスターの価格モデルの詳細については、「Log Analytics 専用クラスター」を参照してください。
必要なアクセス許可
クラスター関連のアクションを実行するには、次のアクセス許可が必要です。
アクション
必要なアクセス許可またはロール
専用クラスターを作成する
Microsoft.Resources/deployments/*
と Microsoft.OperationalInsights/clusters/write
のアクセス許可。これは、たとえば、Log Analytics 共同作成者の組み込みロール によって付与されます。
クラスターのプロパティを変更する
Microsoft.OperationalInsights/clusters/write
アクセス許可。これは、たとえば、Log Analytics 共同作成者の組み込みロール によって付与されます。
ワークスペースをクラスターにリンクする
Microsoft.OperationalInsights/clusters/write
、Microsoft.OperationalInsights/workspaces/write
、Microsoft.OperationalInsights/workspaces/linkedservices/write
のアクセス許可。これは、たとえば、Log Analytics 共同作成者の組み込みロール によって付与されます。
ワークスペースのリンク状態を確認する
ワークスペースに対する Microsoft.OperationalInsights/workspaces/read
アクセス許可。たとえば、Log Analytics 閲覧者の組み込みロール によって付与されます。
クラスターを取得する、またはクラスターのプロビジョニング状態を確認する
Microsoft.OperationalInsights/clusters/read
アクセス許可。これは、たとえば、Log Analytics 閲覧者の組み込みロール によって付与されます。
クラスター内のコミットメント レベルまたは billingType を更新する
Microsoft.OperationalInsights/clusters/write
アクセス許可。これは、たとえば、Log Analytics 共同作成者の組み込みロール によって付与されます。
必要なアクセス許可を付与する
*/write
アクセス許可を持つ所有者または共同作成者ロール、または Microsoft.OperationalInsights/*
アクセス許可を持つ Log Analytics 共同作成者の組み込みロール
クラスターからワークスペースのリンクを解除する
Microsoft.OperationalInsights/workspaces/linkedServices/delete
アクセス許可。これは、たとえば、Log Analytics 共同作成者の組み込みロール によって付与されます。
専用クラスターを削除する
Microsoft.OperationalInsights/clusters/delete
アクセス許可。これは、たとえば、Log Analytics 共同作成者の組み込みロール によって付与されます。
Log Analytics のアクセス許可の詳細については、「Azure Monitor でログ データとワークスペースへのアクセスを管理する 」を参照してください。
Resource Manager テンプレートのサンプル
この記事には、Azure Monitor で Log Analytics クラスターを作成および構成するためのサンプルの Azure Resource Manager (ARM) テンプレート が含まれています。 各サンプルには、テンプレート ファイルと、テンプレートに指定するサンプル値を含むパラメーター ファイルが含まれています。
テンプレート リファレンス
準備
クラスター コミットメント レベルの課金は、データ インジェストに関係なく作成されると開始されます。開始する前に、次の準備をしておくことをお勧めします。
クラスターが作成されるサブスクリプションがある
クラスターにリンクするワークスペースの一覧を用意します。 クラスターと同じリージョンに存在する必要がある
課金の種類 と割り当てを、クラスター (既定)、またはリンクされたワークスペースに比例して割り当てるかどうかを選択します。
クラスターを作成し、ワークスペースをリンクするためのアクセス許可 を確認する
Note
クラスターの作成とワークスペースのリンクは、非同期処理で実行され、完了までに数時間かかる場合があります
クラスターからワークスペースをリンクまたはリンク解除しても、操作中のインジェストやクエリには影響ありません。
専用クラスターを作成する
新しい専用クラスターを作成する場合は、次のプロパティを指定します。
ClusterName : リソース グループに対して一意である必要があります。
ResourceGroupName : 通常、組織内の多くのチームがクラスターを共有するため、中央の IT リソース グループを使用します。 設計に関するその他の考慮事項については、Log Analytics ワークスペースの構成の設計 に関する記事を確認してください。
場所
SkuCapacity : コミットメント レベルは、1 日あたり 100、200、300、400、500、1,000、2,000、5,000、10,000、25,000、50,000 GB に設定できます。 CLI でサポートされている最小コミットメント レベルは、現在 500 です。 REST を使用し、最小 100 で少なくコミットメント レベルを構成します。 クラスター コストの詳細については、専用クラスター に関するページを参照してください。
マネージド ID : クラスターは、次の 2 種類のマネージド ID がサポートされています。
システム割り当てマネージド ID - ID の type
が "SystemAssigned" に設定されていると、クラスターの作成時に自動的に生成されます。 後でこの ID を使用して、ラップおよびラップ解除操作に必要な Key Vault へのストレージ アクセス権を付与できます。
クラスターの REST 呼び出しの ID
{
"identity": {
"type": "SystemAssigned"
}
}
ユーザー割り当てマネージド ID - クラスターの作成前にキー コンテナーでカスタマー マネージド キーにアクセス許可を付与すると、それをクラスター作成時に構成できます。
クラスターの REST 呼び出しの ID
{
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/UserAssignedIdentities/<cluster-assigned-managed-identity>"
}
}
}
クラスター リソースを作成したら、"sku"、*keyVaultProperties、"billingType" などのプロパティを編集できます。 詳細については、以下を参照してください。
削除されたクラスターが完全に削除されるまでに 2 週間かかります。 サブスクリプションとリージョンごとに、アクティブな 5 つと、過去 2 週間に削除された 2 つを合わせた 7 つのクラスターを使用できます。
Note
クラスターの作成には複数のリソースと操作が関与し、通常は 2 時間以内に完了します。
専用クラスターは、データ インジェストに関係なくプロビジョニング後に課金されます。プロビジョニングおよびクラスターへのワークスペースのリンクを効率よく行えるようデプロイを準備することをお勧めします。 次の点を確認します。
クラスターにリンクさせる初期ワークスペースのリストが明らかになっていること
リンクさせるワークスペースとクラスターに使用するサブスクリプションへのアクセス許可があること
Azure portal の [Log Analytics 専用クラスター] メニューで [作成] をクリックします。 クラスターの名前やコミットメント レベルなどの詳細を求めるメッセージが表示されます。
Note
CLI でサポートされている最小コミットメント レベルは、現在 500 です。 REST を使用し、最小 100 で少なくコミットメント レベルを構成します。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster create --no-wait --resource-group "resource-group-name" --name "cluster-name" --location "region-name" --sku-capacity "daily-ingestion-gigabyte"
# Wait for job completion when `--no-wait` was used
$clusterResourceId = az monitor log-analytics cluster list --resource-group "resource-group-name" --query "[?contains(name, 'cluster-name')].[id]" --output tsv
az resource wait --created --ids $clusterResourceId --include-response-body true
Note
PowerShell でサポートされている最小コミットメント レベルは、現在 500 です。 REST を使用し、最小 100 で少なくコミットメント レベルを構成します。
Select-AzSubscription "cluster-subscription-id"
New-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name" -Location "region-name" -SkuCapacity "daily-ingestion-gigabyte" -AsJob
# Check when the job is done when `-AsJob` was used
Get-Job -Command "New-AzOperationalInsightsCluster*" | Format-List -Property *
Call
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
Content-type: application/json
{
"identity": {
"type": "systemAssigned"
},
"sku": {
"name": "capacityReservation",
"Capacity": 100
},
"properties": {
"billingType": "Cluster",
},
"location": "<region>",
}
Response
202 (承認済み) とヘッダーである必要があります。
次のサンプルでは、新しい空の Log Analytics クラスターを作成します。
@description('Specify the name of the Log Analytics cluster.')
param clusterName string
@description('Specify the location of the resources.')
param location string = resourceGroup().location
@description('Specify the capacity reservation value.')
@allowed([
100
200
300
400
500
1000
2000
5000
])
param CommitmentTier int
@description('Specify the billing type settings. Can be \'Cluster\' (default) or \'Workspaces\' for proportional billing on workspaces.')
@allowed([
'Cluster'
'Workspaces'
])
param billingType string
resource cluster 'Microsoft.OperationalInsights/clusters@2021-06-01' = {
name: clusterName
location: location
identity: {
type: 'SystemAssigned'
}
sku: {
name: 'CapacityReservation'
capacity: CommitmentTier
}
properties: {
billingType: billingType
}
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"CommitmentTier": {
"value": 500
},
"billingType": {
"value": "Cluster"
}
}
}
次のサンプルでは、新しい空の Log Analytics クラスターを作成します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"metadata": {
"description": "Specify the name of the Log Analytics cluster."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify the location of the resources."
}
},
"CommitmentTier": {
"type": "int",
"allowedValues": [
100,
200,
300,
400,
500,
1000,
2000,
5000
],
"metadata": {
"description": "Specify the capacity reservation value."
}
},
"billingType": {
"type": "string",
"allowedValues": [
"Cluster",
"Workspaces"
],
"metadata": {
"description": "Specify the billing type settings. Can be 'Cluster' (default) or 'Workspaces' for proportional billing on workspaces."
}
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/clusters",
"apiVersion": "2021-06-01",
"name": "[parameters('clusterName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"sku": {
"name": "CapacityReservation",
"capacity": "[parameters('CommitmentTier')]"
},
"properties": {
"billingType": "[parameters('billingType')]"
}
}
]
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"CommitmentTier": {
"value": 500
},
"billingType": {
"value": "Cluster"
}
}
}
クラスターのプロビジョニング状態を確認する
Log Analytics クラスターのプロビジョニングは、完了するまでに時間がかかります。 ProvisioningState プロパティをチェックするには、次のいずれかの方法を使用します。 この値は、プロビジョニング中は ProvisioningAccount 、完了時は Succeeded になります。
クラスターのプロビジョニング中にポータルに状態が表示されます。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster show --resource-group "resource-group-name" --name "cluster-name"
Select-AzSubscription "cluster-subscription-id"
Get-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name"
クラスター リソースに GET 要求を送信し、provisioningState の値を調べます。 この値は、プロビジョニング中は ProvisioningAccount 、完了時は Succeeded になります。
GET https://management.azure.com/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name?api-version=2022-10-01
Authorization: Bearer <token>
Response
{
"identity": {
"type": "SystemAssigned",
"tenantId": "tenant-id",
"principalId": "principal-id"
},
"sku": {
"name": "capacityreservation",
"capacity": 100
},
"properties": {
"provisioningState": "ProvisioningAccount",
"clusterId": "cluster-id",
"billingType": "Cluster",
"lastModifiedDate": "last-modified-date",
"createdDate": "created-date",
"isDoubleEncryptionEnabled": false,
"isAvailabilityZonesEnabled": false,
"capacityReservationProperties": {
"lastSkuUpdate": "last-sku-modified-date",
"minCapacity": 100
}
},
"id": "/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name",
"name": "cluster-name",
"type": "Microsoft.OperationalInsights/clusters",
"location": "cluster-region"
}
クラスターの作成時にマネージド ID サービスが "principalId" GUID を生成します。
ワークスペースをクラスターにリンクする
Note
ワークスペースのリンクは、Log Analytics クラスターのプロビジョニングが完了した後でのみ実行できます。
ワークスペースをクラスターにリンクするには、複数のバックエンド コンポーネントとキャッシュのハイドレーションを同期する必要があります。通常、2 時間以内に完了します。
Log Analytics ワークスペース ワークスペースをリンクすると、ワークスペースの課金プランは LACluster に変更されるため、ワークスペースのデプロイ中の競合を防ぐために、ワークスペース テンプレートの SKU を削除する必要があります。
クラスター プランによって管理される課金の側面を除き、すべてのワークスペース構成とクエリの側面は、リンク中も後も変更されません。
ワークスペースのリンク操作を実行するには、ワークスペースとクラスター リソースの両方に対する次の "書き込み" アクセス許可を持っている必要があります。
ワークスペース:Microsoft.OperationalInsights/workspaces/write
"クラスター" リソース:Microsoft.OperationalInsights/clusters/write
Log Analytics ワークスペースが専用クラスターにリンクされると、ワークスペースに送信された新しいデータは専用クラスターに取り込まれますが、以前に取り込まれたデータは Log Analytics クラスターに残ります。 ワークスペースをリンクしても、インジェストやクエリのエクスペリエンスを含むワークスペースの操作には影響しません。 Log Analytics クエリ エンジンでは、以前のクラスターと新しいクラスターのデータが自動的に結合されます。また、クエリの結果は完全です。
クラスターは特定のリージョンに存在し、そのクラスターと同じリージョン内にある最大 1,000 個のワークスペースにリンクできます。 ワークスペースを 1 か月に 3 回以上クラスターにリンクすることはできません。これはデータの断片化を避けるためです。
リンクされたワークスペースは、クラスターが配置されているサブスクリプションとは異なるサブスクリプション内に配置できます。 Azure Lighthouse を使用して両方を 1 つのテナントにマップする場合、ワークスペースとクラスターは異なるテナント内に配置できます。
専用クラスターがカスタマー マネージド キー (CMK) を使用して構成されている場合、新しく取り込まれたデータはそのキーで暗号化されますが、以前のデータは Microsoft マネージド キー (MMK) で暗号化されたままです。 キー構成は Log Analytics によって抽象化され、以前のデータ暗号化と新しいデータ暗号化全体のクエリがシームレスに実行されます。
ワークスペースをクラスターにリンクするには、次の手順に従います。 自動化を使って、複数のワークスペースをリンクできます。
Azure portal の Log Analytics 専用クラスター メニューからクラスターを選択し、[リンクされたワークスペース] をクリックして、専用クラスターに現在リンクされているすべてのワークスペースを表示します。 [ワークスペースにリンク] をクリックして、追加のワークスペースをリンクします。
Note
リンクされたサービス name
に クラスター 値を使用します。
# Find cluster resource ID
az account set --subscription "cluster-subscription-id"
$clusterResourceId = az monitor log-analytics cluster list --resource-group "resource-group-name" --query "[?contains(name, 'cluster-name')].[id]" --output tsv
# Link workspace
az account set --subscription "workspace-subscription-id"
az monitor log-analytics workspace linked-service create --no-wait --name cluster --resource-group "resource-group-name" --workspace-name "workspace-name" --write-access-resource-id $clusterResourceId
# Wait for job completion when `--no-wait` was used
$workspaceResourceId = az monitor log-analytics workspace list --resource-group "resource-group-name" --query "[?contains(name, 'workspace-name')].[id]" --output tsv
az resource wait --deleted --ids $workspaceResourceId --include-response-body true
Note
LinkedServiceName
にクラスター 値を使用します。
Select-AzSubscription "cluster-subscription-id"
# Find cluster resource ID
$clusterResourceId = (Get-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name").id
Select-AzSubscription "workspace-subscription-id"
# Link the workspace to the cluster
Set-AzOperationalInsightsLinkedService -ResourceGroupName "resource-group-name" -WorkspaceName "workspace-name" -LinkedServiceName cluster -WriteAccessResourceId $clusterResourceId -AsJob
# Check when the job is done
Get-Job -Command "Set-AzOperationalInsightsLinkedService" | Format-List -Property *
次の REST 呼び出しを使用して、クラスターにリンクします。
Send
PUT https://management.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>/linkedservices/cluster?api-version=2020-08-01
Authorization: Bearer <token>
Content-type: application/json
{
"properties": {
"WriteAccessResourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/clusters/<cluster-name>"
}
}
Response
202 (承認済み) とヘッダー。
ワークスペースのリンク状態を確認する
ワークスペース のリンク操作が完了するまでに最大 90 分かかることがあります。 リンクされたワークスペースとクラスターの両方で状態を確認できます。 完了すると、ワークスペース リソースには features
の下に clusterResourceId
プロパティが含まれます。クラスターには、associatedWorkspaces
セクションの下にリンクされたワークスペースが含まれます。
クラスターがカスタマー マネージド キーで構成されている場合、リンク操作の完了後にワークスペースに取り込まれたデータは、キーで暗号化されて格納されます。
専用クラスターの [概要] ページで、[JSON ビュー] を選択します。 associatedWorkspaces
セクションには、クラスターにリンクされているワークスペースが一覧表示されます。
az account set --subscription "workspace-subscription-id"
az monitor log-analytics workspace show --resource-group "resource-group-name" --workspace-name "workspace-name"
Select-AzSubscription "workspace-subscription-id"
Get-AzOperationalInsightsWorkspace -ResourceGroupName "resource-group-name" -Name "workspace-name"
Call
GET https://management.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<workspace-name>?api-version=2023-09-01
Authorization: Bearer <token>
回答
{
"properties": {
"source": "Azure",
"customerId": "workspace-name",
"provisioningState": "Succeeded",
"sku": {
"name": "pricing-tier-name",
"lastSkuUpdate": "Tue, 28 Jan 2020 12:26:30 GMT"
},
"retentionInDays": 31,
"features": {
"legacy": 0,
"searchVersion": 1,
"enableLogAccessUsingOnlyResourcePermissions": true,
"clusterResourceId": "/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name"
},
"workspaceCapping": {
"dailyQuotaGb": -1.0,
"quotaNextResetTime": "Tue, 28 Jan 2020 14:00:00 GMT",
"dataIngestionStatus": "RespectQuota"
}
},
"id": "/subscriptions/subscription-id/resourcegroups/resource-group-name/providers/microsoft.operationalinsights/workspaces/workspace-name",
"name": "workspace-name",
"type": "Microsoft.OperationalInsights/workspaces",
"location": "region"
}
クラスターのプロパティを変更する
クラスター リソースを作成してプロビジョニングを完了したら、CLI、PowerShell または REST API でクラスターのプロパティを編集できます。 クラスターのプロビジョニング後に設定できるプロパティは次のようなものがあります。
keyVaultProperties - 次のパラメーターを使用して Azure Key Vault 内のキーが格納されます: KeyVaultUri 、KeyName 、KeyVersion 。 「キー識別子の詳細を使用してクラスターを更新する 」をご覧ください。
Identity - キー コンテナーへの認証に使用される ID。 System-assigned (システム割り当て) または User-assigned (ユーザー割り当て) のいずれかです。
billingType - クラスター リソースとそのデータの課金の帰属。 次の値が含まれます。
Cluster (既定) - クラスターのコストは、クラスター リソースに帰属します。
Workspaces - クラスターのコストは、クラスター内のワークスペースに比例的に帰属します。その日に取り込まれた合計データがコミットメント レベルを下回る場合に使用量の一部がクラスター リソースに課金されます。 クラスターの価格モデルの詳細については、「Log Analytics 専用クラスター 」を参照してください。
重要
クラスターの更新では、同じ操作に ID とキー識別子の詳細の両方を含めることをしないでください。 両方の更新が必要な場合、更新は 2 つの連続する操作で行ってください。
次のサンプルでは、請求の種類が更新されます。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster update --resource-group "resource-group-name" --name "cluster-name" --billing-type {Cluster, Workspaces}
次のサンプルでは、請求の種類が更新されます。
Select-AzSubscription "cluster-subscription-id"
Update-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name" -BillingType "Workspaces"
次のサンプルでは、請求の種類が更新されます。
Call
PATCH https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
Content-type: application/json
{
"properties": {
"billingType": "Workspaces"
},
"location": "region"
}
次のサンプルでは、カスタマー マネージド キーを使用するように Log Analytics クラスターを更新します。
@description('Specify the name of the Log Analytics cluster.')
param clusterName string
@description('Specify the location of the resources')
param location string = resourceGroup().location
@description('Specify the key vault name.')
param keyVaultName string
@description('Specify the key name.')
param keyName string
@description('Specify the key version. When empty, latest key version is used.')
param keyVersion string
var keyVaultUri = format('{0}{1}', keyVaultName, environment().suffixes.keyvaultDns)
resource cluster 'Microsoft.OperationalInsights/clusters@2021-06-01' = {
name: clusterName
location: location
identity: {
type: 'SystemAssigned'
}
properties: {
keyVaultProperties: {
keyVaultUri: keyVaultUri
keyName: keyName
keyVersion: keyVersion
}
}
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"keyVaultUri": {
"value": "https://key-vault-name.vault.azure.net"
},
"keyName": {
"value": "MyKeyName"
},
"keyVersion": {
"value": ""
}
}
}
次のサンプルでは、カスタマー マネージド キーを使用するように Log Analytics クラスターを更新します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"metadata": {
"description": "Specify the name of the Log Analytics cluster."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify the location of the resources"
}
},
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specify the key vault name."
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "Specify the key name."
}
},
"keyVersion": {
"type": "string",
"metadata": {
"description": "Specify the key version. When empty, latest key version is used."
}
}
},
"variables": {
"keyVaultUri": "[format('{0}{1}', parameters('keyVaultName'), environment().suffixes.keyvaultDns)]"
},
"resources": [
{
"type": "Microsoft.OperationalInsights/clusters",
"apiVersion": "2021-06-01",
"name": "[parameters('clusterName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"keyVaultProperties": {
"keyVaultUri": "[variables('keyVaultUri')]",
"keyName": "[parameters('keyName')]",
"keyVersion": "[parameters('keyVersion')]"
}
}
}
]
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "MyCluster"
},
"keyVaultUri": {
"value": "https://key-vault-name.vault.azure.net"
},
"keyName": {
"value": "MyKeyName"
},
"keyVersion": {
"value": ""
}
}
}
リソース グループ内のすべてのクラスターを取得する
Azure portal の Log Analytics 専用クラスター メニューから、[リソース グループ] フィルターを選択します。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster list --resource-group "resource-group-name"
Select-AzSubscription "cluster-subscription-id"
Get-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name"
Call
GET https://management.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters?api-version=2022-10-01
Authorization: Bearer <token>
回答
{
"value": [
{
"identity": {
"type": "SystemAssigned",
"tenantId": "tenant-id",
"principalId": "principal-id"
},
"sku": {
"name": "capacityreservation",
"capacity": 100
},
"properties": {
"provisioningState": "Succeeded",
"clusterId": "cluster-id",
"billingType": "Cluster",
"lastModifiedDate": "last-modified-date",
"createdDate": "created-date",
"isDoubleEncryptionEnabled": false,
"isAvailabilityZonesEnabled": false,
"capacityReservationProperties": {
"lastSkuUpdate": "last-sku-modified-date",
"minCapacity": 100
}
},
"id": "/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.OperationalInsights/clusters/cluster-name",
"name": "cluster-name",
"type": "Microsoft.OperationalInsights/clusters",
"location": "cluster-region"
}
]
}
サブスクリプション内のすべてのクラスターを取得する
Azure portal の Log Analytics 専用クラスター メニューから、[サブスクリプション] フィルターを選択します。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster list
Select-AzSubscription "cluster-subscription-id"
Get-AzOperationalInsightsCluster
Call
GET https://management.azure.com/subscriptions/<subscription-id>/providers/Microsoft.OperationalInsights/clusters?api-version=2022-10-01
Authorization: Bearer <token>
Response
"リソース グループ内のクラスター" に対するものと同じですが、サブスクリプション スコープです。
クラスター内のコミットメント レベルを更新する
リンクされたワークスペースへのデータ量が時間の経過とともに変化したときは、コストを最適化するためにコミットメント レベルを適切に更新できます。 レベルはギガバイト (GB) 単位で指定し、1 日あたり 100、200、300、400、500、1,000、2,000、5,000、10,000、25,000、50,000 の値を設定できます。 完全な REST 要求本文を指定する必要はありませんが、SKU を含める必要があります。
コミットメント期間中に、より高いコミットメント レベルに変更できます。これにより、31 日間のコミットメント期間が再開されます。 コミットメント期間が終了するまで、従量課金制やより低いコミットメント レベルに戻すことはできません。
Azure portal の Log Analytics 専用クラスター メニューからクラスターを選択し、[コミットメント レベル] の横にある [変更] をクリック
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster update --resource-group "resource-group-name" --name "cluster-name" --sku-capacity 500
Select-AzSubscription "cluster-subscription-id"
Update-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name" -SkuCapacity 500
Call
PATCH https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
Content-type: application/json
{
"sku": {
"name": "capacityReservation",
"Capacity": 2000
}
}
クラスターからワークスペースのリンクを解除する
いつでもクラスターからワークスペースのリンクを解除することができます。 ワークスペースの価格レベルは GB 単位に変更され、リンク解除操作の前にクラスターに取り込まれたデータはクラスターに残り、ワークスペースへの新しいデータは Log Analytics に取り込まれます。
警告
ワークスペースのリンクを解除しても、ワークスペース データはクラスターから移動されません。 クラスターにリンクされている間にワークスペースに対して収集されたデータは、ワークスペースで定義されている保持期間はクラスターに残り、クラスターが削除されない限りアクセスできます。
ワークスペースのリンクが解除され、サービスがクラスター間クエリをシームレスに実行する場合、クエリは影響を受けません。 クラスターがカスタマー マネージド キー (CMK) を使用して構成されている場合、データは、リンクされている間ワークスペースのかわりに、キーで暗号化されたままで、アクセス可能です。キーと、Key Vault へのアクセス許可は保持されます。
注意
クラスター間でデータが分散しないように、特定のワークスペースのリンク操作は 1 か月に 2 回という制限があります。 制限に達した場合は、サポートにお問い合わせください。
リンクされていないワークスペースは、従量課金制の価格レベルに移動されます。
クラスターからワークスペースのリンクを解除するには、次のコマンドを使用します。
Azure portal の Log Analytics 専用クラスター メニューからクラスターを選択し、[リンクされたワークスペース] をクリックして、専用クラスターに現在リンクされているすべてのワークスペースを表示します。 リンクを解除するワークスペースを選択し、[リンク解除] をクリックします。
az account set --subscription "workspace-subscription-id"
az monitor log-analytics workspace linked-service delete --resource-group "resource-group-name" --workspace-name "workspace-name" --name cluster
Select-AzSubscription "workspace-subscription-id"
# Unlink a workspace from cluster
Remove-AzOperationalInsightsLinkedService -ResourceGroupName "resource-group-name" -WorkspaceName {workspace-name} -LinkedServiceName cluster
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}?api-version=2020-08-01
クラスターを削除する
クラスター リソースに対する "書き込み " アクセス許可が必要です。
クラスターの削除操作は復旧できないため、注意して実行する必要があります。 リンクされたワークスペースからクラスターに取り込まれたすべてのデータは、完全に削除されます。
クラスターで定義された 31 日間のコミットメント レベルに関係なく、クラスターが削除されるとクラスターの課金は停止します。
ワークスペースがリンクされているクラスターを削除すると、ワークスペースはクラスターから自動的にリンク解除され、ワークスペースは従量課金制の価格レベルに移動され、ワークスペースへの新しいデータは代わりに Log Analytics クラスターに取り込まれます。 クラスターにリンクする前とリンク解除後の時間の範囲についてワークスペースにクエリを実行でき、サービスでクラスター間クエリがシームレスに実行されます。
Note
サブスクリプションとリージョンごとに、アクティブな 5 つと、過去 2 週間に削除された 2 つを合わせた 7 つのクラスターという制限があります。
クラスターの名前は削除後2週間予約されたままになるので、新しいクラスターの作成には使用できません。
クラスターを削除するには、次のコマンドを使用します。
Azure portal の Log Analytics 専用クラスター メニューからクラスターを選択し、[削除] をクリックします。
az account set --subscription "cluster-subscription-id"
az monitor log-analytics cluster delete --resource-group "resource-group-name" --name $clusterName
Select-AzSubscription "cluster-subscription-id"
Remove-AzOperationalInsightsCluster -ResourceGroupName "resource-group-name" -ClusterName "cluster-name"
次の REST 呼び出しを使用して、クラスターを削除します。
DELETE https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/clusters/<cluster-name>?api-version=2022-10-01
Authorization: Bearer <token>
Response
200 OK
マネージド ID の種類を変更する
ID の種類は、次の考慮事項の元、クラスターを作成した後にインジェストやクエリを中断せずに変更できます。
SystemAssigned から UserAssigned への更新 - Key Vault で UserAssign ID を付与し、クラスター内の ID の種類を更新します
UserAssigned から SystemAssigned への更新 - システム割り当てマネージド ID は、SystemAssigned でクラスター ID の種類を更新した後に作成されるため、次の手順に従う必要があります
クラスターを更新してキーを削除します。keyVaultUri、keyName、keyVersion を値 "" で設定します
クラスター ID の種類を SystemAssigned に更新します
Key Vault を更新し、ID に対して アクセス許可を付与します
クラスター内のキーを更新します
制限および制約
各リージョンとサブスクリプションには、最大 5 つのアクティブ クラスターを作成できます。
サブスクリプションとリージョンごとに、アクティブな 5 つと、過去 2 週間に削除された 2 つを合わせた最大 7 つのクラスターが許可されます。
1 つのクラスターには、最大 1,000 の Log Analytics ワークスペースをリンクできます。
特定のワークスペースでは、30 日間に最大 2 つのワークスペース リンク操作が許可されます。
別のリソース グループまたはサブスクリプションへのクラスターの移動は、現時点ではサポートされていません。
クラスターを別のリージョンに移動することはサポートされていません。
クラスターの更新では、同じ操作に ID とキー識別子の詳細の両方を含めることはしないようにする必要があります。 両方の更新が必要な場合、更新は 2 つの連続する操作で行ってください。
ロックボックスは、現在、中国では使用できません。
ロックボックスは現在、Auxiliary プラン を使用したテーブルには適用できません。
二重暗号化 は、サポートされているリージョンで 2020 年 10 月以降に作成されたクラスターに対して自動的に構成されます。 クラスターが二重暗号化されるように構成されているかどうかを確認するには、クラスターに対して GET 要求を送信し、二重暗号化が有効になっているクラスターの isDoubleEncryptionEnabled
の値が true
かどうかを検査します。
クラスターを作成したときに、「"リージョン名" ではクラスターの二重暗号化がサポートされていません」というエラーが表示された場合でも、REST 要求本文に "properties": {"isDoubleEncryptionEnabled": false}
を追加すると、二重暗号化なしでクラスターを作成できます。
クラスターの作成後に、二重暗号化の設定を変更することはできません。
ワークスペースは、クラスターにリンクされている間は削除できます。 論理的な削除 期間中にワークスペースを回復 することにした場合、ワークスペースは以前の状態に戻り、クラスターへのリンクは維持されます。
コミットメント期間中に、より高いコミットメント レベルに変更できます。これにより、31 日間のコミットメント期間が再開されます。 コミットメント期間が終了するまで、従量課金制やより低いコミットメント レベルに戻すことはできません。
トラブルシューティング
クラスターの作成時に競合エラーが発生した場合は、過去 2 週間で削除され、削除プロセス中である可能性があります。 クラスター名は、2 週間の削除の期間中は予約されたままであり、その名前で新しいクラスターを作成することはできません。
クラスターがプロビジョニング中または更新中の状態のときにクラスターを更新すると、更新は失敗します。
一部の操作は長く、完了するまでに時間がかかることがあります。 "クラスターの作成 "、"クラスターのキーの更新 "、 "クラスターの削除 " などです。 クラスターまたはワークスペースに GET 要求を送信して操作の状態を確認し、応答を確認できます。 たとえば、リンクされていないワークスペースには、features の下に clusterResourceId が存在しません。
別のクラスターに既にリンクされている Log Analytics ワークスペースをリンクしようとすると、操作は失敗します。
エラー メッセージ
クラスターの作成
400 - クラスター名が無効です。 クラスター名に含めることができる文字は a から z、A から Z、0 から 9 であり、長さは 3 から 63 文字です。
400 -- The body of the request is null or in bad format. (400 -- 要求の本文が null であるか無効な形式です。)
400 -- SKU name is invalid. (400 -- SKU 名が無効です。) SKU 名を capacityReservation に設定してください。
400 - Capacity was provided but SKU isn't capacityReservation. (400 - 容量が指定されましたが、SKU は capacityReservation ではありません。) SKU 名を capacityReservation に設定してください。
400 -- Missing Capacity in SKU. (400 -- SKU に容量がありません。) 容量の値を 1 日あたり 100、200、300、400、500、1,000、2,000、5,000、10,000、25,000、50,000 GB に設定します。
400 -- Capacity is locked for 30 days. (400 -- 容量は 30 日間ロックされます。) 容量の減少は更新の 30 日後に許可されます。
400 -- No SKU was set. (400 -- SKU が設定されていませんでした。) SKU 名を capacityReservation に設定し、容量の値を 1 日あたり 100、200、300、400、500、1,000、2,000、5,000、10,000、25,000、50,000 GB に設定します。
400 - Operation can't be executed now. (400 - 現在、操作を実行できません。) 非同期操作は成功以外の状態になっています。 更新操作を実行する前に、クラスターでの操作が完了している必要があります。
クラスターの更新
400 -- Cluster is in deleting state. (400 -- クラスターは削除中の状態です。) 非同期操作が進行中です。 更新操作を実行する前に、クラスターでの操作が完了している必要があります。
400 - KeyVaultProperties isn't empty but has a bad format. (400 - KeyVaultProperties は空ではありませんが、形式が無効です。) キー識別子の更新 に関するセクションを参照してください。
400 -- Failed to validate key in Key Vault. (400 -- Key Vault 内のキーの検証に失敗しました。) 必要なアクセス許可がないことが原因である可能性があります。または、キーが存在しません。 Key Vault でキーとアクセス ポリシーを設定 したことを確認してください。
400 - Key isn't recoverable. (400 - Key を回復できません。) Key Vault に論理的な削除と消去保護を設定する必要があります。 Key Vault のドキュメント を参照してください
400 - Operation can't be executed now. (400 - 現在、操作を実行できません。) 非同期操作が完了するまで待ってから、もう一度お試しください。
400 -- Cluster is in deleting state. (400 -- クラスターは削除中の状態です。) 非同期操作が完了するまで待ってから、もう一度お試しください。
クラスターの取得
404 - Cluster not found, the cluster might have been deleted. (404 - クラスターが見つかりません。クラスターは削除された可能性があります。) クラスターをその名前で作成しようとし、競合が発生した場合、そのクラスターは削除プロセスにあります。
クラスターの削除
409 -- Can't delete a cluster while in provisioning state. (409 -- プロビジョニング状態の間は、クラスターを削除できません。) 非同期操作が完了するまで待ってから、もう一度お試しください。
ワークスペースのリンク
404 -- Workspace not found. (404 -- ワークスペースが見つかりません。) 指定したワークスペースが存在しないか、削除されました。
409 -- Workspace link or unlink operation in process. (409 -- ワークスペースのリンクまたはリンク解除操作が進行中です。)
400 -- Cluster not found, the cluster you specified doesn't exist or was deleted. (400 -- クラスターが見つかりません。指定したクラスターが存在しないか、削除されました。)
ワークスペースのリンク解除
404 -- Workspace not found. (404 -- ワークスペースが見つかりません。) 指定したワークスペースが存在しないか、削除されました。
409 -- Workspace link or unlink operation in process. (409 -- ワークスペースのリンクまたはリンク解除操作が進行中です。)
次のステップ