各クラスター階層にはデフォルトのリソース セットが付属しています。M10+
クラスターは、ストレージ容量をカスタマイズする機能を提供します。
Atlas は、選択したクラウドプロバイダーとクラスター階層に応じて、次のストレージ構成オプションを提供します。
クラスタークラス
M40+
クラスターには、次のような複数のオプションがあります。
Low CPU
General
Local NVMe SSD
すべての本番環境で General オプションを使用できます。
希望する速度の Class ボックスを選択します。クラスタークラスの変更は、コストに影響を与えます。
低 CPU クラス
一般的に、Low CPU オプションは、より多くのメモリとより少ない CPU を必要とするアプリケーションに対して、より低コストの代替手段を提供します。このオプションには、同じ階層の General オプションを持つインスタンスの vCPU の半分が含まれます。たとえば、General M40
インスタンスには 4 つの vCPU が含まれ、Low CPU M40
インスタンスには 2 つの vCPU が含まれています。クラスター階層によっては、このオプションでは最大接続数を少なくすることもできます。詳細については、「接続制限とクラスター階層」を参照してください。
注意
Atlas では、UI に GB と表示されていても、Low CPU と General クラスターのストレージをギガバイト(GB)単位でプロビジョニングします。
NVMeストレージ
AWS または Azure 上で実行される一部の専用クラスターに対して、Local NVMe SSD ストレージ オプションを選択できます。ローカルに接続されたエフェメラル NVMe SSD は、最高レベルの速度とパフォーマンスを提供します。Atlas は NVMe クラスターのストレージをギガバイト(GB)単位で提供します。
ファイルコピーベースの最初の同期は、最初の同期が必要な場合はいつでも、NVME クラスターのすべてのノードを同期するために常に使用されます。
注意
Atlas は Google Cloud 上の NVMe クラスターをサポートしていません。
ストレージ容量
サーバーのデータ ボリューム サイズを変更するには、次のいずれかのタスクを実行します。
テキストボックスに希望するディスクサイズが表示されるまでスライダーを移動します。
テキスト ボックスに正確なディスク サイズを指定します。
Azure 固有の手順については、Azure 上でのストレージ容量と IOPS の変更を参照してください。
ストレージ容量の変更は、コストに影響を与えます。
注意
MongoDB は、指定されたストレージ容量のごく一部をバッファ ファイル、ジャーナル ファイル、およびログ ファイルに使用して、クラスターの適切な操作を確保します。WiredTiger storage engine のような上書きなしのストレージ エンジンでは、圧縮されたデータが占めるディスク領域よりも約 20% 多くのディスク領域を使用することが予想されます。
oplog サイズの動作
Atlas は、クラスターのストレージ オートスケーリングが有効になっているかどうかに応じて、クラスターの oplog サイズとそのエントリを異なる方法で管理します。
Atlas では、クラスター ストレージのオートスケーリングがデフォルトで有効になります。ストレージのオートスケーリングを使用する場合、Atlas は oplog の最小保持ウィンドウ(oplogMinRetentionHours)設定に基づいて oplog エントリを管理します。oplog エントリにはタイムスタンプが付けられます。oplog window は、oplog 内の最新のタイムスタンプと最も古いタイムスタンプの間の時間差です。
デフォルトでは、Atlas は oplog の最小保持ウィンドウを 24 時間に設定します。つまり、oplog の最小保持ウィンドウを特定のカスタム値に設定しない限り、Atlas クラスターの
mongod
は、oplog が MongoDB のベストプラクティスで許可される最大サイズに達するまで、すべての oplog エントリを少なくとも 24 時間保持します。Atlas UI で、oplog の最小保持ウィンドウを特定の値に設定できます。ストレージ オートスケーリングを正常に完了するには、Atlas ではoplog の最小保持ウィンドウ(oplogMinRetentionHours)が最大(60 秒) * (構成されたディスク容量の GB)必要です。
クラスターのストレージ容量が減少すると、Atlas は oplog サイズを自動的にスケールダウンして、減少したストレージ サイズに収まるようにします。
Auto-scale セクションの Storage Scaling チェックボックスをオフにすることで、クラスター ストレージのオートスケーリングをオプトアウトできます。ストレージのオートスケーリングをオプトアウトする場合、Atlas は oplog サイズを次のように管理します。
UI で oplog サイズを指定しない場合、Atlas は oplog サイズを次のように設定します。
General および Low-CPU クラスターの場合、クラスター作成時のディスク サイズの 5%
NVMeストレージを備えたクラスターのディスク サイズの 10%。
ストレージ サイズを変更すると、Atlas は oplog サイズを自動的に変更します。
クラスターのストレージをスケールアップするときに、oplog サイズをスケールアップすることもできます。この場合、クラスターを作成する際に、oplog サイズを特定の値に手動で設定します。クラスターのストレージを増やすと、Atlas は oplog サイズを次のようにスケーリングします。
General および Low-CPU クラスターの場合、oplog サイズはストレージ容量の 5% に留まるようにスケールアップされ、MongoDB のベストプラクティスに従って決定された特定の最大値を超えません。
NVMeストレージを使用するクラスターの場合、oplog サイズはストレージ容量の 10% に留まり、MongoDB のベストプラクティスに従って決定された特定の最大値を超えないようにスケールアップされます。
クラスターのストレージを増やすダウンすると、Atlas は以前の oplog とディスクの比率を使用して、 oplogを比例的に増やすダウンします。 例、 oplogが25 GB ( 0.25の比率)を使用して100 GBから50 GBに増やすすると、新しいoplogサイズの比率も0.25になり、次のようになります12.5 GB. ただし、新しいoplogサイズがストレージキャパシティーの5 % 未満(またはNVMeストレージの場合は10 % 未満)の場合を除きます。 その場合、Atlas はoplogサイズに大きい値を使用します。これはストレージキャパシティーの5 %( NVMeストレージの場合は10 %)になります。
AWS のストレージ容量または IOPS の変更
Atlas は、AWS 上のストレージ容量またはストレージ スループット(IOPS)を増やすか減らすかに応じて、変更を異なる方法で処理します。
容量またはスループットの増加
前の変更が完了している場合、AWS がストレージ容量または IOPS を増加させるのに通常約 6 時間かかります。ただし、この時間枠はディスクにストアされているデータのサイズによって異なる場合があります。詳細については、AWS ドキュメントを参照してください。Atlas は、ボリューム変更の時間枠内でより多くの変更をサポートしています。
AWS は、以下の制限付きで拡張ストレージをサポートしています。
M40: 最大 4TB
M50/M60: 最大 8TB
M80+: 最大 14TB
拡張ストレージを有効にすると、最初の同期とプロジェクト間のスナップショット復元が遅くなり、高可用性が低下する可能性があります。拡張ストレージの有効化は、将来的に追加のストレージ キャパシティーが必要になる可能性があるクラスターに対する一時的な解決策です。長期的なストレージ容量の拡張のためにシャーディングを有効にすることを推奨します。
Atlas が時間枠内で追加のボリューム変更をどのように処理するかは、ホストのデータ ボリュームのサイズと変更を行う時間によって異なります。
最初の変更では、Atlas はダウンタイムなしにデータ ボリュームをその場で変更します。
後での変更は:
データ ボリューム サイズストレージの最終変更からの経過時間Atlas が取るアクション1 TB 未満
5 時間 30 分未満
Atlas は新しいボリュームをプロビジョニングし、古いボリュームのデータを同期します。Atlas が新しいボリュームをプロビジョニングすると、クラスターにアクセスできるようになります。AWS が新しいボリュームをアタッチするまで、AWS が変更したノードにはアクセスできません。
1 TB 未満
5 時間 30 分以上
Atlas はボリュームの変更が有効になるまで待機し、ダウンタイムなしにホストのデータ ボリュームをその場で変更します。
1 TB 以上
Any
Atlas はボリュームの変更が有効になるまで待機し、ダウンタイムなしにホストのデータ ボリュームをその場で変更します。これは、新しいボリュームをプロビジョニングし、古いボリュームから新しいボリュームにデータを同期する時間よりも短くなります。前回のディスク変更から 4 時間以内にディスク サイズを変更する場合、Atlas は最初にコンピュート アップスケーリングを優先し、次にディスクの変更を優先します。
ストレージ容量または IOPS の増加を適用する前に、Review Changesページで、Atlas がどう増加に対応するかを確認してください。
Atlasがクラスターのストレージ容量または IOPS を変更する前に6時間のウィンドウが終了するまで待機する場合、Clusters ページにバナーが表示されます。
以前のディスク変更がまだ最適化されている間に、ボリュームの増加に関する AWS の制限により、一部の EBS ボリュームの変更が遅延します。
これらの動作は、Atlas がオートスケーリング中にキャパシティーを変更するときに適用されます。
AWS の制限の詳細については、AWS ドキュメントを参照してください。
容量またはスループットの減少
AWS は、ストレージ容量をその場で減少することはできません。
Atlas は、ストレージ容量をその場で減少できます。Atlas は新しいボリュームをプロビジョニングし、古いボリュームから新しいボリュームにデータを同期します。これは AWS の制限を回避します。
Amazon Web Services データを移行せずに IOPS を削減できます。
前の変更が完了している場合、AWS がストレージ容量または IOPS を変更するのに通常約 6 時間かかります。ただし、この時間枠はディスクにストアされているデータのサイズによって異なる場合があります。詳細については、AWS ドキュメントを参照してください。Atlas は、ボリューム変更の時間枠内でより多くの変更をサポートしています。Atlas が追加のボリューム変更をどのように処理するかは、ホストのデータ ボリュームのサイズと変更を行う時間によって異なります。
最初の変更では、Atlas はダウンタイムなしにデータ ボリュームをその場で変更します。
後での変更は:
データ ボリューム サイズストレージの最終変更からの経過時間Atlas が取るアクション1 TB 未満
5 時間 30 分未満
Atlas はボリュームのサイズを減少させます。Atlas がボリュームのサイズが減少させると、クラスターにアクセスできるようになります。AWS が新しいボリュームをアタッチするまで、AWS が変更したノードにはアクセスできません。
1 TB 未満
5 時間 30 分以上
Atlas はボリュームの変更が有効になるまで待機し、ダウンタイムなしにホストのデータ ボリュームをその場で変更します。
1 TB 以上
Any
Atlas はボリュームの変更が有効になるまで待機し、ダウンタイムなしにホストのデータ ボリュームをその場で変更します。
Azure 上でのストレージ容量と IOPS の変更
Azureに配置されたLow CPUまたはGeneralクラスターの場合、Atlas UI でIOPSとデータ ボリュームのストレージ容量を拡張できます。
Low CPUまたはGeneralクラスターのディスク ストレージを増やすと、次のことが可能になります。
同じクラスター階層内のクラスターでより多くのIOPSを受信する
これらのクラスターは、シャーディングを構成してアプリケーションのワークロードをサーバー全体に分散する必要なく、高い IO ワークロード要件を持つアプリケーションをホストする場合に使用します。
注意
すべての Azure リージョンが拡張ストレージをサポートしているわけではありません。詳細については、サポート対象リージョンをご覧ください。
次のステートメントでは、 Azure クラスターでの IOPS およびストレージ管理のために Atlas UI にあるオプションについて説明します。
最初にAzure Low CPUまたはGeneralクラスターを選択すると、Atlas は選択した階層に基づいてデフォルトのストレージ サイズとIOPSを割り当てます。
リージョンで使用されているストレージ ボリュームの特定の特性と、クラスターが拡張ストレージ をサポートするリージョンにあるかどうかに応じて、次のいずれかのアクションを実行できます。
リージョンが拡張ストレージ をサポートしていない場合、ストレージ容量は事前に設定された量のみ変更でき、スライダーを使用して IOPS を変更することはできません。
リージョンが 拡張ストレージ をサポートしている場合は、 Storageスライダーを使用して同じ階層内のデフォルトのストレージ容量を増やすことができます。 Atlas は、ストレージ サイズの増加に対応するようにIOPSも増加させます。
ストレージ ボリュームのサイズを増やしてもIOPSの増加数は依然として十分ではなく、クラスターの階層が拡張ストレージ をサポートするリージョンにある場合は、 IOPSスライダーを使用してIOPSの数をさらに拡張できます。クラスター階層の変更。
さらに、拡張ストレージ をサポートするリージョンでは、クラスター階層のデフォルト制限を超えてクラスターの合計ストレージを拡張することもできます。 プロジェクト設定 で拡張ストレージ サイズを有効にします。
次のセクションでは、ストレージ サイズとIOPSを増やす方法について説明します。
Azure でのデータ ボリューム サイズの変更
サーバーのデータボリュームサイズを変更するには、以下を行います。
Cluster tier > Storageセクションでは、リージョンに応じて次のいずれかのアクションを実行できます。
リージョンが 拡張ストレージ をサポートしている場合は、スライダーを右側に移動し、希望するディスク サイズを選択します。
スライダーの右側にあるテキスト ボックスは動的に変化し、新しいディスク サイズを示します。 Atlas は、ストレージ サイズの増加に対応するようにIOPSも増加させます。
リージョンが拡張ストレージをサポートしていない場合は、ディスク容量を事前に設定された量ずつ増やすことができます。 この場合、Atlas はIOPSを増加させません。
ストレージを増やすための オプションに関係なく、Atlas はデータをコピーしたり最初の同期 を実行したりすることなく、ストレージ容量をその場で増加します。
注意
他のリージョンまたはマルチリージョンクラスターに変更する場合、特定のストレージボリューム機能または拡張ストレージが使用できなくなる可能性があります。Atlas UI は、IOPSが低下することを通知します。この変更はアプリケーションのパフォーマンス、バックアップからのデータ復元の速度、これらのリージョンから別のリージョンへのバックアップのコピーに影響を与える場合があります。同じパフォーマンスを維持するには、同じリージョンを使い続けます。詳細については、「拡張ストレージをサポートするリージョン」を参照してください。
Azure では、ストレージ容量を減らすことはできません。Azure 上のクラスターのストレージキャパシティーを削減するために、Atlas は新しいボリュームをプロビジョニングし、古いボリュームから新しいボリュームにデータを同期します。ストレージ容量の削減を適用する前に、Review Changes ページでは、この変更を行うと Atlas によってクラスターのローリング再起動がトリガーされることが通知されます。
最初の同期では、ネットワーク全体にデータがコピーされ、すべてのインデックスが再構築されます。 この間もクラスターにはアクセスできますが、 Azureが変更する各ノードは、ノードの最初の同期が完了するまで使用できなくなります。 大規模なクラスターの場合、各ノードの最初の同期が完了するまでに数時間かかることがあります。
クラスター階層の制限を超えてクラスターの合計ストレージを拡張するには、拡張ストレージ をサポートするリージョン の プロジェクト設定 で拡張ストレージを有効にします。
Azure は、次の制限付きで拡張ストレージをサポートします。
M40: 最大 4TB
M50/M60: 最大 8TB
M80+: 最大 14TB
拡張ストレージを有効にすると、最初の同期とプロジェクト間のスナップショット復元が遅くなり、高可用性が低下する可能性があります。拡張ストレージの有効化は、将来的に追加のストレージ キャパシティーが必要になる可能性があるクラスターに対する一時的な解決策です。長期的なストレージ容量の拡張のためにシャーディングを有効にすることを推奨します。
Azure で IOPS を拡張する
次の手順では、同じクラスター階層内でストレージ サイズを 増やす ときに受け取る IOPS の数 に加えて 、拡張 IOPS を取得する方法について説明します。
拡張ストレージをサポートしているリージョンで は、 Atlas クラスターの IOPS 数を変更できます。M40+
IOPSの数を拡張するには、次の手順に従います。
Cluster tierで、 を
M40
以上のクラスター階層に変更します。 IOPSスライダーはIOPSセクションに表示されます。ストレージ サイズをまだ増やしていない場合は、増やします。
ストレージを増やすことによって受信した IOPS の増加に加えて、アプリケーションで追加の IOPS が必要な場合は、IOPS をさらに拡張できます。 IOPSスライダーを右に移動し、希望するIOPSの数を選択します。 IOPSの延長はコストに影響を与えます。
Google Cloud のストレージ容量の変更
Google Cloud は、以下の制限付きで拡張ストレージをサポートしています。
M40: 最大 4TB
M50/M60: 最大 8TB
M80+: 最大 14TB
クラスターのストレージ容量を変更すると、Atlas はダウンタイムなしでサーバーのデータ ボリュームのサイズを段階的に変更します。
Atlas は、データをコピーしたり最初の同期を実行したりすることなく、ストレージ容量をその場で増加させます。ただし、Google Cloud では、その場でのストレージ容量の削減は許可されません。
クラスターのストレージ容量を削減すると、Atlas は新しいボリュームをプロビジョニングし、古いボリュームから新しいボリュームにデータを同期します。
拡張ストレージを有効にすると、最初の同期とプロジェクト間のスナップショット復元が遅くなり、高可用性が低下する可能性があります。拡張ストレージの有効化は、将来的に追加のストレージ キャパシティーが必要になる可能性があるクラスターに対する一時的な解決策です。長期的なストレージ容量の拡張のためにシャーディングを有効にすることを推奨します。
ストレージ容量の削減を適用する前に、Review Changes ページで、この変更を行うと Atlas によってクラスターの再起動がトリガーされることが通知されます。
Atlas は単一のレプリカセットのディスク容量に制限があり、上位のクラスター階層では4 TB までスケールアップされます。 デフォルトの制限を超えてクラスターの合計ストレージを拡張するには、プロジェクト設定で拡張ストレージを有効にします。 将来のさらなるスケーリングに対応するため、長期的に展開できるようシャーディングを有効にします。
マルチクラウド プロバイダー クラスターのストレージ容量の変更
Atlas は、3 つのクラウドプロバイダー間で最も低い共通基準を選択します。これにより、マルチクラウド配置全体で整合性が確保されます。
マルチクラウド クラスターの IOPS を調整することはできません。
IOPS(AWS のみ)
AWS ベースの M30+
クラスターでは、IOPS をプロビジョニングするオプションが提供されます。
AWS におけるプロビジョニングされた IOPS と標準 IOPS の比較
プロビジョニングされた IOPS を使用すると、クラスターの最大 IOPS レートをカスタマイズできます。また:
標準の IOPS と比較すると、構成された IOPS レートをより一貫して提供します。
クラスターの p90 レイテンシ(サーバーの応答時間の測定値)を下げます。サーバーリクエストの 90 パーセントは p90 レイテンシ値よりも速く応答するため、p90 レイテンシ値が低いほど、一般的に応答時間が速くなります。
プロビジョニングされた IOPS と標準 IOPS を使用するメリットの詳細については、「Amazon EBS 最適化インスタンス」を参照してください。概要は次のとおりです。
汎用 SSD ボリュームは、ベースライン パフォーマンスを 99% の時間で発揮するように設計されています。
プロビジョニングされた IOPS SSD ボリュームは、プロビジョニングされたパフォーマンスを 99.9% の時間で発揮するように設計されています。
注意
IOPS プロビジョニングの変更は、特性、パフォーマンス、コストに影響します。Provision IOPS を選択すると、ストレージが汎用 SSD ボリュームからプロビジョニングされた IOPS SSD ボリュームに変更されます。
IOPS レートの設定
標準 IOPS
M30+
階層クラスターを作成するときに Provision IOPS オプションを選択しない場合、クラスターは標準 IOPS を使用します。デフォルトの標準 IOPS レートは、クラスターのストレージ容量が変化すると変化します。正確な IOPS 値をプロビジョニングする場合は、プロビジョニングを有効にします。
M30+
階層クラスターの最小標準 IOPS は 3000 です。クラスターのストレージ サイズを 1 TB 以上に設定しない限り、標準 IOPS 値は 3000 のままになります。M30+
クラスターのストレージが 1 TB 以上の場合、Atlas は IOPS とストレージの比率を 3:1 にして、標準 IOPS レートを増加させ、AWS ネットワーク ストレージ ボリュームでは最大 16k
IOPS を実現します。
ローカル NVMe SSD クラス クラスターは、標準 IOPS を使用する必要があります。
プロビジョニングされた IOPS
プロビジョニングされた IOPS は、M30+
階層の AWS クラスターでのみサポートされます。M30+
階層 AWS クラスターの IOPS をプロビジョニングするには、Provision IOPS を選択し、次のいずれかを実行します。
テキスト ボックスに正確な IOPS レートを指定するか、あるいは
テキスト ボックスに希望する IOPS レートが表示されるまで、スライド バーを移動します。
注意
クラスターで利用可能なプロビジョニングされた IOPS の範囲は、ディスクのストレージ容量に関連します。クラスターのストレージ容量を変更すると、利用可能なプロビジョニングされた IOPS の範囲が変わります。
最小ディスク容量と RAM の比率
Atlas は、特定のクラスター階層に対して次の最小比率を強制します。これにより、大規模なデータセットでもクラスターのパフォーマンスの整合性が維持されます。
インスタンス サイズ M10 から M40 のディスク容量とシステム メモリの比率は 60:1 です。M40 以上のインスタンス サイズの比率は 120:1 です。
例
3 TB(または 3,072 GB)のディスク容量をサポートするには、32 GB 以上の RAM を搭載したクラスター階層を選択します。これは M50 以上となります。
Atlas は単一のレプリカセットのディスク容量に制限があり、上位のクラスター階層では4 TB までスケールアップされます。 デフォルトの制限を超えてクラスターの合計ストレージを拡張するには、プロジェクト設定で拡張ストレージを有効にします。 将来のさらなるスケーリングに対応するため、長期的に展開できるようシャーディングを有効にします。
Tip
各クラウド サービス プロバイダーのデフォルトのリソースと利用可能な構成オプションの詳細については、以下を参照してください。
オートスケール クラスター階層とストレージ容量
注意
機能の可用性
Atlas クラスター階層の自動スケーリングは、General と Low-CPU クラスタークラスに該当するすべての専用クラスター階層で利用できます。
新しいクラスターの場合、Atlas はクラスター階層のオートスケーリングとストレージのオートスケーリングを自動的に有効にします。
Auto-scaleオプションを使用して、クラスターの使用状況に応じてクラスター階層、ストレージ容量、またはその両方を自動的にスケーリングするようにクラスターを構成します。
重要
また、移行中に、宛先クラスターのストレージ容量よりも大きいサイズのスナップショットを復元すると、クラスターはオートスケーリングされません。
クラスター階層とストレージのオートスケーリングはオプトアウトできます。詳細については、「Atlas がクラスター階層をスケーリングする方法」および「Atlas がクラスター ストレージをスケーリングする方法」を参照してください。