この記事では、Azure Event Gridの名前空間でオートスケーリングを有効にする方法を紹介しています。 自動スケールは、有効フラグと最小および最大スループットユニット(TU)の3つの設定プロパティのみを必要とします。 Event Gridはすべてのスケーリングロジックを内部で管理しています。
自動スケールはAzureポータル、Azure Resource Managerテンプレート、またはREST APIを使って有効化できます。
Prerequisites
- Azure サブスクリプション。 アカウントがない場合は、無料アカウントを作成してください。
- スタンダードティアのイベントグリッド名前空間です。
Important
ベーシックティアにはオートスケールは利用できません。
自動スケールを有効にする - Azure portal
Azure portal にサインインする
検索バーで「 Event Grid Namespaces 」と入力し、結果から選択します。
リストから名前空間を選択します。
[設定] で、[スケール] を選択します。
Autoscaleを選択します。
最小スループット単位の値を設定します。 この値は、名前空間が縮小できる最小のTU数です。
最大スループット単位の値を設定します。 この値は名前空間が拡張可能な最大TU数です。 最大サポート値は40です。
[適用する] を選択します。
変更の概要を確認し、「 確認 」を選択して新しい自動スケール設定を適用してください。
Note
変更を適用すると、オートスケールはほぼ即座に効果を発揮します。 ネームスペースは利用率を継続的に評価し、必要に応じてTUを調整します。
autoscale - ARMテンプレートを有効にする
以下のAzure Resource Managerテンプレートを使って、オートスケーリングを有効にしたイベントグリッド名前空間を作成または更新してください。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespaceName": {
"type": "string",
"metadata": { "description": "Name of the Event Grid namespace." }
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": { "description": "Azure region for the namespace." }
},
"minThroughputUnits": {
"type": "int",
"defaultValue": 1,
"minValue": 1,
"maxValue": 40,
"metadata": { "description": "Minimum number of throughput units." }
},
"maxThroughputUnits": {
"type": "int",
"defaultValue": 10,
"minValue": 1,
"maxValue": 40,
"metadata": { "description": "Maximum number of throughput units." }
},
"enableAutoscale": {
"type": "bool",
"defaultValue": true,
"metadata": { "description": "Set to true to enable autoscale." }
}
},
"resources": [
{
"type": "Microsoft.EventGrid/namespaces",
"apiVersion": "2025-11-15-preview",
"name": "[parameters('namespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard",
"capacity": "[parameters('minThroughputUnits')]"
},
"properties": {
"autoScaleConfiguration": {
"enableAutoScale": "[parameters('enableAutoscale')]",
"minimumThroughputUnits": "[parameters('minThroughputUnits')]",
"maximumThroughputUnits": "[parameters('maxThroughputUnits')]"
}
}
}
]
}
Azure CLIを使ってテンプレートをデプロイしてください:
az deployment group create \
--resource-group <resource-group-name> \
--template-file autoscale-namespace.json \
--parameters namespaceName=<namespace-name> \
minThroughputUnits=2 maxThroughputUnits=10
autoscale - REST API を有効にする
Event Gridの名前空間を作成または更新する際には、REST APIを使ってオートスケーリングを有効にすることができます。
オートスケーリング(PUT)を有効にした名前空間の作成または更新
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview
要求の内容:
{
"location": "eastus",
"sku": {
"name": "Standard",
"capacity": 1
},
"properties": {
"autoScaleConfiguration": {
"enableAutoScale": true,
"minimumThroughputUnits": 2,
"maximumThroughputUnits": 8
}
}
}
既存の名前空間で自動スケールを更新する(PATCH)
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview
要求の内容:
{
"properties": {
"autoScaleConfiguration": {
"enableAutoScale": true,
"minimumThroughputUnits": 1,
"maximumThroughputUnits": 10
}
}
}
Autoscaleの設定を確認する
Autoscaleを有効にした後、名前空間の詳細を取得して設定を確認します。
REST API
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview
回答文には autoScaleConfiguration セクションが含まれます:
{
"id": "/subscriptions/12345678-.../providers/Microsoft.EventGrid/namespaces/my-namespace",
"name": "my-namespace",
"type": "Microsoft.EventGrid/namespaces",
"location": "eastus",
"sku": {
"name": "Standard",
"capacity": 1
},
"properties": {
"provisioningState": "Succeeded",
"autoScaleConfiguration": {
"enableAutoScale": true,
"minimumThroughputUnits": 1,
"maximumThroughputUnits": 10
},
"topicsConfiguration": {
"inputSchema": "CloudEventSchemaV1_0"
},
"topicSpacesConfiguration": {
"state": "Enabled",
"maximumSessionExpiryInHours": 1,
"maximumClientSessionsPerAuthenticationName": 1
},
"publicNetworkAccess": "Enabled",
"isZoneRedundant": false,
"minimumTlsVersionAllowed": "1.2"
},
"systemData": {
"createdBy": "user@contoso.com",
"createdByType": "User",
"createdAt": "2026-01-15T10:30:00.0000000Z",
"lastModifiedBy": "user@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2026-01-15T11:45:00.0000000Z"
}
}
オートスケールを無効にする
このセクションでは、AzureポータルとREST APIを使ってイベントグリッド名前空間のオートスケーリングを無効にする方法を示しています。 名前空間は現在のTU割り当てを維持し、自動的にスケーリングを停止します。
Azure portal
Azureポータルを使って自動スケールを無効にするには以下の手順に従ってください:
Azure ポータルで Event Grid 名前空間に移動します。
[設定] で、[スケール] を選択します。
自動スケールを無効にするには 手動スケール を選択してください。
[適用] を選択して変更を保存します。
REST API
REST APIを使用する際は、プロパティの enableAutoScale を false に設定してください。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}?api-version=2025-11-15-preview
要求の内容:
{
"properties": {
"autoScaleConfiguration": {
"enableAutoScale": false
}
}
}
ベスト プラクティス
- ベースライン負荷に対応するための最小TU数を設定してください。 自動スケールは利用率の変化を検出し、容量を拡大する時間が必要です。 通常のトラフィックをカバーする最小値は、初期の加速時のスロットリングを回避します。
- 予算内で最大TU数を高く設定しないでください。 割り当てられたすべてのTUはコストを発生させます。 ピーク時に支払う覚悟のある最大容量を設定しましょう。
- 交通量の急増時のクールダウンも考慮してください。 スケールアップ後は、次のスケール作戦前に動的なクールダウン期間があります。 もし作業負荷がアイドルからピークに数秒で急増した場合は、最初のバーストを吸収できる最低TU数を設定しましょう。
- すべてのカテゴリーのTUごとの収容人数制限を確認してください。 Autoscaleはすべてのカテゴリ(イベント入力、イベント出口、MQTT公開、MQTTクライアント)を同時に評価します。 もし作業量が一つのカテゴリ(例えばMQTT接続)に支配されている場合、TU要件は主にそのカテゴリによって左右されるかもしれません。