Q3 — AWS SAA-C03 第1章
第 3/65 問 | ← 第1章
Q3. ソリューションアーキテクトが、AWS上にデプロイされる新しいアプリケーションのクラウドアーキテクチャを設計しています。この処理は並列実行され、処理すべきジョブ数に応じて、アプリケーションノードを動的に追加・削除する必要があります。プロセッサアプリケーションはステートレスです。ソリューションアーキテクトは、アプリケーションが疎結合(ローズリーコープルド)であることを保証し、ジョブ項目が耐久的に保存されることを確実にする必要があります。ソリューションアーキテクトが採用すべき設計はどれですか?
- A. 処理が必要なジョブを送信するためのAmazon SNSトピックを作成します。プロセッサアプリケーションを含むAmazon Machine Image(AMI)を作成します。そのAMIを使用する起動設定(launch configuration)を作成します。起動設定を用いてAuto Scalingグループを作成します。Auto Scalingグループのスケーリングポリシーを、CPU使用率に基づいてノードを追加・削除するように設定します。
- B. 処理が必要なジョブを保持するためのAmazon SQSキューを作成します。プロセッサアプリケーションを含むAmazon Machine Image(AMI)を作成します。そのAMIを使用する起動設定(launch configuration)を作成します。起動設定を用いてAuto Scalingグループを作成します。Auto Scalingグループのスケーリングポリシーを、ネットワーク使用率に基づいてノードを追加・削除するように設定します。
- C. 処理が必要なジョブを保持するためのAmazon SQSキューを作成します。プロセッサアプリケーションを含むAmazon Machine Image(AMI)を作成します。そのAMIを使用する起動テンプレート(launch template)を作成します。起動テンプレートを用いてAuto Scalingグループを作成します。Auto Scalingグループのスケーリングポリシーを、SQSキュー内のアイテム数に基づいてノードを追加・削除するように設定します。 ✓
- D. 処理が必要なジョブを送信するためのAmazon SNSトピックを作成します。プロセッサアプリケーションを含むAmazon Machine Image(AMI)を作成します。そのAMIを使用する起動テンプレート(launch template)を作成します。起動テンプレートを用いてAuto Scalingグループを作成します。Auto Scalingグループのスケーリングポリシーを、SNSトピックに公開されたメッセージ数に基づいてノードを追加・削除するように設定します。
正解: C. 処理が必要なジョブを保持するためのAmazon SQSキューを作成します。プロセッサアプリケーションを含むAmazon Machine Image(AMI)を作成します。そのAMIを使用する起動テンプレート(launch template)を作成します。起動テンプレートを用いてAuto Scalingグループを作成します。Auto Scalingグループのスケーリングポリシーを、SQSキュー内のアイテム数に基づいてノードを追加・削除するように設定します。
解説
並列実行が必要で、処理すべきジョブ数に応じてノードを動的に追加・削除し、かつ疎結合でジョブ項目を耐久的に保存する必要があるアプリケーションのクラウドアーキテクチャを設計する場合、各選択肢を検討します。 A:Amazon SNS(Simple Notification Service)は、主にプッシュ/サブスクライブ型の通知配信に適しており、ジョブ項目の耐久的キューイングやストレージには不向きです。また、CPU使用率に基づくスケーリングは、処理すべきジョブ数という本要件と直接関係ありません。 B:Amazon SQS(Simple Queue Service)は、ジョブ項目の耐久的保存およびキューイングに適した選択ですが、ネットワーク使用率に基づくスケーリングは、キュー内のジョブ数というより関連性の高い指標とは無関係です。 C:Amazon SQSによるジョブの耐久的保存・キューイングと、SQSキュー内のアイテム数に基づくAuto Scalingグループのスケーリングを組み合わせており、処理すべきジョブ数に応じたノードの動的増減という要件を直接満たします。また、起動設定(launch configuration)ではなく起動テンプレート(launch template)を用いる点も、より柔軟かつ動的なAuto Scalingグループ運用のベストプラクティスに合致します。 D:Amazon SNSは前述の通り、ジョブの耐久的キューイングには不適です。さらに、SNSトピックへのメッセージ公開数に基づくスケーリングは、実際に処理待ちのジョブ数を反映しておらず、本要件には適合しません。 結論:提示された要件に最も適した設計は、選択肢Cです。すなわち、「処理が必要なジョブを保持するためのAmazon SQSキューを作成し、プロセッサアプリケーションを含むAMIを作成し、そのAMIを使用する起動テンプレートを作成し、それを用いてAuto Scalingグループを作成する」方法です。