Event Grid名前空間の自動スケールを有効にする(プレビュー)

この記事では、Azure Event Gridの名前空間でオートスケーリングを有効にする方法を紹介しています。 自動スケールは、有効フラグと最小および最大スループットユニット(TU)の3つの設定プロパティのみを必要とします。 Event Gridはすべてのスケーリングロジックを内部で管理しています。

自動スケールはAzureポータル、Azure Resource Managerテンプレート、またはREST APIを使って有効化できます。

Prerequisites

  • Azure サブスクリプション。 アカウントがない場合は、無料アカウントを作成してください。
  • スタンダードティアのイベントグリッド名前空間です。

Important

ベーシックティアにはオートスケールは利用できません。

自動スケールを有効にする - Azure portal

  1. Azure portal にサインインする

  2. 検索バーで「 Event Grid Namespaces 」と入力し、結果から選択します。

  3. リストから名前空間を選択します。

  4. [設定] で、[スケール] を選択します。

  5. Autoscaleを選択します。

  6. 最小スループット単位の値を設定します。 この値は、名前空間が縮小できる最小のTU数です。

  7. 最大スループット単位の値を設定します。 この値は名前空間が拡張可能な最大TU数です。 最大サポート値は40です。

  8. [適用する] を選択します。

  9. 変更の概要を確認し、「 確認 」を選択して新しい自動スケール設定を適用してください。

    Azure portal内のAzure Event Grid namespaceのAutoscale設定設定のスクリーンショット。

    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ポータルを使って自動スケールを無効にするには以下の手順に従ってください:

  1. Azure ポータルで Event Grid 名前空間に移動します。

  2. [設定] で、[スケール] を選択します。

  3. 自動スケールを無効にするには 手動スケール を選択してください。

  4. [適用] を選択して変更を保存します。

    Azureポータルの手動スケールオプションを示すスクリーンショットです。

REST API

REST APIを使用する際は、プロパティの enableAutoScalefalse に設定してください。

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要件は主にそのカテゴリによって左右されるかもしれません。