MongoDB Atlasとは?
MongoDB AtlasはMongoDBのクラウドデータベースサービスです。AWS、Azure、Google Cloudといった主要なクラウドプロバイダー間でデータの分散と移動性を提供します。リソースとワークロードの最適化のための組み込み自動化機能で人気があります。
このガイドでは、ブラウザからMongoDB Atlasクラスターをプロビジョニングする手順を説明します。クラスターの設定からデプロイまでのすべてのオプションについて説明します。
注:このガイドの執筆時点である2022年2月以降、一部の手順や画像は変更される可能性があります。変更が発生した際には、可能な限り最新の状態を保つよう努めます。
MongoDBを使用している場合は、PrismaのMongoDBコネクタをチェックしてください!Prisma Clientを使用して、本番環境のMongoDBデータベースを自信を持って管理できます。
MongoDBとPrismaの作業を開始するには、ゼロから始めるガイド、または既存プロジェクトに追加する方法をチェックしてください。
MongoDB Atlasクラスターをプロビジョニングする方法
MongoDBアカウントをお持ちでない場合は、新しいAtlasクラスターのセットアップを開始するために、Atlas登録ページに移動して新しいアカウントを作成します。登録が完了すると、最初のクラスターを作成するページに移動します。
MongoDBアカウントをすでに登録している場合は、登録ページからログインできます。ログイン後、以下に示す緑色の「+ Create」ボタンをクリックしてください。これにより、初めてクラスターを作成する場合と同じクラスター作成ページに移動します。
まず、どのような種類のクラスターを構成するかを決定する必要があります。この執筆時点では、MongoDBは3つのオプションを提供しています:サーバーレス(プレビュー)、Dedicated(専用)、Shared(共有)です。
サーバーレスインスタンスは、トラフィックが変動したり頻繁でないサーバーレスアプリケーションに適しています。最小限の構成で済み、リソースはワークロードに合わせてスケールし、コストは実際の使用量に見合います。
専用インスタンスは、このガイドの残りの部分で引き続き説明する選択肢です。高度なワークロード要件を持つ本番アプリケーション向けです。ネットワーク分離、エンドツーエンド暗号化、きめ細かいアクセス制御などの高度な設定コントロールがあります。また、専用クラスターには、インデックス、データスキーマなどに関するオンデマンドのパフォーマンスアドバイスも提供されます。
最後に、共有クラスターインスタンスです。このクラスタータイプは、サンドボックスのような環境でMongoDBを学習・探求するためのものです。基本的な設定コントロールがあり、サンプルデータセットでの作業やMongoDBに慣れるのに最適です。
グローバルクラスター構成
専用クラスターインスタンスを選択した後の最初のセクションは、グローバルクラスター構成です。ここには、各リージョンの大まかな書き込みレイテンシーを高いものから低いものへと示すマップが表示されます。Atlasグローバルクラスターは、グローバルに分散されたアプリケーションの位置情報に対応した読み書き操作をサポートするためのシャーディングされたクラスターゾーンです。
これらは、M30以上の最小クラスターティアまたはそれ以上のシャーディングされたクラスター向けに設計されています。MongoDBにおけるクラスターティアは、クラスター内の各データ保持サーバーのメモリ、ストレージ、およびIOPSの仕様を決定します。ティアについては後で詳しく説明しますが、クラスターティアの仕様は、最小のMOクラスターから順に上がっていくにつれて増加します。M30は本番クラスターの推奨です。このガイドの目的のため、ここではこのオプションを選択せずに先に進みます。グローバルクラスターがあなたのユースケースに合う場合は、公式のMongoDBドキュメントで詳細と設定方法を読むことができます。
クラウドプロバイダーとリージョン
次のセクションでは、3つの主要なクラウドプロバイダーのうち、どれを使用したいか、およびそれらのそれぞれのリージョンを選択するオプションが提供されます。
どのプロバイダーがあなたにとって最適かはあなた次第です。考慮すべき点の1つは、必要なリージョンがサポートされており、推奨されていることを確認することです。例えば、上記のスクリーンショットでは、希望するフランクフルトリージョンがAWSで利用可能であり、MongoDBによって推奨されていることがわかります。
注:推奨リージョンでは、Atlasレプリカセットは常に3つのアベイラビリティゾーンにまたがります。その他のリージョンでは、2つのアベイラビリティゾーンのみが使用されます。
3メンバーレプリカセットのすべての利点を得て、データの高可用性を維持するために、3つのアベイラビリティゾーンが推奨されます。選択したクラウドプロバイダーのリージョン可用性に関する詳細情報を取得するには、利用可能なリージョンリストの上部にある「i」アイコンをクリックしてください。
マルチクラウド、マルチリージョン、ワークロード分離
「クラウドプロバイダーとリージョン」セクション内の追加オプションとして、マルチクラウド、マルチリージョン、ワークロード分離(M10+クラスター)の設定があります。このオプションをオンにすると、可用性とローカル読み取りパフォーマンスを向上させるためにクラウドまたはリージョン間でデータを分散したり、ワークロード分離のためにレプリカを導入したりすることができます。
複数のリージョンとクラウドプロバイダーに3、5、または7つのノードを構成することで、データセンターの障害に対する耐性を高めることができます。また、追加のリージョンにレプリカを追加してローカル読み取りを最適化したり、分析ノードを追加して読み取り専用ノードでのクエリを分離し、ワークロード分離を実現することもできます。
このガイドの目的のため、このオプションはオフのままにしますが、詳細についてはMongoDBドキュメントで深く読むことができます。
クラスターティア
クラウドプロバイダーとリージョンを選択したら、次のステップはクラスターティアの選択です。MongoDBはクラスターティアを2つのカテゴリに分類しています。
- 開発環境および低トラフィックアプリケーション向けの専用クラスター
- 高トラフィックアプリケーションおよび大規模データセット向けの専用クラスター
最初のカテゴリにはM10とM20クラスターが含まれ、2番目のカテゴリはM30からM700までです。各ティアには、RAM、ストレージ、vCPU、および時間あたりの基本料金が表示されます。
ティアが選択されると、必要に応じて構成オプションを編集できます。スライダーでストレージを調整できます。これにより時間あたりの基本料金が増加し、画面下部に更新されます。
自動スケーリングオプションは、デフォルトでクラスターティアのスケーリングが選択されています。この機能により、トラフィックに基づいてクラスターを自動的にスケールアップまたはスケールダウンするように設定できます。制限に応じて、最小クラスターサイズと最大クラスターサイズを設定できます。
最後に、IOPS、最大接続数、ギガビットネットワークパフォーマンスに関する仕様情報を表示する2つのセクションがあります。
MongoDBを使用している場合は、PrismaのMongoDBコネクタをチェックしてください!Prisma Clientを使用して、本番環境のMongoDBデータベースを自信を持って管理できます。
MongoDBとPrismaの作業を開始するには、ゼロから始めるガイド、または既存プロジェクトに追加する方法をチェックしてください。
追加設定
クラスターティアを選んだら、さらにいくつかの追加設定を考慮する必要があります。
バージョン
まず、MongoDBのバージョンです。デフォルトでは最新バージョンが選択されますが、必要に応じてサポートされている任意のバージョンを選択できます。
バックアップ
次に、組織に最適なバックアップ戦略を決定する必要があります。クラウドバックアップがあり、スナップショットは自動的に取得され、バックアップおよび保持ポリシーに従って保存されます。
また、Continuous Cloud Backup(継続的クラウドバックアップ)もあり、オンにすると設定された時間枠内の完全なoplogが記録されます。これにより、その時間枠内の任意の時点に復元することができます。どちらのオプションが最適かは、組織の目標復旧時点(RPO)によって異なります。
シャーディング
次のオプションは、環境にシャーディングを設定するためのものです。シャーディングとは、データを個別のデータベースインスタンスに分割することです。このパーティショニングは、大規模なデータセットや、特定のリージョンにデータを配置することが有益なインスタンスにおいて特に有効です。最初からクラスターをシャーディングする必要がない場合は、アプリケーションのライフサイクル中にいつでもそのプロセスを実行できます。
このオプションは、クラスターティアがM30以上であり、自動スケーリングの最小ティアがM30以上である場合にのみ有効にできます。シャーディングは高スループットと大規模データセットをサポートし、データ要件の増加に応じて拡張できます。
ビジネスインテリジェンスコネクタ
最後から2番目の追加設定は、MongoDBのビジネスインテリジェンス(BI)コネクタに関するものです。この機能にはM10+のクラスターティアが必要です。BIコネクタを使用すると、TableauやQlikなどのリレーショナルBIツールでデータを視覚化できます。
暗号化
最後に、独自の暗号化キーを管理する機能をオンにするオプションがあります。繰り返しになりますが、この機能はクラスターティアがM10+の場合にのみ利用可能です。この機能により、選択した独自のキーを使用して追加の暗号化レイヤーを適用できます。デフォルトでは、MongoDB Atlasのストレージとバックアップは保存時に暗号化されていますが、組織がさらに暗号化を必要とする場合は、このオプションでそれを実現できます。
クラスター名
希望する構成にクラスターを構築できたので、名前を付けることができます。
クラスターは名前を変更できないことに注意してください。さらに、クラスター名にはASCII文字、数字、ハイフンのみを含めることができます。これで、「Create Cluster」ボタンをクリックし、レプリカセットが起動するのを待って、新しいMongoDBインスタンスでの作業を開始できます。
まとめ
MongoDBのクラスター設定のアラカルトメニューは、必要に応じてオプションを組み合わせて選択できることを簡単に示しています。しかし、その意味合いが不明な場合、この豊富なオプションは理解しにくいかもしれません。
このガイドでは、MongoDB Atlasのセットアップのすべてのセクションについて説明しました。各選択肢の概要について議論し、詳細に興味がある場合はさらなる読み物を提供しました。すべてのオプションがすべてのユースケースで役立つわけではありませんが、新しいAtlasクラスターをプロビジョニングする際に何が利用可能かを知っておくことは重要です。
MongoDBを使用している場合は、PrismaのMongoDBコネクタをチェックしてください!Prisma Clientを使用して、本番環境のMongoDBデータベースを自信を持って管理できます。
MongoDBとPrismaの作業を開始するには、ゼロから始めるガイド、または既存プロジェクトに追加する方法をチェックしてください。
よくある質問
クラスター内のすべてのノードで、ディスクはデフォルトで保存時にMongoDB Atlasの組み込み暗号化が施されています。
また、お好みのクラウドプロバイダーでWired Tigerストレージエンジンから保存時の暗号化を有効にすることもできます。
Atlas用のBIコネクタを使用して、MongoDB AtlasをTableau Desktopに接続できます。BIコネクタは、MongoDB M10+クラスターでのみ使用できる追加の有料ツールです。
BIコネクタは、ユーザーにMongoDBデータベースへのSQLベースのアクセスを提供します。Tableauを含むほとんどのビジネスインテリジェンスツールで使用できます。
MongoDB Atlasには、データベースメトリクス用の組み込み監視機能があります。MongoDB Atlasダッシュボードのクラスタービュー内に、「監視の表示」セクションがあります。
そのビューに入ったら、メトリックタブをクリックして、パフォーマンスの問題やデプロイの統計を特定できます。
MongoDB Atlasは、データベースのグローバルクラスター構成をサポートしています。クロスリージョンレプリケーションを介してデータをグローバルに分散し、マルチリージョンの耐障害性と応答性の高い読み取りアクセスを可能にします。
MongoDB Atlasはマルチクラウドデータベースのデプロイもサポートしています。
MongoDB Atlasグローバルクラスターでは、単一または複数リージョンのゾーンを定義する必要があり、各ゾーンは地理的にローカルなシャードからの書き込みおよび読み取り操作をサポートします。
クラスター構成でグローバル書き込みを有効にしたい場合は、クラスターはM30以上である必要があります。