254-AWS SAP AWS 「理論・実践・一問道場」オンデマンドキャパシティモード

 

理論

1. DynamoDBのキャパシティモード

以下に、オンデマンドキャパシティモードプロビジョンドキャパシティモードを使った実例を挙げて、それぞれの特徴を示します。

実例 1: オンデマンドキャパシティモード

シナリオ: 新しいオンラインショッピングサイトを立ち上げた企業。サイトのアクセス数は予測できない。特に新製品のリリース時には急激にアクセスが増加することが予想される。
使用するモード: オンデマンドキャパシティモード
理由:
  • サイトのアクセス数が予測できないため、オンデマンドモードを使用すると、トラフィックに応じてDynamoDBが自動的にスケーリングします。
  • 特にプロモーションや新製品リリース時など、突発的にアクセスが急増する可能性があるため、事前にキャパシティを設定することなく、負荷に対応できるオンデマンドキャパシティが適しています。
結果:
  • アクセス数が増えても、DynamoDBがリアルタイムで自動的にスケールアップします。
  • ユーザーがキャパシティを気にする必要なく、コストは使用した分だけに基づいて課金されるため、急なトラフィックの変動にも柔軟に対応可能です。

実例 2: プロビジョンドキャパシティモード + オートスケーリング

シナリオ: 大手eコマースプラットフォームが、日々のトランザクションデータを扱うためのデータベースを構築。アクセスのパターンが比較的予測可能で、ピーク時間帯(例えば、昼休みや夜の時間帯)にアクセスが集中する。
使用するモード: プロビジョンドキャパシティモード + オートスケーリング
理由:
  • アクセスパターンが予測可能であるため、プロビジョンドキャパシティモードを使用して、通常時のトラフィックに必要なキャパシティを設定します。
  • オートスケーリングを設定することで、昼休みや夜間などのピーク時に自動的にキャパシティを増加させ、トラフィックの変動に対応します。アクセスが少ない時間帯にはリソースを減らしてコストを削減します。
  • 最小キャパシティ: RCU 50、WCU 20
  • 最大キャパシティ: RCPU 100、WCPU 40
  • ターゲット利用率: 70%
結果:
  • 通常時のトラフィックに対して最適なキャパシティを維持し、ピーク時には自動的にキャパシティを増加させることで、リソースの効率的な利用が可能です。
  • オートスケーリングにより、ピーク時でもパフォーマンスが維持され、過剰なリソースを使わずにコストを抑えることができます。

比較

  • オンデマンドキャパシティモード: トラフィックの予測が難しい場合や、予期しないアクセス増加に対応するために有効。設定なしでスケーリングし、柔軟性が高いが、コストが高くなる可能性もある。
  • プロビジョンドキャパシティモード + オートスケーリング: アクセスパターンが予測でき、ピーク時間帯のトラフィックに応じてキャパシティを動的に調整したい場合に有効。リソースを効率よく管理し、コスト最適化が可能。
このように、状況に応じてどちらのモードを選ぶかが重要です。

2. オートスケーリング

オートスケーリングは、プロビジョンドキャパシティモードで設定したキャパシティの使用状況に応じて、リソースを自動で増減させます。これにより、過剰なリソースを使用せず、必要なときにだけスケールアップすることができます。

3. コスト最適化

  • DAXElastiCacheは、読み取り性能を向上させるために使用され、リクエスト回数を減らすことでコスト削減が可能です。
  • プロビジョンドキャパシティモードとオートスケーリングを組み合わせると、リソースを無駄なく管理でき、コストを効率的に抑えることができます。

4. パフォーマンスとコストのバランス

  • オンデマンドキャパシティモードは簡単にスケーリングできますが、予測可能なトラフィックに対してはプロビジョンドキャパシティモードとオートスケーリングの方がコスト効果が高くなります。
  • DAXなどのキャッシュサービスは、頻繁にアクセスされるデータの読み取りパフォーマンスを向上させ、DynamoDBへの負荷を減らし、コスト削減を助けます。

実践

一問道場

問題 #254 トピック 1
ある金融サービス会社が、数百万件の過去の株式取引データをAmazon DynamoDBテーブルにロードしました。このテーブルはオンデマンドキャパシティモードを使用しています。毎日午前0時に数百万件の新しいレコードがテーブルにロードされます。アプリケーションの読み取りアクティビティは、1日の中で断続的に発生し、限られたキーが繰り返し参照されます。会社はDynamoDBに関連するコストを削減する必要があります。
どの戦略をソリューションアーキテクトは推奨すべきですか?
A. DynamoDBテーブルの前にAmazon ElastiCacheクラスターをデプロイする
B. DynamoDB Accelerator (DAX)をデプロイする。DynamoDBオートスケーリングを設定する。Cost Explorerでセービングプランを購入する。
C. プロビジョンドキャパシティモードを使用する。Cost Explorerでセービングプランを購入する。
D. DynamoDB Accelerator (DAX)をデプロイする。プロビジョンドキャパシティモードを使用する。DynamoDBオートスケーリングを設定する。

解説

正解はDです。
理由:
  • DAXで頻繁に参照されるデータをキャッシュし、読み取り性能を向上させます。
  • プロビジョンドキャパシティモードで、安定したリソースを確保し、予測可能なコスト管理ができます。
  • オートスケーリングでリソースを柔軟に調整し、効率的なコスト管理を実現します。
この組み合わせが最も効果的にコスト削減を達成します。
 
A. DynamoDBテーブルの前にAmazon ElastiCacheクラスターをデプロイする
  • ElastiCacheは読み取りのパフォーマンスを向上させますが、DynamoDBのキャパシティ管理やコスト削減に直接的な影響を与えません。また、ElastiCacheはDynamoDBのキャパシティモードとは異なり、コスト削減に最適な戦略ではありません。
B. DynamoDB Accelerator (DAX)をデプロイする。DynamoDBオートスケーリングを設定する。Cost Explorerでセービングプランを購入する。
  • DAXとオートスケーリングは有効ですが、プロビジョンドキャパシティモードを選ばず、セービングプランを購入するだけでは、安定したコスト削減には不十分です。
C. プロビジョンドキャパシティモードを使用する。Cost Explorerでセービングプランを購入する。
  • プロビジョンドキャパシティは確実ですが、DAXを使わないため、読み取りパフォーマンスが最適化されません。コスト削減には効果的ではありますが、全体のパフォーマンス向上が欠けます。
255-AWS SAP AWS 「理論・実践・一問道場」NACL253-AWS SAP AWS 「理論・実践・一問道場」メモリ最適化インスタンス ゲーム
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録