195-AWS SAP AWS 「理論・実践・一問道場」C5

 

理論

1. 高パフォーマンスコンピューティング (HPC)

  • HPCは、非常に計算能力を要求するタスク、例えばリアルタイムでのデータ処理やゲームのレンダリングに使用されます。AWSでは、C5M5インスタンスがHPC向けに最適化されています。
  • C5インスタンスは計算処理向け、M5インスタンスはバランスの取れた性能を提供します。

2. Amazon EC2インスタンス

  • On-Demandインスタンスは、必要なときに利用し、使用していないときには支払わない料金体系です。安定性が必要なアプリケーションに適しています。
  • Spotインスタンスは余剰キャパシティを利用し、低コストで提供されますが、突然中断されるリスクがあります。リアルタイム性が要求されるアプリケーションには不向きです。

3. ElastiCache for Redis

  • ElastiCache for Redisはインメモリキャッシュサービスで、特にリアルタイムで頻繁に更新されるデータ(リーダーボードなど)の管理に最適です。低レイテンシで高いスループットを提供し、データの読み書き速度が非常に速いため、ゲームのようなアプリケーションに最適です。

4. データベースとストレージ

  • DynamoDBはフルマネージドなNoSQLデータベースで、高いスケーラビリティを持ちますが、低レイテンシが求められるリアルタイムのデータ更新にはElastiCacheの方が優れています。
  • OpenSearchは検索エンジンに特化しており、ゲームのようなリアルタイム更新には不向きです。

5. オートスケーリング

  • オートスケーリングを使用することで、負荷の増加に対応してインスタンス数を自動的に調整できます。これにより、ピーク時のトラフィックにも柔軟に対応可能となります。

結論

ゲームプラットフォームなど、リアルタイムでデータの更新が頻繁に行われる場合、低レイテンシでキャッシュ機能を提供するElastiCache for Redisの使用が重要です。また、計算リソースとしてはOn-Demand EC2インスタンスを選択することで、安定したパフォーマンスが保証されます。

実践

一問道場

オンラインゲーム会社は、ゲームプラットフォームをAWSに再ホストする必要があります。この会社のゲームアプリケーションは高性能コンピューティング(HPC)処理が必要で、リーダーボードは頻繁に変更されます。ゲーム表示用のNode.jsアプリケーションをホストするために、Ubuntuインスタンスが計算最適化されて実行されています。ゲームの状態は、オンプレミスのRedisインスタンスで追跡されています。この会社は、アプリケーションのパフォーマンスを最適化するための移行戦略が必要です。
どのソリューションがこの要件を満たしますか?
A.
m5.largeのAmazon EC2 SpotインスタンスをAuto Scalingグループで作成し、アプリケーションロードバランサーの背後で使用します。リーダーボードを維持するために、Amazon ElastiCache for Redisクラスターを使用します。
B.
c5.largeのAmazon EC2 SpotインスタンスをAuto Scalingグループで作成し、アプリケーションロードバランサーの背後で使用します。リーダーボードを維持するために、Amazon OpenSearch Serviceクラスターを使用します。
C.
c5.largeのAmazon EC2 On-DemandインスタンスをAuto Scalingグループで作成し、アプリケーションロードバランサーの背後で使用します。リーダーボードを維持するために、Amazon ElastiCache for Redisクラスターを使用します。
D.
m5.largeのAmazon EC2 On-DemandインスタンスをAuto Scalingグループで作成し、アプリケーションロードバランサーの背後で使用します。リーダーボードを維持するために、Amazon DynamoDBテーブルを使用します。

解説

この問題では、ゲームプラットフォームのAWSへの再ホストにおける最適な移行戦略を選ぶ必要があります。以下でそれぞれの選択肢について解説します。

A. m5.largeのEC2 Spotインスタンス + ElastiCache for Redis

  • m5.largeのEC2 Spotインスタンスは、コスト効率が高く、計算処理が多いゲームアプリケーションに適している選択肢です。ただし、Spotインスタンスは一時的に中断される可能性があるため、ゲームのリアルタイム性が要求される場合には注意が必要です。
  • ElastiCache for Redisは、低レイテンシでの高速なデータアクセスが可能で、ゲームのリーダーボードのような頻繁に更新されるデータに適しています。Redisはインメモリデータベースであり、リーダーボードを高パフォーマンスで維持できます。
  • 利点: 高パフォーマンス、コスト効率、頻繁なデータ更新に対応できる。
  • 欠点: Spotインスタンスは中断のリスクがあるため、安定性を重視する場合には、On-Demandインスタンスの方が適している場合があります。

B. c5.largeのEC2 Spotインスタンス + OpenSearch Service

  • c5.largeのEC2 Spotインスタンスは、計算性能に特化したインスタンスであり、ゲームアプリケーションに適しています。ただし、Spotインスタンスの不安定さが懸念されます。
  • Amazon OpenSearch Serviceは、検索エンジンとしては優れていますが、リーダーボードのような頻繁なデータ更新や高頻度の書き込みにはRedisの方が適しています。
  • 利点: 高い計算能力と検索機能。
  • 欠点: リーダーボードの管理には不向き(Redisの方が適切)。OpenSearchは主に検索エンジン用途です。

C. c5.largeのEC2 On-Demandインスタンス + ElastiCache for Redis

  • c5.largeのEC2 On-Demandインスタンスは、安定した計算能力を提供します。On-DemandインスタンスはSpotインスタンスより高価ですが、安定性が求められるゲームアプリケーションには適しています。
  • ElastiCache for Redisは、頻繁に更新されるデータ(リーダーボード)に最適で、低レイテンシのアクセスが可能です。
  • 利点: 安定したインスタンスと高パフォーマンスなデータストレージ(Redis)。
  • 欠点: コストが高くなる可能性がありますが、安定性を重視する場合には適切な選択です。

D. m5.largeのEC2 On-Demandインスタンス + DynamoDB

  • m5.largeのEC2 On-Demandインスタンスは、安定した計算能力を提供しますが、コストが高くなる場合があります。
  • DynamoDBはスケーラブルでフルマネージドなNoSQLデータベースですが、リーダーボードのような頻繁に更新されるデータには適していない可能性があります。Redisの方が低レイテンシで、ゲームのようなリアルタイムなデータ更新に適しています。
  • 利点: 高いスケーラビリティと管理の簡便さ。
  • 欠点: リーダーボードのようなリアルタイム性が求められるデータに対しては、Redisよりパフォーマンスが劣る場合があります。

結論

最適なソリューションは C です。理由としては、安定した On-Demandインスタンス と、リーダーボードの頻繁な更新を効率的に処理できる ElastiCache for Redis を組み合わせることで、アプリケーションのパフォーマンスを最大化できるからです。また、EC2のOn-Demandインスタンスを使用することで、安定性を確保できます。
196-AWS SAP AWS 「理論・実践・一問道場」194-AWS SAP AWS 「理論・実践・一問道場」S3 マルチリージョンアクセスポイント
Loading...