Amazon Web Services ブログ

新規 – Amazon DocumentDB (MongoDB 互換): 高速、スケーラブル、高可用性

AWS データベースのページを見ると、私たちが信じられないほど幅広い種類のデータベースを提供していること、それぞれが特定のニーズに対応するために作られていることが分かるでしょう! 最も素晴らしく、最も強力なアプリケーションを構築するために、リレーショナルデータベース、キーバリューデータベース、インメモリデータベース、グラフデータベース、時系列データベース、台帳データベースを組み合わせることができます。

Amazon DocumentDB (MongoDB 互換) の概要
本日、既存の MongoDB アプリケーションおよびツールと互換であるように設計された、高速、スケーラブル、高可用性のドキュメントデータベース Amazon DocumentDB (MongoDB 互換) を開始します。Amazon DocumentDB は、専用の SSD ベースのストレージレイヤーを使用し、3 つの個別のアベイラビリティーゾーンにわたって 6 のレプリケーションを作成します。このストレージレイヤーは分散型で、耐障害性があり、自己修復型であるため、本稼働規模の MongoDB ワークロードを実行するために必要なパフォーマンス、スケーラビリティ、可用性が得られます。

それぞれの MongoDB データベースには、一連のコレクションが含まれています。それぞれのコレクション (リレーショナルデータベースのテーブルに類似) には、それぞれが JSON に似ている BSON フォーマットである、一連のドキュメントが含まれています。以下に例を挙げます。

{
  name: "jeff",
  full_name: {first: "jeff", last: "barr"},
  title: "VP, AWS Evangelism",
  email: "jbarr@amazon.com",
  city: "Seattle",
  foods: ["chocolate", "peanut butter"]
}

それぞれの文書には、フィールドと値のペアおよびデータの固有のセットを含めることができます。固定スキーマや事前定義スキーマはありません。MongoDB API には、通常の CRUD (create (作成)read (読み取り)update (更新)delete (削除)) 操作と非常に豊富なクエリモデルが含まれています。これは氷山の一角にすぎないので (MongoDB API は非常に強力で柔軟です)、サポートされている MongoDB の操作、データ型、関数のリストを調べて詳細を確認してください。

Amazon DocumentDB について
Amazon DocumentDB について知っていただきたい事柄は以下のとおりです。

互換性 – Amazon DocumentDB は、MongoDB バージョン 3.6 と互換性があります。

スケーラビリティ – ストレージは 10GB から 64TB まで、10 GB 単位で拡張できます。ストレージを事前に割り当てたり、空き容量を監視したりする必要はありません。Amazon DocumentDB が自動的に行います。6 つのインスタンスサイズ (15.25 GB から 488 GB までのメモリをもつ) から選択可能で、最大で 15 のリードレプリカを作成できます。ストレージとコンピューティングは分離されているので、それぞれを独立して必要に応じて拡張できます。

パフォーマンスAmazon DocumentDB はデータベースの変更をログストリームとして保存するため、1 秒あたり数百万件の読み取りをミリ秒のレイテンシーで処理できます。このストレージモデルは、データの耐久性を犠牲にすることなくパフォーマンスを大幅に向上させ、全体的なスケーラビリティを大幅に高めます。

信頼性 – 6 つのストレージレプリケーションが高可用性を保証します。Amazon DocumentDB は、30 秒以内にプライマリからレプリカにフェイルオーバーでき、MongoDB レプリカセットのエミュレーションをサポートしているので、アプリケーションは迅速にフェイルオーバーを処理できます。

フルマネージド – 他の AWS のデータベースサービスと同様に、Amazon DocumentDB はフルマネージドであり、モニタリング、障害検知、フェールオーバーが組み込まれています。毎日のスナップショットバックアップを設定し、手動でスナップショットを作成し、必要に応じて、どちらかを使用して新しいクラスターを作成することができます。1 〜 35 日のバックアップ保持期間内の任意の時点に (第 2 レベルの解像度で) ポイントインタイムリストアを実行することもできます。

セキュア – それぞれの Amazon DocumentDB クラスターを作成する際に、選択した KMS キーによってアクティブなデータ、スナップショット、レプリカを暗号化することを選択できます。転送中のデータの暗号化と同様に、認証はデフォルトで有効になっています。

互換 – 前述したように、Amazon DocumentDB は、既存の MongoDB アプリケーションおよびツールと連携するように設計されています。必ず、MongoDB 3.4 以降を対象としたドライバーを使用してください。内部的には、Amazon DocumentDB は MongoDB クライアントが MongoDB サーバーに期待する応答をエミュレートすることによって MongoDB 3.6 API を実装しています。

Amazon DocumentDB (MongoDB 互換) クラスターの作成
クラスターは、コンソール、コマンドライン、CloudFormation から、または CreateDBCluster 関数をコールすることによって作成できます。今回は、Amazon DocumentDB コンソールを使用します。コンソールを開いて、[Launch Amazon DocumentDB] をクリックして開始します。

クラスターに名前を付け、インスタンスクラスを選択し、インスタンスの数を指定します (1 つがプライマリで残りはレプリカです)。次に、マスターのユーザー名とパスワードを入力します。

クラスターでは、以下のインスタンスクラスをどれでも使用できます。

この時点で [Create cluster] をクリックしてデフォルト設定を使用するか、[Show advanced settings] をクリックして追加のコントロールを行うことができます。任意の VPC、サブネット、セキュリティグループを選択できます。また、クラスターのポートとパラメータグループも設定できます。

暗号化のコントロール (デフォルトで有効)、バックアップの保持期間の設定、ポイントインタイムリストア用のバックアップウィンドウの設定を行うことができます。

新しいクラスターのメンテナンスウィンドウもコントロールできます。準備ができたら、[Create cluster] をクリックして、先へ進みます。

クラスターは「creating」ステータスで始まり、すぐに「available」ステータスに切り替わります。

クラスター内のインスタンスも同様です。

クラスターへの接続
クラスターを起動して実行した状態で、EC2 インスタンスに mongo シェルをインストールし (詳細はディストリビューションによって異なります)、安全に接続できるように証明書を取得します。

$ wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

コンソールに、接続に必要なコマンドが表示されます。

クラスターを作成したときに指定したパスワードでコマンドをカスタマイズするだけです。

そこから、mongo シェルコマンドを使用して、データの挿入、照会、調査を行うことができます。非常に単純なドキュメントをいくつか挿入してから、同じように単純なクエリを実行しました (皆さんは、もっと良いことができるでしょう)。

今すぐ利用可能
Amazon DocumentDB (MongoDB 互換) が利用可能になりました。本日から、米国東部 (バージニア北部)米国東部 (オハイオ)米国西部 (オレゴン)欧州 (アイルランド) の各リージョンで使用できます。料金は、インスタンスクラス、現在のドキュメントとスナップショットのストレージ消費、I/O 操作、データ転送に基づきます。

Jeff;