Amazon Web Services ブログ

Amazon DocumentDB (MongoDB 互換) でのランプアップ



Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする高速でスケーラブル、かつ可用性に優れた完全マネージド型のドキュメントデータベースサービスです。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。Amazon DocumentDB には MongoDB 3.6 のドライバおよびツールとの互換性があります。現在すでに MongoDB データベースで使用しているアプリケーション、ドライバ、およびツールの多くは、変更なし、またはわずかな変更のみで Amazon DocumentDB で使用することができます。

このブログ記事では、皆さんが Amazon DocumentDB ですばやくランプアップできるように、最もよく質問されるトピックに関する簡単な概要とリソース一式を提供します。

Amazon DocumentDB とは何ですか?

Amazon DocumentDB がユニークなデータベースである理由、そしてそのクラウドネイティブなアーキテクチャがストレージとコンピューティングを分離させてすばやいスケーリングを可能にする方法の詳細については、以下のリソースにアクセスしてください。

  • Amazon DocumentDB ディープダイブ (re:Invent 2019 より)
    この講演では、開発者がドキュメントモデルを選択する理由、一般的なユースケース、代替データストアを検討すべき場合の例、およびお客様が抱えるドキュメントデータベースの管理とスケーリングに関する具体的な問題を Amazon DocumentDB がどのように解決するかについての概要を私がお話しします。セッションの目玉は、Fulfillment by Amazon (FBA) がデータベースのインフラストラクチャフットプリントを前回のソリューション時の 96 インスタンスからわずか 2 つの Amazon DocumentDB インスタンスまで減らした方法です。Amazon DocumentDB への移行により、パフォーマンスが 66% 上昇し、同時に 45% のコスト削減が実現しました。FBA の例は、ジョブにとって適切なデータベースを使用したことによる結果を示しています。FBA は、Amazon DocumentDB を使用した読み取りと書き込みのスケーリング、およびインデックス戦略から学んだ、ためになる教訓も提供します。これには、1.5-TB クラスターのスナップショットバックアップを 1 分たらずで作成する、同じ 1.5-TB クラスターに新しいインスタンスを 5 分で追加する、そして Amazon Athena の新しい横串検索機能を使用して SQL インターフェイスで Amazon DocumentDB のデータをクエリする 3 つのデモも含まれています。
  • 特徴
    フルマネージドデータベースサービスである Amazon DocumentDB は、AWS での高性能、スケーラブル、セキュア、コンプライアント、かつ可用性に優れたアプリケーションの構築を可能にする数多くの機能と特徴を提供します。
  • よくある質問
    最もよく尋ねられる Amazon DocumentDB のFAQ には、「MongoDB 互換」とはどういう意味ですか?Amazon DocumentDB には SLA がありますか?秒単位の課金の仕組みを教えてくださいなどがあります。

Amazon DocumentDB の使用を開始する方法を教えてください

Amazon DocumentDB での「hello world」の実行に興味がおありですか? 詳細については、以下のガイドとドキュメントにアクセスしてください。

  • 使用開始ガイド
    「Hello World」を一から始めるには、使用開始ガイドを使用してください。AWS マネジメントコンソール、または AWS CLI を使って Amazon DocumentDB クラスターをプロビジョニングする方法、そして mongo シェルを使って接続し、クエリする方法を学びましょう。
  • AWS Cloud9 を使用した接続
    開発、テスト、および管理には、AWS Cloud9 を使ってウェブブラウザから Amazon DocumentDB クラスターに接続し、アクセスするこができます。AWS Cloud9 はクラウドベースの統合開発環境 (IDE) で、ブラウザだけを使ってコードを作成、実行、およびデバッグすることを可能にします。ウェブベースのターミナルアクセス (Amazon Linux または Ubuntu) を提供するため、mongo シェル、または MongoDB SDK をインストールして Amazon DocumentDB に接続できます。
  • VPC 外部からの接続
    Amazon DocumentDB クラスターは、Amazon Virtual Private Cloud (Amazon VPC) 内にデプロイされます。クラスターには、同じ Amazon VPC にデプロイされている Amazon EC2 インスタンス、またはその他 AWS のサービスから直接アクセスできます。また、VPC ピアリングを経由して、同じ AWS リージョン内または他のリージョン内の異なる VPC にある EC2 インスタンス、またはその他 AWS のサービスからアクセスすることもできます。

Amazon DocumentDB で構築およびスケールするにはどうすればよいですか?

Amazon DocumentDB での構築とスケーリングを開始する準備が整ったら、まず以下の主なリソースから取り掛かるとよいでしょう。

  • ベストプラクティス
    Amazon DocumentDB での作業に関するベストプラクティスを学びましょう。このセクションは、新しいベストプラクティスが明らかになるたびに随時更新されます。
  • モニタリング
    Amazon DocumentDB は、クラスターとインスタンス向けの Amazon CloudWatch メトリクスを提供します。AWS マネジメントコンソールを使って、コンピューティング、メモリ、クエリスループット、および有効接続数などの 20 を超える主な運用メトリクスを表示することができます。さらに、Amazon DocumentDB のプロファイラーを使用して、クラスターで実行された操作の実行時間と詳細をログに記録することもできます。プロファイラーは、個々のクエリパフォーマンスと全体的なクラスターパフォーマンスを向上できるように、クラスターで最も遅い操作をモニタリングするために役立ちます。
  • 読み込みスケーリング
    従来のモノリシックなデータベースアーキテクチャとは異なり、Amazon DocumentDB はストレージとコンピューティングを分離させます。この最新アーキテクチャを踏まえて、AWS ではレプリカインスタンスでの読み込みスケーリングをお勧めしています。レプリカインスタンスでの読み込みは、プライマリインスタンスからレプリケートされている書き込みをブロックしません。クラスターに最大 15 個のリードレプリカインスタンスを追加して、1 秒あたり何百万件もの読み込みにスケールアウトできます。
  • バックアップと PITR 復元
    Amazon DocumentDB のバックアップ機能は、クラスターのポイントインタイムリカバリを可能にします。これによって、過去 5 分まで、保持期間内の任意の時点にクラスターを復元させることができます。自動バックアップ保持期間は、最大 35 日に設定できます。自動バックアップは、99.999999999% の耐久性を持つように設計されている Amazon S3 に保存されます。Amazon DocumentDB のバックアップは自動的、増分的、継続的であり、クラスターのパフォーマンスには影響しません。
  • セキュリティ
    Amazon DocumentDB では、ユーザーが AWS Key Management Service (AWS KMS) を使って作成および管理するキーを使用して、データベースを暗号化することができます。 Amazon DocumentDB 暗号化を使用して実行されるクラスターでは、基礎ストレージ内の保存データに加え、同じクラスター内にある自動バックアップ、スナップショット、およびレプリカも暗号化されます。クライアントと Amazon DocumentDB 間の接続はデフォルトで、TLS を使って転送時の暗号化が行われます。
  • 料金と料金見積りツール
    Amazon DocumentDB の使用に先行投資は必要なく、使用するキャパシティーの料金のみを支払います。Amazon DocumentDB では、インスタンス、ストレージ、IOPS、およびバックアップストレージの 4 点に対する料金が発生します。
  • 高可用性とレプリケーション
    Amazon DocumentDB では、レプリカインスタンスを使用することによって高可用性と読み込みスケーリングを実現できます。Amazon DocumentDB クラスターとそのインスタンスの正常性は、継続的にモニタリングされます。 インスタンス障害が発生すると、Amazon DocumentDB はレプリカへのフェイルオーバーを自動化します。Amazon DocumentDB のリカバリには、時間がかかる可能性のあるデータベース redo ログの再生が必要ないため、インスタンスの再起動時間は通常 30 秒以下です。Amazon DocumentDB ではデータベースキャッシュがデータベースプロセスから分離されているため、データベースが再起動してもキャッシュがそのまま残ります。

Amazon DocumentDB に移行するにはどうすればよいですか?

多くの開発者が「Undifferentiated Heavy Lifting」(差別化につながらない重労働) とデータベースの自己管理に投資する習慣から抜け出したいと考えています。オンプレミスまたは Amazon EC2 の MongoDB データベースは、AWS Database Migration Service (DMS) を使い、実質的にダウンタイムなしで Amazon DocumentDB に無料 (インスタンスあたり 6 か月間無料) で移行します。DMS では、MongoDB レプリカセット、またはシャードクラスターから Amazon DocumentDB に移行できます。

以下にある 3 分間の動画で、AWS DMS を使って MongoDB から Amazon DocumentDB へのライブ移行を実行する方法を学んでください。この動画では、MongoDB (ソース) と Amazon DocumentDB (ターゲット) に対して実行される 2 つの同一のアプリケーションをセットアップし、ライブ移行用の DMS タスクを作成して、ソースアプリケーションに変更を行った後、ターゲットアプリケーションを使ってライブ移行を検証します。

移行を実行するには、通常 AWS DMS を使ってオンライン、ハイブリッド、またはオフラインの移行を実行します。移行の詳細については、以下にアクセスしてください。

  • 移行ガイド
    Amazon DocumentDB の移行ガイドでは、移行のために検討する必要があるすべてのフェーズ (検出、計画、テスト、フェイルオーバー) が詳しく説明されています。このガイドでは、異なるアプローチ (オンライン、ハイブリッド、オフライン)、および Amazon DocumentDB への移行に役立つ DMS といったツールも取り上げられています。
  • 移行の概要 (re:Invent 2019 より)
    Amazon DocumentDB のシニアスペシャリストソリューションアーキテクトである Jeff Duffy が、顧客戦略および Amazon DocumentDB への移行の際の検討事項の概要についてお話しします。セッションには、リレーショナルおよび非リレーショナルソース、移行のフェーズ (検出/計画/テスト/実行)、クラスターサイジング、および移行ツーリングについてのディスカッションが含まれます。セッションの目玉となったのは、FINRA が XML を利用して、どのようにしてリレーショナルデータベースから Amazon DocumentDB へ移行したかについての講話でした。アプリケーションから必要とされる変換レイヤーがないため、FINRA は Amazon DocumentDB によって JSON をデータベースでネイティブに使用し、よりスピーディーな移行を行えています。また、FINRA は Amazon DocumentDB がどのように SLA とセキュリティ要件の高い基準を満たしたかについても説明しています。
  • 移行チュートリアル
    セルフホスト型の MongoDB から Amazon DocumentDB への AWS DMS を使った移行プロセスを詳しく説明する Amazon DocumentDB 移行チュートリアルをご利用ください。
  • 移行ワークショップ: Amazon DocumentDB への MongoDB データベースの移行
    このワークショップでは、異なる戦略を用いて Amazon DocumentDB に MongoDB データベースを移行する方法を練習します。

誰が Amazon DocumentDB を利用していますか?

Capital One、OnDeck、Freshop、Woot!、Amazon、およびその他多くのお客様が Amazon DocumentDB を使って AWS でのアプリケーションの構築とスケーリングを行っておられます。Amazon DocumentDB を使用するお客様に関する詳細については、以下にアクセスしてください。

  • Fulfillment by Amazon が Amazon DocumentDB を使用する方法を学ぶ
    Fulfillment by Amazon (FBA) がそのデータベースインフラストラクチャフットプリントを、以前のソリューションでの 96 インスタンスからたった 2 つの Amazon DocumentDB インスタンスにまで削減した方法を学びましょう。Amazon DocumentDB への移行により、パフォーマンスが 66% 上昇し、同時に 45% のコスト削減が実現しました。FBA の例は、ジョブにとって適切なデータベースを使用したことによる結果を示しています。FBA は、Amazon DocumentDB を使用した読み取りと書き込みのスケーリング、およびインデックス戦略から学んだ、ためになる教訓も提供します。
  • FINRA が Oracle から Amazon DocumentDB に移行した方法を学ぶ
    FINRA が XML を使うリレーショナルデータベースから Amazon DocumentDB に移行した方法を学びましょう。アプリケーションから必要とされる変換レイヤーがないため、FINRA は Amazon DocumentDB によって JSON をデータベースでネイティブに使用し、よりスピーディーな移行を行えています。また、FINRA は Amazon DocumentDB がどのように SLA とセキュリティ要件の高い基準を満たしたかについても説明しています。
  • パブリッシングプラットフォームに AWS と Amazon DocumentDB を使用する Deutsche Fußball Liga GmbH (DFL)
    「Deutsche Fußball Liga GmbH (DFL) では AWS を使ってパブリッシングプラットフォームを稼働させており、リーグから世界中の数百万人のファンに最新ニュースをお届けしています。コンテンツとユーザーベースの拡大に伴い、弊社ではリレーショナルデータベースのパフォーマンスの維持に焦点を当てました。私たちは、柔軟なスキーマ、開発者がより迅速にデプロイすることを可能にするネイティブの JSON サポートのために Amazon DocumentDB (MongoDB 互換) に移行しました。その疎結合化アーキテクチャは、読み込みスループットを数分でスケールすることができます。アプリケーションのプロトタイプは MongoDB Community Edition を使ってローカルで作成し、Amazon DocumentDB の本番環境に素早くデプロイしました。すべてが期待通りに進み、首尾よくデータベースパフォーマンスの拡大できました。」– DFL グループの DFL デジタルスポーツ CEO 兼デジタルイノベーション EVP、Andreas Heyden 氏

Amazon DocumentDB の最新情報を常に把握しておくにはどうすればよいですか?

 

 


著者について

 

Joseph Idziorek は、アマゾン ウェブ サービスのプリンシパルプロダクトマネージャーです。