Docs Menu
Docs Home
/
MongoDB Atlas

プロダクション ノート

項目一覧

  • Overview
  • ロールと責任
  • クラスター管理
  • 組織レベル
  • プロジェクトレベル
  • クラスターの命名規則
  • 単一リージョンとマルチリージョンクラスター
  • 機密情報
  • アプリケーション管理
  • クラスターの増加
  • マルチテナンシー
  • アーカイブ データのオフロードとクエリ
  • フェデレーティッド データのクエリ
  • 一時データベースユーザーの監査
  • 監査用のカスタムロールを作成します。
  • データベース監査 を有効にします。
  • 一時ユーザーを作成します。
  • 一時的な IP アクセス リスト エントリを追加します。
  • ログ をダウンロードします。
  • オプションのモニタリングとロギングの統合
  • クラスター データ ボリュームの管理
  • サポート

MongoDB Atlas をデータプラットフォームとして使用すると、データベース インフラストラクチャの構築と維持に必要な単数形の運用タスクとワークフローから運用に集中することができ、エンジニアがビジネスに価値を追加できるようになります。 ハードウェアを維持してオペレーティング システムレベルのソフトウェア パッチに対応する代わりに、エンジニアは時間とリソースを費やして、企業の現在および将来の要件を満たすデータモデルを開発できます。

このドキュメントでは、 MongoDB Atlas クラスターを使用して MongoDB の本番環境へのデプロイを成功させるためのベストプラクティスについて説明します。

Tip

以下も参照してください。

MongoDB は、MongoDB Database Service をカスタマーに提供するために必要なインフラストラクチャを管理および運用しています。 MongoDB の責任には、以下が含まれます。

  • データベースクラスターと基礎となるインフラストラクチャを管理し、MongoDB の可用性、安定性、パフォーマンスを確保し、サイズが M10以上のクラスターの99.995 % アップタイム サービス レベル契約(SLA)に基づきます。

  • 基礎となるコンピューティング ノードの正常性を確認します。 が実行中であること、ネットワーク接続があること、およびアップタイム SLA を維持するために推奨される OS レベルのパッチがすべて含まれていることを確認します。

  • インターフェースまたは MongoDBを介して行われたカスタマーの特定の設計選択に基づいて、Atlas userREST API データベース構成を管理します。

  • すべての MongoDB メンテナンス アップグレードを自動的に適用し、製品の最新のバグ修正が使用されるようにします。

  • ロールベースのアクセス制御IP アクセス リスト への IP アドレスの追加ピアリングなど、セキュリティ プロファイルを管理し、カスタマーの指示ごとにクラスター セキュリティを最大化します。

  • バックアップと復元サービスを提供します。

カスタマーは、基礎となるデータベース リソースやインフラストラクチャを直接管理することなく、MongoDB にアクセスするアプリケーションの開発と配置を続けるとなります。

重要

Atlas では、あるプロジェクトから別のプロジェクトへのクラスターの移動はサポートされていません。 代わりに、ライブ移行を実行してください。

MongoDB Atlas はデータベース操作を抽象化し、高価値で高レベルのマネジメントの決定に集中できるようにします。 Atlas userロール を使用して、Atlas クラスターへのアクセスを管理できます。これらの権限は 、 組織レベル または プロジェクトレベル で のみ 適用できます。したがって、組織とプロジェクトの階層を慎重に計画する必要があります。

Tip

Atlas 組織の上限である 250 件を超えるプロジェクトを作成する必要がある場合は、それらを保存するための組織を追加して作成します。 詳しくは、「 Atlas の組織とプロジェクトの制限 」を参照してください。

Atlas 内で組織とプロジェクトの適切に設計された階層を作成するには、クラスターをユースケースに適したプロジェクトに分割します。 これにより、運用コストを最小限に抑えながら、最大のエンタープライズ効率が得られます。

Tip

組織横断請求を使用して、複数の Atlas 組織をリンクし、それらすべてに対して単一の請求書を受け取ります。 詳細については、「組織横断請求のユースケース 」を参照してください。

組織レベルでは、セキュリティ制御を実装し、1 つ以上のプロジェクトに取り組むユーザーを作成できます。 Atlas の請求は組織レベルで行われます。

ユーザーのアクセスと特権を効率的に制御するには、ユーザーを組織レベルでチームにグループ化できます。

プロジェクトはセキュリティの分離と認可の境界を提供するため、通常はアプリケーション チームとアプリケーション環境によって割り当てられます。 たとえば、2 つのアプリケーション チーム内には 6 つのプロジェクトが存在する可能性があります。開発環境、ステージング環境、本番環境の各チームに 1 つ。

さまざまな本番環境と開発アプリケーション環境への適切なアクセス権を持つ Atlas ユーザーとロールをプロジェクトレベルで作成できます。

  • Project Read Onlyロールを持つユーザーは、コレクション データや管理操作にアクセスせずに、プロジェクトレベルのモニタリングとシステム ヘルス メタデータにアクセスできます。

  • Project Cluster Managerロールを持つユーザーはクラスターをスケーリングしたり、その他の管理操作を実行したりできますが、データレベルのアクセス権はありません。

重要

サーバーレスインスタンスで使用できない機能

サーバーレスインスタンスは、次の責任のほとんどをサポートしていません。 詳細については、「サーバーレス インスタンスの制限 」を参照してください。

その他のプロジェクト レベルの責任には、次のようなものがあります。

Atlas クラスターに適切な命名規則を選択することは、本番環境を成功させるための最初のステップとなります。 一度クラスターに名前を付けると変更できないため、最初から正確な名前を付けることが重要です。 以下の提案により、ログの解析とクラスターの区別が容易になります。

  • わかりやすい小文字の名前を使用してください。

  • 特殊文字は避けてください。

  • ハイフンまたはアンダースコアで単語を結合します。 単語間の空白は避けます。

  • クラスターが本番用、ステージング、または開発目的のいずれかであることが明確な規則を使用します。

  • クラスター名 機密情報 を入れないでください。

適切なクラスター名の例の一部は、以下のとおりです。

  • prod-aws-website

  • staging-gcp-internal

  • dev-azure-analytics

高可用性とクラスターの耐久性は、クラスターの地理的配置構成によって異なります。 単一のリージョン内に配置されるクラスターは、そのリージョン内のアベイラビリティーゾーン全体に分散されるため、読み取りや書き込みの可用性を中断することなく、リージョンの部分的な停止に耐えられます。

オプションで、回復力とワークロードの分離を高めるために、クラスターを 2 つ以上のリージョンに分散することもできます。

リージョンの順序によって、プライマリ ノードのロケーションの優先順序が決まります。 したがって、そのリージョンが使用可能な場合にデータベース書込み (write) 操作をそのリージョンに送信する場合は、最初にそのリージョンをリストする必要があります。 リストの 2 番目のリージョンは、最初のリージョンが使用できない場合にGo 2 番目のリージョンです。

Atlasの クラスターの作成UI の次の例では、優先順位の高い順に 3 つの異なるリージョンに選択可能なノードを含むマルチリージョンクラスターを示しています。

3 つのリージョンにわたる選択可能なノードのスクリーンショット
クリックして拡大します

us-east-1リージョンが利用できなくなった場合は、 us-west-1リージョンで新しいプライマリが選出されます。

注意

プライマリ選択可能性を確保するには、クラスターに奇数のノードが必要です。 詳しくは、「レプリカセットの選挙 」を参照してください。

クラスターを 2 つのリージョンに配置すると、データのコピーが常に複数のリージョンに保持されます。 ただし、クラスター内のノードの大部分を含む リージョンが失われると、管理者が中断するか、元のリージョンが使用可能になるまで、2 番目のリージョンは読み取り専用状態のままになります。

クラスターを 3 つ以上のリージョンに配置すると、アプリケーション層がフォールトトレランスがある場合、クラスターはリージョンレベルの完全な停止時に耐えられると同時に、読み取りおよび書込みの可用性を維持できます。

希望リージョンで常に書込み操作を維持することが優先順位が高い場合は、少なくとも 2 つの選出可能なノードが希望リージョン内の少なくとも 2 つのデータセンターに含まれるようにクラスターを配置することをお勧めします。

グローバル配置で最高のデータベースパフォーマンスを得るため、ユーザーはロケーション認識型シャーディングを使用して読み取りと書込みのレイテンシを最小限に抑えるグローバルクラスターを構成できます。地理的ストレージ要件を持つユーザーは、特定の地理的領域にデータを保存することもできます。

次の項目について、個人を特定できる情報(PII)や保護医療情報(PHI)などの機密情報を提供しないでください。

アプリケーション レベルの責任には、以下が含まれます。

MongoDB Atlas では、垂直と水平の 2 つのスケーリング方法が提供されています。

垂直スケーリングには、クラスターのストレージ容量、コンピューティング能力、 IOPSレートを増加させることが含まれます。 垂直スケーリングは迅速に実行でき、使用頻度のピーク期間に役立ちます。 共有クラスターM2M5 )からの垂直スケーリングには数分のダウンタイムが必要ですが、専用クラスター間のスケーリング( M10以上)はダウンタイムなしで行われます。

垂直にスケーリングする場合、本番環境にはM30以上のクラスターが推奨されています。 次のクラスター階層は低トラフィック アプリケーションの実稼働環境として使用できますが、これらの階層は開発環境に推奨されます。

  • M2M5共有クラスター

  • M10M20専有クラスター

水平スケーリングには、既存のシャーディングされたクラスターにシャーディングを実装する、またはシャードを追加することが含まれます。 水平スケーリング には慎重な計画と実行が必要であり、 M30+クラスターの長期的な増加戦略の一部となります。 シャーディングされたクラスター内のシャードの数を減らすこともできます。

重要

シャードを削除すると、Atlas は movePrimary コマンドを使用して、そのシャード内のシャーディングされていないデータベースを残りのシャードに移動します。

すべてのシャーディングされたコレクションは、シャード削除プロセス中もオンラインのままとなり、利用可能です。ただし、movePrimary 操作中にシャーディングされていないコレクションへの読み取りまたは書き込み操作を行うと、移行の失敗やデータの損失など、予期しない動作が発生する可能性があります。

シャードを削除する前に、シャーディングされていないコレクションを含むデータベースのプライマリ シャードを移動することをお勧めします。

詳細については、「既存のシャーディングされたクラスターからのシャードの削除」を参照してください。

Atlas では、垂直シャーディングと水平シャーディングを組み合わせることができます。 たとえば、シャーディングされたクラスターをピーク期間にわたって垂直にスケールアップすることで、シャーディングされたクラスターの個々のノードのストレージ容量とコンピューティング能力が向上します。

デフォルトでは、Atlas はクラスター ストレージを構成されたクラスター階層のサイズ制限まで垂直にオートスケールします。

Atlas を構成することで、クラスターの使用増加に応じてクラスター階層とストレージ容量を自動的にスケーリングできるため、ストレージ コンピューティング能力が必要な場合に迅速に自動応答できます。

Atlas でマルチテナンシーを実装すると、アプリケーションの 1 つのインスタンスが複数のテナントにサービスを提供できます。 マルチテナント アーキテクチャの初期の設計上の決定は、要件の進化やスケーリングの期待の変化に伴い、時間の経過とともに意図しない結果をもたらす可能性があります。 詳細については、「マルチテナント アーキテクチャのビルド 」を参照してください。

データ ライフサイクルの一部として、コールド データを別のストレージ階層に移動する必要がある場合は、日付またはカスタム基準に基づいてデータを移動するための Atlas Online Archiveルールを設定できます。 Atlas でアクセス頻度の低いデータがアーカイブされると、読み取り専用のフェデレーティッドデータベースインスタンスから Atlas のデータと Online Archive のデータが一元的に表示されるようになります。

Atlas Data Federation を使用して、さまざまなインフラストラクチャにわたるデータインプレースをクエリしたり、さまざまなシステム間でデータを移動したりできます。 集計パイプラインを複数のソースのデータに使用して、データからインサイトを抽出したり、データを他の目的で変換したりできます。 たとえば、 S3 には $ out を使用し、Atlas には $out を使用して、ストレージ階層間でデータを移動できます。また、 $outS3に使用して、 AtlasクラスターのデータをJSONBSONCSV 、 TSV、Avro、Parquet、ORC に簡単に変換できます。また、それをAmazon Web Services S3に配置して、アクセスを必要とする下流のシステムをフィードすることもできます。

アプリケーション サービス ユーザーを含むすべてのデータベース ユーザーに対して監査を有効にすると、クラスターのパフォーマンスに重大な影響を与える可能性があります。 一時データベース ユーザーのアクションを監査する必要がある場合は、監査対象のカスタムロールを作成し、昇格された権限を持つ一時ユーザーを作成して、そのユーザーにアクションを監査するためのカスタムロールを付与します。

一時データベースユーザーのアクションを監査するには、次の手順に従います。

1

監査を対象とするカスタムロールを作成します

2

作成したロールの CRUD 操作を監査するには、データベース監査 を有効にします。

3

アクションを監査するには、一時ユーザーを作成します。

監査用に作成したカスタムロールをユーザーに割り当てます。 ユーザーを作成するときにSave as temporary userオプションを選択し、ユーザーを存在させる期間を選択します。 この期間が経過すると、Atlas はユーザーを削除します。

4

Atlas クラスターへの一時ユーザーのアクセスを制限するには、一時的な IP アクセス リスト エントリを追加します

一時ユーザーの IP アクセス リスト エントリを作成するときは、 Save as temporary access listオプションを選択し、アクセス リスト エントリが存在する期間を選択します。 この期間が経過すると、Atlas はアクセス リスト エントリを削除します。

5

一時データベース ユーザーのアクションを監査するには、 ログ をダウンロードします。

DataDog と Atlas のプッシュベースのモニタリング統合を構成できます。 Atlas Administration API を使用してモニタリング データをプルすることもできます。

jSONar を使用してプルベースのログ統合を構成できます。これは Splunk やSUmoLog などの他のサービスにプッシュできます。 Atlas Administration API を使用して5分ごとにログデータをプルすることもできます。

Atlas には、クラスター データ ボリュームの管理に役立つ次の組み込みツールが用意されています。

これらのツールに加えて、クラスターのサイズをアップまたはダウンを調整する方法については、クラスターのサイズ設定 ガイドを参照してください。 また、クラスターを一時停止して、データを最大30日間保持している間に一時的にシャットダウンし、コストを節約することもできます。

開発カスタマー向けのオプションやエンタープライズ カスタマー向けのオプションなど、さまざまな階層のサポートが利用できます。

利用可能なサポート領域は次のとおりです。

  • 管理対象の MongoDB クラスターに関する問題と懸念事項。

  • パフォーマンス関連のクエリ。

  • アプリケーション側とドライバーのコンサルティング。

戻る

サポートを受ける