DynamoDB の Well-Architected レンズを使用して DynamoDB ワークロードを最適化する - Amazon DynamoDB

DynamoDB の Well-Architected レンズを使用して DynamoDB ワークロードを最適化する

このセクションでは、優れたアーキテクチャの DynamoDB ワークロードを設計するための設計原則とガイダンスの集合である Amazon DynamoDB Well-Architected レンズについて説明します。

AWS Well-Architected フレームワークは、クラウドアーキテクトがさまざまなアプリケーションやワークロード向けに、安全で高性能、かつ回復力のある効率的なインフラストラクチャを構築するのに役立ちます。AWS Well-Architected は、運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化、持続可能性の 6 つの柱に基づいて構築されており、顧客とパートナーがアーキテクチャを評価し、スケーラブルな設計を実装するための一貫したアプローチを提供します。

AWS Well-Architected レンズによって、AWS Well-Architected が提供するガイダンスを特定の業界や技術分野に拡張できます。Amazon DynamoDB Well-Architected レンズでは、DynamoDB ワークロードに焦点を当てています。このレンズは、DynamoDB ワークロードを評価およびレビューするためのベストプラクティス、設計原則、質問を提供します。Amazon DynamoDB Well-Architected レンズによるレビューを完了すると、AWS Well-Architected の各柱に関連する推奨設計原則に関する教育とガイダンスを利用できるようになります。このガイダンスは、さまざまな業界、セグメント、規模、地域のお客様との作業経験に基づいています。

Well-Architected レンズによるレビューの直接的な結果として、DynamoDB ワークロードを最適化および改善するための実用的な推奨事項の概要が得られます。

Amazon DynamoDB Well-Architected レンズによるレビューの実施

DynamoDB Well-Architected レンズによるレビューは通常、AWSソリューションアーキテクトがお客様と一緒に実施しますが、お客様がセルフサービスとして実施することもできます。Amazon DynamoDB Well-Architected レンズの一環として Well-Architected の 6 本の柱をすべて確認することをお勧めしますが、まずは 1 本または複数の柱に優先的に焦点を当てでもかまいません。

Amazon DynamoDB の Well-Architected レンズによるレビューを実施するための追加情報と手順については、このビデオDynamoDB Well-Architected Lens GitHub ページをご覧ください。

Amazon DynamoDB の Well-Architected レンズの柱

Amazon DynamoDB の Well-Architected レンズには 6 本の柱で構成されています。

パフォーマンス効率の柱

パフォーマンス効率の柱には、コンピューティングリソースを効率的に使用してシステム要件を満たし、需要の変化や技術の進歩に合わせてこの効率性を維持する能力が含まれます。

この柱の主な DynamoDB の設計原則は、データのモデル化パーティションキーソートキーの選択、およびアプリケーションアクセスパターンに基づくセカンダリインデックスの定義を中心に展開されています。その他の考慮事項には、ワークロードに最適なスループットモードの選択、AWS SDK によるチューニング、および必要な場合は、最適なキャッシュ戦略の使用などがあります。これらの設計原則の詳細については、DynamoDB の Well-Architected レンズのパフォーマンス効率の柱に関するこのディープダイブビデオをご覧ください。

コスト最適化の柱

コスト最適化の柱は、不必要なコストを回避することに焦点を当てています。

主なトピックは、資金の用途の把握と管理、最適なリソースタイプとその適切な数の選択、経時的な支出の分析、アプリケーション固有のアクセスパターンに応じてコストを最適化するデータモデルの設計、浪費することなくビジネスニーズを満たすためのスケーリングです。

DynamoDB の主なコスト最適化設計原則は、テーブルに最適なキャパシティモードとテーブルクラスの選択、オンデマンドキャパシティモードまたは自動スケーリングを使用するプロビジョンドキャパシティモードのいずれかを使用したキャパシティの過剰プロビジョニングの回避を中心に展開されています。その他の考慮事項には、効率的なデータモデリングとクエリによる消費される容量の削減、消費容量の一部の割引価格での予約、項目サイズの最小化、未使用のリソースの特定と削除、TTL を使用した古くなったデータの無料の自動削除などがあります。これらの設計原則の詳細については、DynamoDB の Well-Architected レンズのコスト最適化の柱に関するこのディープダイブビデオをご覧ください。

DynamoDB のコスト最適化のベストプラクティスの詳細については、「DynamoDB テーブルのコストの最適化」を参照してください。

運用上の優秀性の柱

運用上の優秀性の柱では、ビジネス価値をもたらし、プロセスと手順の継続的な向上を実現するために、システムを実行およびモニタリングすることに焦点を当てています。主なトピックは、変更の自動化、イベントへの対応、日常業務を管理するための標準の定義です。

DynamoDB の運用上の優秀性の主な設計原則は、Amazon CloudWatch および AWS Config を通じて DynamoDB メトリックスを監視すること、事前に定義されたしきい値に違反した場合や準拠していないルールが検出された場合に自動的に警告して修正することです。その他の考慮事項としては、インフラストラクチャ経由の DynamoDB リソースをコードとして定義し、タグを活用して DynamoDB リソースの整理、識別、およびコスト計算を改善することがあります。これらの設計原則の詳細については、DynamoDB の Well-Architected レンズの運用上の優秀性の柱に関するこのディープダイブビデオをご覧ください。

信頼性の柱

信頼性の柱では、期待されるときにワークロードが意図された機能を正しく一貫して実行することを重視しています。回復力のあるワークロードは、障害から迅速に復旧し、ビジネスや顧客の需要を満たします。主なトピックは、分散システムの設計、復旧計画、および変更への対応方法です。

DynamoDB の信頼性の基本的な設計原則は、RPO と RTO の要件に基づいたバックアップ戦略と保持を選択すること、DynamoDB グローバルテーブルをマルチリージョンのワークロードや低 RTO のクロスリージョンのディザスタリカバリシナリオに使用すること、AWS SDK でこれらの機能を設定して使用することにより、アプリケーションにエクスポネンシャルバックオフを伴う再試行ロジックを実装すること、Amazon CloudWatch を通じて DynamoDB メトリックスを監視すること、および事前に定義されたしきい値が違反した場合は自動的にアラートと修正を行うことです。これらの設計原則の詳細については、DynamoDB の Well-Architected レンズの信頼性の柱に関するこのディープダイブビデオをご覧ください。

セキュリティの柱

セキュリティの柱は、情報とシステムの保護に焦点を当てています。主なトピックは、データの機密性と完全性、権限管理による誰が何を実行できるのかの特定と管理、システムの保護、セキュリティイベントを検出するための制御の確立です。

DynamoDB のセキュリティの主な設計原則は、転送中のデータを HTTPS で暗号化すること、保管中のデータを暗号化するためのキーの種類を選択すること、DynamoDB リソースに対して認証および承認を行い、きめ細かなアクセスを提供するための IAM ロールとポリシーを定義することです。その他の考慮事項は、AWS CloudTrail を通じた DynamoDB のコントロールプレーンオペレーションとデータプレーンオペレーションです。これらの設計原則の詳細については、DynamoDB の Well-Architected レンズのセキュリティの柱に関するこのディープダイブビデオをご覧ください。

DynamoDBのセキュリティの詳細については、「Amazon DynamoDB のセキュリティとコンプライアンス」を参照してください。

持続可能性の柱

持続可能性の柱は、クラウドワークロードの実行による環境に対する影響を最小限に抑えることに重点を置いています。主なトピックは、持続可能性に関する責任共有モデル、影響の把握、必要なリソースを最小限に抑えてダウンストリームへの影響を軽減するための使用率の最大化です。

DynamoDB の持続可能性の主な設計原則は、未使用の DynamoDB リソースを特定して削除すること、自動スケーリングによってオンデマンドキャパシティモードまたはプロビジョニンドキャパシティモードを使用することでオーバープロビジョニングを回避すること、消費されるキャパシティの量を減らすための効率的なクエリ、TTL を使用してデータを圧縮し、古くなったデータを削除することでストレージのフットプリントを減らすことです。これらの設計原則の詳細については、DynamoDB の Well-Architected レンズの持続可能性の柱に関するこのディープダイブビデオをご覧ください。