Amazon Web Services ブログ

Amazon DocumentDB (MongoDB 互換) を使用してコストを最適化する

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れた完全マネージドのドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在の MongoDB 3.6 用のプリケーションコード、ドライバー、ツールをそのまま使用して、Amazon DocumentDB 上でのワークロードの実行、管理、そしてスケーリングが行えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。

AWS は、可用性、信頼性、耐久性、スケーラビリティ、バックアップなどに関するお客様の課題を独自の方法を用いて解決するために Amazon DocumentDB を構築しました。その過程において、当社は、付加価値を生まない手間のかかる作業を取り除き、コストを削減するために、いくつかの斬新でユニークな機能を構築しました。この記事では、コストの見積もり、最適化、モニタリングを可能にする Amazon DocumentDB 機能を紹介します。

T3 ミディアムインスタンス

T3 ミディアムインスタンス (4 GiB RAM、2 vCPU) のリリースにより、r5.large インスタンス (16 GiB RAM、2 vCPU) 以前のエントリポイントより 72% 安い低コストのインスタンスタイプ (1 時間あたり 0.078 USD) が得られます (料金はリージョンごとに異なります。Amazon DocumentDB の料金をご覧ください)。

T3 インスタンスは、開始、開発とテスト、および小規模の本番ワークロードに最適です。T3 ミディアムインスタンスで新しいクラスターをプロビジョニングするか、既存のクラスターのインスタンスを T3 ミディアムインスタンスにスケーリングできます。詳細については、Amazon DocumentDB インスタンスの変更を参照してください。

高い耐久性を備えた単一インスタンスのクラスター

Amazon DocumentDB のアーキテクチャはストレージとコンピューティングを分離しているため、単一インスタンスのクラスターでも高い耐久性を備えています。クラスターストレージボリュームは、3 つのアベイラビリティーゾーンにわたって 6 つの方法でデータを複製するため、クラスター内のインスタンス数に関係なく、非常に高い耐久性を提供します。一般的な本番クラスターには、高可用性を提供するために 2 つ以上のインスタンスがあります。ただし、高可用性が不要な場合は、単一インスタンスの開発クラスターを使用してコストを最適化できます。4 GB の RAM を備えた単一インスタンスクラスターの場合、6 方向に複製されたデータでも高い耐久性を備えています。us-east-1 では 0.078 USD/時間をお支払いいただきます。すべてのリージョンの料金については、Amazon DocumentDB の料金をご覧ください。

さらに、データの 6 方向レプリケーションのメリットに加えて、データの単一のコピーに対してのみお支払いいただきます。

請求アラート

コストを最適化する 1 つの方法は、その月に発生する予想外のコストに事前に対処することです (たとえば、クラスターをスケールアップして 10 TB のデータをインポートするが、スケールダウンを忘れる場合など)。1 か月の予想請求額の 50% および 75% のしきい値で請求アラートを作成すると、予想以上に支出している場合に早期警告を受信することができます。請求アラート作成の詳細については、請求アラームの作成を参照してください。

コストアロケーションタグ

AWS でのタグは、Amazon DocumentDB クラスターやインスタンスなどの AWS リソースに割り当てるラベルです。タグを使用すれば、AWS リソースをさまざまな方法 (目的、所有者、環境など) で分類できます。また、コストの割り当てなど、さまざまな目的でタグを使用できます。アカウントでの Amazon DocumentDB の使用状況を要約した毎月の請求書を取得する代わりに、特定のクラスターとインスタンスにタグを付け、運用クラスターや開発環境などのより詳細なレベルで継続的にコストを追跡できます。そうすることで、コストをさらに最適化できるリソースやエリア全体にコストがどのように割り当てられているかを詳細に把握できます。詳細については、コストアロケーションタグの使用を参照してください。

コンピューティングはストレージから独立している

コンピューティングとストレージは独立してスケーリングするため、ストレージを増やすためだけにコンピューティングをプロビジョニングする必要はありません。たとえば、たまにしかアクセスしない 1 TB のストレージボリュームを使用したり、クラスター内に 1 つまたは 2 つの T3 ミディアムインスタンスを使用したりできます。ストレージボリュームが大きいという理由だけで、大規模なインスタンスタイプをプロビジョニングする必要はありません。ストレージとコンピューティングを分離することで、特定のユースケースに基づいてクラスターのコストを最適化できます。

クラスターの起動と停止

開発およびテストのシナリオでは、不要になったクラスターを停止し、開発が再開したときにクラスターを開始できます。コンピューティングインスタンスが停止しても、インスタンスや I/O の料金は発生しません。

クラスターにアクセスする必要がない場合は、最長 7 日間コンピューティングインスタンスを一時的に停止でき (週末にテストクラスターを一時停止するのが理想的)、必要に応じてインスタンスを再起動できます。リソースを使用していないときにクラスターを起動および停止すると、コストの最適化に役立ち、AWS Lambda および AWS コマンドラインインターフェイス (AWS CLI) を使用してクラスターの起動や停止を自動化することもできます。詳細については、Amazon DocumentDB クラスターの停止と起動を参照してください。

ストレージと I/O の自動スケーリング

Amazon DocumentDB クラスターをプロビジョニングする場合、クラスターに必要なストレージと I/O の量を指定する必要はありません。Amazon DocumentDB ストレージと I/O は、ワークロードのスケーリングに応じて自動的にスケーリングされるため、事前プロビジョニングする必要なく、使用したリソースに対してのみ料金をお支払いいただきます。ストレージと I/O の自動スケーリングは、毎月必要なストレージと I/O の量をモデル化したり推測したりする必要がなく、使用率の低いリソースの支払いを行うためにピーク負荷をプロビジョニングする必要がないため、コストを最適化できます。

秒単位の請求

Amazon DocumentDB は、インスタンスに秒単位の料金を請求します。インスタンス時間の一部は 1 秒単位で請求され、インスタンスの作成、変更、削除などの請求可能なステータスの変更に続いて 10 分の最小料金がかかります。一時的なワークロードで新しいインスタンスのプロビジョニングと削除を頻繁に行う必要がある場合、1 秒ごとに料金が請求され、時間を丸 1 時間に切り上げる必要がないため、コストを節約できます。1 秒あたりの請求は、一括ロードを高速で行うために大規模なインスタンスタイプをスケールアップし、ロードの完了後にスケールダウンする場合に特に影響を及ぼします。

バックアップ

クラスターデータストレージの 100% に相当するバックアップストレージを毎月無料でご利用いただけます (たとえば、クラスターに 10 TB の保存データがある場合、10 TB のバックアップを無料で利用できます)。無料割り当てを超える追加バックアップストレージの料金は、GB あたり月額 0.02 USD です (料金はリージョンによって異なる場合があります)。30 日間にわたって手動スナップショットを毎日作成する場合は、保持期間を 30 日に増やすことで、コストを最適化できます。

バックアップ期間内にバックアップストレージに請求される最大額は、ストレージボリュームのサイズに基づきます。バックアップ期間外で取得した手動スナップショットは完全バックアップであり、SnapshotStorageUsed にカウントされます。たとえば、クラスターが 100 GiB ある場合、バックアップ期間は 1 日 (デフォルト) に設定されており、31 日間毎日手動スナップショットを取得すると、バックアップの総コストは (100 GiB – 100 GiB + 30 * 100 GiB) = 30 GiB になります。バックアップ期間内で手動スナップショットを作成しても、追加コストは発生しません。

コストを最適化するために、同じシナリオを使用してバックアップ期間を 30 日に延長します。毎日作成される自動スナップショットを使用する場合、最大バックアップは 100 GiB です。1 つの無料スナップショットを取得し、保持期間中は増分料金に対してのみお支払いいただきます。データが 30 日間に変更されていない場合は、バックアップ料金が発生しません。さらに、30 倍のコストがかかる毎日の手動スナップショットの代わりに、31 日間のバックアップ期間を利用して、任意の時点でポイントインタイムリストアを実行できるようになりました。

コストを制御するために、保持期間を超えて持続する連続バックアップおよび手動スナップショットによって使用されるストレージの量を監視できます。バックアップの保持間隔を短縮し、不要になった手動スナップショットを削除できます。詳細については、バックアップストレージの使用についてを参照してください。

無料のデータ複製

Amazon DocumentDB は、Amazon DocumentDB インスタンス間でデータを複製するためのデータ転送、またはコンピューティングインスタンスとストレージレイヤー間のデータ転送に対して料金を請求しません。詳細については、Amazon DocumentDB の料金を参照してください。

AWS 料金計算ツール

AWS 料金計算ツールを使用して、毎月のコストをすばやく清算できます。詳細については、Amazon DocumentDB 料金計算ツールをご覧ください。

前払いや長期契約は不要

Amazon DocumentDB には、透過的な従量課金制の料金設定があります。前払いを行う必要も長期契約を結ぶ必要もありません。また、ライセンスもありません。私たちは日々ユーザーの信頼を得ることを目指しています。ユーザーは年間契約に縛られることなく、リソースを完全に制御できます。

AWS Database Migration Service の無料使用

AWS Database Migration Service (AWS DMS) を無料で (6 か月間) 使用して、実質的にダウンタイムなしでオンプレミスまたは Amazon Elastic Compute Cloud (Amazon EC2) データベースを Amazon DocumentDB に簡単に移行できます。詳細については、AWS Database Migration Service: 無料 DMS をご参照ください。

まとめ

Amazon DocumentDB は、コストの見積もり、最適化、監視に役立ついくつかの機能を提供します。詳細については、Amazon DocumentDB のベストプラクティスを参照してください。Amazon DocumentDB を初めて使用する場合は、Amazon DocumentDB の使用開始を参照してください。Amazon DocumentDB への移行を計画している場合は、Amazon DocumentDB への移行を参照してください。

 


著者について

 

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