Q16 — AWS SAA-C03 第5章
第 16/65 問 | ← 第5章
Q316. ある会社では、Amazon EC2インスタンス上でJavaベースのジョブを実行しています。このジョブは毎時実行され、実行時間は10秒です。ジョブはスケジュールされた間隔で実行され、1 GBのメモリを消費します。EC2インスタンスのCPU使用率は、ジョブ実行時の短時間のピーク(その際、利用可能な最大CPUを使用)を除き、非常に低い状態です。同社は、このジョブの実行コストを最適化したいと考えています。これらの要件を満たすソリューションはどれですか?
- A. AWS App2Container (A2C) を使用してジョブをコンテナ化し、0.5 vCPU および 1 GB のメモリを割り当てた Amazon Elastic Container Service (Amazon ECS) タスクとして AWS Fargate 上で実行する
- B. コードを、1 GB のメモリが割り当てられた AWS Lambda 関数にコピーし、Amazon EventBridge のスケジュールルールを作成して、毎時そのコードを実行する ✓
- C. AWS App2Container (A2C) を使用してジョブをコンテナ化し、そのコンテナを既存の Amazon Machine Image (AMI) にインストールする。また、ジョブ終了時にコンテナを自動停止するようスケジュールを設定する
- D. 既存のスケジュールを変更し、ジョブ完了時にEC2インスタンスを停止し、次のジョブ開始時に再起動するように設定する
正解: B. コードを、1 GB のメモリが割り当てられた AWS Lambda 関数にコピーし、Amazon EventBridge のスケジュールルールを作成して、毎時そのコードを実行する
解説
AWS Lambda はワークロードに応じて自動的にリソースをスケーリングするため、基盤となるインフラストラクチャの管理を意識する必要がありません。このケースでは、構成されたメモリサイズ(1 GB)に基づいて必要なコンピューティングリソースが自動的にプロビジョニングされ、サーバーレス環境でジョブが実行されます。また、Amazon EventBridge を使用することで、毎時Lambda関数を起動するスケジュールルールを作成でき、所定の間隔でジョブを確実に実行できます。