Azure Event Hubs のスループット ユニットを自動的にスケールアップする (Standard レベル)
Standard レベルの Event Hubs 名前空間を作成するときは、 スループット ユニット (TU) の数を指定します。 これらの TU は、後で使用量が増えると十分ではない可能性があります。 その場合は、名前空間に割り当てられている TU の数を手動で増やすことができます。 ただし、Event Hubs でワークロードに基づいて TU を自動的に増加 (インフレ) することをお勧めします。
Event Hubs の自動インフレ機能は、使用量のニーズに合わせて TU の数を増やすことで、自動的にスケールアップします。 TU を増やすと、データイングレスまたはデータエグレスレートが名前空間に割り当てられた TU によって許可されるレートを超えるスロットリングシナリオを防ぐことができます。 負荷が最小しきい値を超えていて、ServerBusy エラーなどで失敗した要求がない場合、Event Hubs サービスでスループットが増えます。
Note
自動インフレ機能は、現在、Standard レベルのみでサポートされています。
Standard レベルでの自動インフレのしくみ
Event Hubs トラフィックは TU によって制御されます (standard レベル)。 TU あたりのイングレス レートやエグレス レートなどの制限については、Event Hubs のクォータと制限に関するページを参照してください。 自動インフレを使用すると、自分で選択した、最低限必要な TU から小さく始めることができます。 その後、この機能は、トラフィックの増加に応じて、必要な TU の上限を自動的にスケーリングします。 自動インフレには、次の利点があります。
- 小さく始めて、成長と共にスケールアップする効率的なスケーリング メカニズムです。
- 調整問題なしで、指定された上限に自動的にスケーリングします。
- タイミングと量を制御できるため、スケーリングを細かく制御できます。
Note
自動インフレでは、イングレスまたはエグレス レートが制限を下回った場合でも TU 数が "自動的にスケールダウン" されません。
名前空間で自動インフレを有効にする
Azure portal または Azure Resource Manager テンプレートのいずれかを使用して、Standard レベルの Event Hubs 名前空間で自動インフレを有効または無効にすることができます。
Azure Portal の使用
Azure portal では、Standard の Event Hubs 名前空間を作成するとき、または名前空間が作成された後に、この機能を有効にすることができます。 また、名前空間の TU を設定し、TU の上限を指定することもできます。
自動インフレ機能は、Event Hubs 名前空間の作成時に有効にできます。 次の図は、Standard レベルの名前空間に対して自動インフレ機能を有効にする方法と、開始時の TU 数と TU の最大数を構成する方法を示しています。
このオプションを有効にすると、小さな TU で開始し、使用量のニーズの増加に合わせてスケールアップできます。 インフレの上限は料金にすぐには影響しません。料金は 1 時間ごとに使用される TU の数によって決まります。
自動インフレ機能を有効にし、既存の名前空間の設定を変更するには、次の手順を実行します。
[Event Hubs 名前空間] ページの左側にあるメニューの [設定] の下にある [スケール] を選択します。
[スケールの設定] ページで、[有効] のチェック ボックスをオンにします (自動スケール機能が有効になっていなかった場合)。
スループット ユニットの最大数を入力するか、スクロール バーを使用して値を設定します。
(省略可能) このページの上部でスループット ユニットの最小数を更新します。
Note
自動インフレの構成を適用してスループット ユニットを増やした場合、Event Hubs サービスにより、スループットがいつ何故増加したかに関する情報を提供する診断ログが出力されます。 イベント ハブの診断ログを有効にするには、Azure portal のイベント ハブ ページの左のメニューで [診断設定] を選択します。 詳しくは、「Azure イベント ハブの診断ログを設定する」をご覧ください。
Azure Resource Manager テンプレートの使用
Azure Resource Manager テンプレートのデプロイ時に自動インフレ機能を有効にできます。 たとえば、isAutoInflateEnabled
プロパティを true に設定し、maximumThroughputUnits
を 10 に設定します。 次に例を示します。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespaceName": {
"defaultValue": "fabrikamehubns",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.EventHub/namespaces",
"apiVersion": "2022-10-01-preview",
"name": "[parameters('namespaceName')]",
"location": "East US",
"sku": {
"name": "Standard",
"tier": "Standard",
"capacity": 1
},
"properties": {
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled",
"disableLocalAuth": false,
"zoneRedundant": true,
"isAutoInflateEnabled": true,
"maximumThroughputUnits": 10,
"kafkaEnabled": true
}
}
]
}
完全なテンプレートについては、GitHub のイベント ハブ名前空間とインフレの有効化のテンプレートを参照してください。
次のステップ
Event Hubs について詳しくは、「Event Hubs の概要」を参照してください