コンテンツに移動
Google Cloud

MongoDB Atlas を利用できる GCP リージョンが拡大

2018年4月24日
Google Cloud Japan Team

3,500 万件以上の累計ダウンロード数を誇り、顧客に Cisco や Metlife、UPS などを抱える MongoDB は、開発者にも企業にも人気が高い NoSQL データベースの 1 つです。

MongoDB は、Google Cloud Platform(GCP)においては MongoDB の使いやすいフルマネージド DBaaS(Database as a Service)である MongoDB Atlas として提供されています。MongoDB Atlas は、クロスリージョンのレプリケーションやマルチリージョンのフォールト トレランスが可能で、世界中のデータ ユーザーに高速で低レイテンシの読み取りアクセスを提供するグローバル分散データベースが利用できます。特定のクラウド リージョン全体にわたって障害が発生した場合でも、影響を受けないようにクラスタを構成することが可能です。

MongoDB Atlas に対する GCP のお客様からの旺盛な需要を受けて、Google と MongoDB はこのたび、GCP での MongoDB Atlas の提供を拡大し、GCP のほとんどのリージョンで Cloud Launcher から利用できるようにしました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/mongodb-2.max-700x700.png

提供リージョンの拡大に伴い、MongoDB Atlas は多くのお客様にとって利用しやすくなりました。ソーシャル メディア分野のイノベーターから大手エネルギー企業まで全世界の幅広いお客様が、すでに GCP で MongoDB を運用中です。

GCP で MongoDB Atlas が動作する仕組み

MongoDB Atlas が GCP で動作する仕組みを理解していただくにあたって、まずは MongoDB クラスタのアーキテクチャについて説明しましょう。

MongoDB は、レプリカ セットと呼ばれるデータの複数コピーをネイティブ レプリケーションによって維持します。レプリカ セットは、データベースのダウンタイム防止に役立つ完全な自己回復の構成単位です。フェイルオーバーは完全に自動化されており、管理者が手動で介在する必要はありません。

https://storage.googleapis.com/gweb-cloudblog-publish/images/mongodb-56kfo.max-400x400.JPEG

MongoDB のレプリカ セットのレプリカ数は設定が可能です。レプリカ数を増やすと、データの可用性やデータベース ダウンタイムに対する保護性能(複数マシンの障害、ラック障害、データセンター障害、ネットワーク パーティション障害などが発生した場合の保護)が向上します。MongoDB クラスタには少なくとも 3 つのレプリカ セット メンバを含めることが推奨されています。単一障害点をなくすために、これらは地理的に分散するのが理想です。

また、複数のレプリカへの書き込みを行ってからアプリケーションに書き込み確認を返し、近同期レプリケーションを行うように操作を構成することも可能です。マルチデータセンターを意識したこの構成は、グローバル データ分散や、運用ワークロードと分析ワークロードの分離を実現します。さらにレプリカ セットは、データベースをオフラインにすることなく、ハードウェアとソフトウェアをアップグレードする方法を提供し、柔軟な運用に貢献します。

MongoDB は、シャーディングというプロセスを介して、クラウドで水平スケールアウトを実現します。シャーディングはデータを複数の物理パーティション(シャード)に分散します。MongoDB はシャーディングを利用することで、アプリケーションを複雑化することなく、シングル サーバーのハードウェア上の限界に対処します。データの増大やクラスタ サイズの拡大縮小に応じて、自動的にクラスタ内でデータのバランスを調整します。

シャーディングはアプリケーションに対して透過的です。シャードが 1 つでも 100 でも、MongoDB のクエリを実行するアプリケーション コードは同じです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/mongodb-11rig.max-700x700.JPEG

MongoDB はさまざまなシャーディング ポリシーを提供し、お客様はクエリ パターンやデータのローカリティに応じてデータをクラスタ全体に分散させることができます。

GCP 上の MongoDB Atlas で管理される MongoDB クラスタは Projects として整理されます。1 つの Project 内のクラスタはすべて、リージョンごとに 1 つの Virtual Private Cloud(VPC)内に置かれ、これによって他のお客様とのネットワーク分離が保証されます。デフォルトでは、クラスタは MongoDB の 3 つのレプリカ セット メンバを含み、これらは 1 つの GCP リージョン内の使用可能な 3 つのゾーンに分散されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/mongodb-3d3bv.max-700x700.PNG

MongoDB Atlas でグローバル分散データベースを作成

MongoDB Atlas の UI を使用すれば、以下に示すようにクロスリージョン レプリケーションを簡単に設定できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/mongodb-69kms.max-700x700.PNG

いったん設定されると、MongoDB Atlas は自動的にクラスタ上のストレージをスケールします。コンピュート リソース(メモリと CPU)をより大きなクラスタ サイズにスケールしたり、人手が介在しないシャーディングを UI や API で有効にしたりすることも簡単です。

より多くの GCP リージョンで提供されるようになった MongoDB Atlas が、データベースのセットアップとスケーリングによる運用オーバーヘッドを減らし、お客様がアプリケーションの迅速な構築に集中できるようになることを、私たちは願っています。

皆さんが構築するものやフィードバックを楽しみにしています。それらを生かしながら、GCP が MongoDB の最適な実行環境であり続けるよう努めてまいります。

もっと知りたい方のために


* この投稿は米国時間 3 月 23 日、Cloud Customer Engineer の Kent Smith によって投稿されたもの(投稿はこちら)の抄訳です。

- By Kent Smith, Cloud Customer Engineer

投稿先