AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

オートスケーリング操作とアラート

このページでは、オートスケーリング操作について説明します。オートスケーリング アクティビティの確認、オートスケーリング アラートの構成、有効なフィールドによるオートスケーリングの強化、オートスケーリングのサポートの取得。

アクティビティフィードを表示して、各Atlasプロジェクトのイベントを検討できます。オートスケーリングイベントが発生すると、Atlas はそのイベントをプロジェクトActivity Feed にログします。

Atlas では、次の監査するオートスケーリング イベントが使用されます。

アクティビティフィード内の各オートスケーリングイベントには、拡大アクションをトリガーした要因に関する詳細情報が含まれ、次のようなものがあります。

  • オートスケーリングイベントをトリガーした特定のメトリクス(CPU 使用率、メモリ使用量、ディスク容量など)。

  • 超えたしきい値。

  • スケーリングがトリガーされたのはリアクティブなオートスケーリング(現在のリソース使用量に応じて)か、予測用オートスケーリング(予測された需要を想定して)か。

オートスケーリング イベントのみを表示またはダウンロードするには、次の手順に従います。

Atlas で、 Project Activity Feed ページに移動します。

  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、Security ヘッダーの下の Activity Feed をクリックします。

    プロジェクト アクティビティ フィードページが表示されます。

1

Activity Feedで、 Filter by event(s)メニューをクリックし、 Atlasを確認します。

2

リストの上の検索ボックスに、「 auto-scaling 」と入力し始めます。

メニューの右側には、すべてのオートスケーリング イベントが表示されます。 表示されたくないものの選択を解除します。 フィードリストは、変更を加えるたびに自動的に更新されます。

重要

2024 年 8 月上旬に、Atlas はレガシーのオートスケーリング通知メールを、設定可能なオートスケーリングイベントに置き換えました。デフォルトでは、Atlas はすべてのアラート通知を引き続きプロジェクト所有者に送信します。オートスケーリングアラートの送信をカスタマイズして、アラートの受信者または送信方法を変更できます。

オートスケーリング アクティビティは、Atlas アラートのサブセットです。 Atlas がオートスケーリング イベントのいずれかをトリガーするたびに、デフォルトのAtlas アラートが受け取ります。

プロジェクトレベルで、一部またはすべてのオートスケーリング イベントについて、 をオプトアウトしたり、アラート構成を変更したりできます。

重要

オートスケーリング アラートは、プロジェクト内のすべてのクラスターに適用されます。特定のクラスターにアラートをスコープ設定することはできません。アラート通知では、クラスター名とIDによってイベントがトリガーされたクラスターが識別されます。

アラート構成を変更するには、Category セクションで [Atlas Auto Scaling] を選択し、リストから [Condition/Metric] を選択します。次に、アラート受信者のロールを変更したり、メールや SMS などの通知方法を変更したり、Slackなどの通知機能を追加したりできます。詳細については、オートスケーリング アラートの構成を参照してください。

注意

この機能は、M10 階層以上の専有クラスターにのみ適用され、Flex クラスターではサポートされていません。

クラスターでオートスケーリングが有効になっている場合、Atlas はワークロードに基づいてインスタンスサイズとストレージキャパシティーを自動的に調整します。

クラスターインスタンスのサイズ設定とストレージ構成にMongoDB & HashiCorp Terraform を使用する場合、クラスター サイズ値のサブセットに有効なフィールドを指定できます。このアプローチは、次のように推奨されます。

  • 指定属性は、Terraform 構成で定義したとおりに正確に維持されます。

  • デフォルト値とオートスケール値は効果的な仕様で個別に使用できます(例: 、effectiveElectableSpecs)。Atlas がクラスターをオートスケールする場合、リソースドリフトは発生しません。

  • 構成はクリーンなままで、プロビジョニングの意図を表現しますが、効果的な仕様は Atlas が実現したことの実現を示します。

有効なフィールドは、特定のタイプのオートスケーリングによって管理されているフィールドへの変更のみを無視します。次の表では、有効なフィールドと特定のタイプのオートスケーリングが有効になっている場合に無視されるフィールドの詳細を示しています。

有効なオートスケーリングのタイプ
specs
無視されたフィールド
ノード タイプ

コンピュートまたはストレージ

electableSpecs

instanceSize, diskSizeGB, diskIOPS

コンピュートまたはストレージ

readOnlySpecs

instanceSize, diskSizeGB, diskIOPS

分析

analyticsSpecs

instanceSize

検索ノードには有効なフィールドは使用できません。

有効なフィールドを有効にするには、APIリクエストに次のヘッダーを含めます。

--header "Use-Effective-Instance-Fields: true"

次の例に示すように、クラスターのリソース定義で use_effective_fields 引数を true に設定します。

resource "mongodbatlas_advanced_cluster" "this" {
project_id = mongodbatlas_project.this.id
name = var.cluster_name
cluster_type = var.cluster_type
use_effective_fields = true
replication_specs = var.replication_specs
tags = var.tags
}

詳細については、「 有効フィールド モジュールの例 」を参照してください。

重要

有効なフィールドを有効にしない場合は、オートスケーリングが発生したときにリソースドリフトを防ぐために、 lifecycle.ignore_changes ブロックを手動で構成する必要があります。このアプローチは推奨されません。詳細については、Terraform ドキュメントのオートスケーリングを参照してください。

全体的には、効果的なフィールドの動作は次の 3 つのシナリオのいずれかに該当します。

指定 フィールドには最後のノード構成が保存され、有効なフィールドには最新の オートスケーリングイベント後の値が表示されます。このシナリオのコード例については、 をクリックしてください。

注意

ベストプラクティスとして、効果的なフィールドを有効にすることをお勧めします。

{
"replicationSpecs": [
{
"regionConfigs": [
{
"analyticsAutoScaling": {
"compute": {
"maxInstanceSize": "M30",
"minInstanceSize": "M10",
"enabled": true,
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"autoScaling": {
"compute": {
"maxInstanceSize": "M30",
"minInstanceSize": "M10",
"enabled": true,
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"effectiveAnalyticsSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"effectiveElectableSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 3
},
"effectiveReadOnlySpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"electableSpecs": {
"instanceSize": "M20",
"diskSizeGB": 50.0,
"nodeCount": 3
},
"priority": 7,
"providerName": "AWS",
"regionName": "US_EAST_1"
}
],
"zoneId": "6924a70c67695449ba5625ce",
"zoneName": "Zone 1"
}
]
}

指定 フィールドには最後のノード構成が保存され、有効なフィールドには Atlas が内部的に保存している値が表示されます。このシナリオのコード例については、 をクリックしてください。

注意

ベストプラクティスとして、効果的なフィールドを有効にすることをお勧めします。

{
"replicationSpecs": [
{
"regionConfigs": [
{
"effectiveAnalyticsSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"effectiveElectableSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 3
},
"effectiveReadOnlySpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"electableSpecs": {
"instanceSize": "M30",
"diskSizeGB": 100.0,
"nodeCount": 3
},
"priority": 7,
"providerName": "AWS",
"regionName": "US_EAST_1"
}
],
"zoneId": "6924a70c67695449ba5625ce",
"zoneName": "Zone 1"
}
]
}

有効なフィールド値は、対応する 仕様で設定されている値と常に完全に一致します。このシナリオのコード例については、 をクリックしてください。

重要

有効なフィールドを有効にしない場合は、オートスケーリングが発生したときにリソースドリフトを防ぐために、 lifecycle.ignore_changes ブロックを手動で構成する必要があります。このアプローチは推奨されません。詳細については、Terraform ドキュメントのオートスケーリングを参照してください。

{
"replicationSpecs": [
{
"regionConfigs": [
{
"analyticsAutoScaling": {
"compute": {
"maxInstanceSize": "M30",
"minInstanceSize": "M10",
"enabled": true,
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"autoScaling": {
"compute": {
"maxInstanceSize": "M30",
"minInstanceSize": "M10",
"enabled": true,
"scaleDownEnabled": true
},
"diskGB": {
"enabled": true
}
},
"effectiveAnalyticsSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"effectiveElectableSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 3
},
"effectiveReadOnlySpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"analyticsSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"electableSpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 3
},
"readOnlySpecs": {
"instanceSize": "M30",
"diskIOPS": 3000,
"diskSizeGB": 100.0,
"ebsVolumeType": "STANDARD",
"nodeCount": 0
},
"priority": 7,
"providerName": "AWS",
"regionName": "US_EAST_1"
}
],
"zoneId": "6924a70c67695449ba5625ce",
"zoneName": "Zone 1"
}
]
}

有効なフィールドを有効にすると、Atlas は新しいオートスケーリング範囲をクラスターの現在の有効なインスタンスサイズに対して検証します。 Atlas は、現在有効なインスタンスサイズを含まない範囲を設定するリクエストを拒否します。この動作は、オートスケーリングを使用する運用ノードと分析ノードに適用されます。

リクエストは、いずれかの場合に検証エラーで失敗します。

  • 新しい最小インスタンスサイズは、実効インスタンスサイズよりも大きくなります。

  • 新しいインスタンスサイズの上限は、実効インスタンスサイズよりも小さくなっています。

新しい範囲に現在の実効インスタンスサイズが含まれている場合は、1つのリクエストで境界を変更できます。

現在の実効インスタンスサイズが新しい範囲の外にある場合は、境界を変更する前に、次の手順に従って新しい範囲に移動します。範囲変更と同じリクエストでインスタンスサイズを更新する場合、Atlas は実効フィールドでオートスケーリングが有効になっている間は新しいインスタンスサイズを適用しないため、リクエストは引き続き失敗します。

1

compute.enabledをfalseに設定します。

2

instanceSizeをターゲット値に設定し、リクエストを送信します。

3

compute.enabledをtrueに設定します。

4

minInstanceSize と maxInstanceSize を新しい境界に設定し、リクエストを送信します。

Terraform を使用してオートスケーリング範囲を調整するには、Terraform プロバイダーのドキュメントの「 use_効果_フィールドを使用してオートスケーリング範囲を調整する 」を参照してください。

質問や心配な場合は、サポートにお問い合わせください 。