AWS認定ソリューションアーキテクトアソシエイト【SAA-C03版】200題 問題集全問解答+全問解説付き
AWS認定ソリューションアーキテクトアソシエイト【SAA-C03版】の過去問200題を全問解答+全問解説付き
Solutions Architect(Associate)【SAA-C03版】の最新の問題になります。
筆者が実際に受験して、問題を収集し解答とその解説を全問付けております。
問題数は合計200題。
実際に受験し、重複問題や類似問題を削除しています。
この200問の問題の解答を理解できれば、ほぼ間違いなく、合格すると思います。
ここから問題と解答/解説になります。
200題、全問解答+全問解説付きになります。
1.
あなたが働いている新興企業には、現在 EC2 インスタンスでホストされているバッチ ジョブ アプリケーションがあります。デフォルト設定で SQS で作成されたキューからのメッセージを処理するように設定されています。週に 1 回メッセージを処理するようにアプリケーションを構成しました。2 週間後、すべてのメッセージがアプリケーションによって処理されているわけではないことに気付きました。
この問題の根本的な原因は何ですか?
A. SQS にアクセス許可がありません。
B. SQS キューはショートポーリングに設定されています。
C. バッチ ジョブ アプリケーションはロング ポーリングに設定されています。
D. Amazon SQS は、最大メッセージ保持期間を超えてキューにあったメッセージを自動的に削除しました。
正解:D
解説:
A. SQS にアクセス許可がありません。
この選択肢は不正解です。もしSQSにアクセス許可がなければ、アプリケーションは最初からメッセージを受け取ることができないはずです。しかし、問題のシナリオでは、メッセージが部分的には処理されているという点が述べられています。
B. SQS キューはショートポーリングに設定されています。
この選択肢は不正解です。ショートポーリングはSQSキューからのメッセージの取得方法の1つです。ショートポーリングでは、メッセージの取得が速いですが、一度のリクエストで全てのメッセージを受け取る保証はありません。しかし、これが問題の根本的な原因とは考えにくいです。
C. バッチ ジョブ アプリケーションはロング ポーリングに設定されています。
この選択肢は不正解です。ロングポーリングはSQSキューからのメッセージの取得方法の1つで、ショートポーリングよりも効率的なメッセージの受け取りが可能です。これはキューからのメッセージを効率的に受け取るための方法であるため、この設定が問題の原因とはなりません。
D. Amazon SQS は、最大メッセージ保持期間を超えてキューにあったメッセージを自動的に削除しました。
この選択肢は正解です。SQSのキューに格納されたメッセージには「最大メッセージ保持期間」という属性があり、この期間を超えるとメッセージは自動的に削除されます。問題のシナリオにおいて、アプリケーションは週に1回しかメッセージを処理しない設定であり、その結果、2週間放置されたメッセージは最大保持期間を超えて削除された可能性が高いです。
2.
AWSのサービスを使用してウェブアプリケーションを構築する際、次のうちステートフルなコンポーネントとして最も適切なものはどれですか?
A. Amazon S3
B. Amazon DynamoDB
C. Amazon ElastiCache
D. Amazon CloudFront
解答: C
解説:
A. Amazon S3: Amazon S3は、オブジェクトストレージサービスであり、ステートレスなコンポーネントとして使用されます。S3はファイルの保存と取得に使用され、アプリケーションの状態を保持するためには適していません。
B. Amazon DynamoDB: Amazon DynamoDBは、NoSQLデータベースサービスであり、ステートレスなコンポーネントとして使用されます。DynamoDBは、アプリケーションのデータを保存するために使用されますが、キャッシュやセッション情報などの一時的な状態を保持するためには適していません。
C. Amazon ElastiCache: Amazon ElastiCacheは、インメモリキャッシュサービスであり、ステートフルなコンポーネントとして使用されます。ElastiCacheは、頻繁にアクセスされるデータをメモリ上に保持し、低レイテンシーでデータにアクセスすることができます。セッション情報やショッピングカートの内容などの一時的な状態を保持するために適しています。
D. Amazon CloudFront: Amazon CloudFrontは、コンテンツ配信ネットワーク(CDN)サービスであり、ステートレスなコンポーネントとして使用されます。CloudFrontは、静的コンテンツやメディアファイルをキャッシュし、エンドユーザーに高速に配信するために使用されます。アプリケーションの状態を保持するためには適していません。
3.
ある企業は AWS でインフラストラクチャを実行しており、res ドキュメント管理アプリケーション用に 700.000 人のユーザーが登録されています。この企業は、大きな PDF ファイルを jpg Imago ファイルに変換する製品を作成する予定です。.pdf ファイルのサイズは平均 5 MB です。会社は元のファイルと変換されたファイルを保存する必要があります。
ソリューション アーキテクトは、短期間で急速に拡大する需要に対応できるスケーラブルなソリューションを設計する必要があります。
これらの要件を最も費用対効果の高い方法で満たすソリューションはどれですか?
A. Amazon EC2 インスタンス、Amazon Elastic File System (Amazon EPS) ストレージ、および Auto Scaling グループを含む AWS Elastic Beanstalk アプリケーションに .pdf ファイルをアップロードします。EC2 インスタンスのプログラムを使用して、ファイルを jpg 形式に変換します。pdf ファイルと jpg ファイルを EBS ストアに保存します。
B. PDF ファイルを Amazon S3 に保存する S3 PUT イベントを設定して、AWS Lambda 関数を呼び出してファイルを jpg 形式に変換し、Amazon S3 に保存します。
C. Amazon EC2 インスタンスを含む AWS Elastic Beanstalk アプリケーションに PDF ファイルをアップロードします。
Amazon Elastic Block Store (Amazon EBS) ストレージと Auto Scaling グループ。EC2 インスタンスでプログラムを使用して、ファイルを jpg 形式に変換します。 .pdf ファイルと .jpg ファイルを EBS ストアに保存します。
D. PDF ファイルを Amazon DynamoDB に保存します。DynamoDB Streams 機能を使用して AWS Lambda 関数を呼び出し、ファイルを jpg 形式に変換して DynamoDB に保存します。
正解:A
解説です:
A. Amazon EC2 インスタンス、Amazon Elastic File System (Amazon EFS) ストレージ、および Auto Scaling グループを含む AWS Elastic Beanstalk アプリケーションに .pdf ファイルをアップロードします。EC2 インスタンスのプログラムを使用して、ファイルを jpg 形式に変換します。pdf ファイルと jpg ファイルを EFS ストアに保存します。
このオプションはElastic Beanstalkを使用してスケーラブルな環境を提供し、EFSを使用して共有ストレージとしてファイルを保存すると提案しています。EFSは複数のEC2インスタンスから同時にアクセス可能な共有ファイルストレージであり、要件を満たすソリューションを提供します。
B. PDF ファイルを Amazon S3 に保存する S3 PUT イベントを設定して、AWS Lambda 関数を呼び出してファイルを jpg 形式に変換し、Amazon S3 に保存します。
このオプションは、サーバーレスの変換ソリューションを提供しますが、大きなファイルの変換にはLambdaの実行時間の制限があるため、この選択肢は最も適切ではありません。
C. Amazon EC2 インスタンスを含む AWS Elastic Beanstalk アプリケーションに PDF ファイルをアップロードします。 Amazon Elastic Block Store (Amazon EBS) ストレージと Auto Scaling グループ。EC2 インスタンスでプログラムを使用して、ファイルを jpg 形式に変換します。 .pdf ファイルと .jpg ファイルを EBS ストアに保存します。
EBSはブロックレベルのストレージで、各ボリュームは単一のEC2インスタンスにアタッチされるため、この選択肢はスケーラビリティの観点から最も適切ではありません。
D. PDF ファイルを Amazon DynamoDB に保存します。DynamoDB Streams 機能を使用して AWS Lambda 関数を呼び出し、ファイルを jpg 形式に変換して DynamoDB に保存します。
DynamoDBはキーバリューおよびドキュメントデータベースであり、大規模なバイナリファイルの保存には適していません。この選択肢は要件を満たさないため、不適切です。
4.
EC2 インスタンスの 1 つが、異常なシステム ステータス チェックを報告しています。運用チームは、これらのインスタンスを手動で修正するのではなく、より簡単に監視および修復する方法を探しています。
AWS 環境でのシステム ステータス チェックの失敗の監視と修復をどのように自動化しますか?
A. ステータス チェック アラームに基づいてインスタンスを停止および開始する CloudWatch アラームを作成します。
B. サードパーティの監視ツールを購入して実装します。
C. 特定の統計に基づいてインスタンスを定期的にシャットダウンおよび起動するシェル スクリプトを記述します。
D. インスタンスのステータス チェックごとに EC2 API にクエリを実行する Python スクリプトを記述します。
正解:A
解説です:
A. ステータス チェック アラームに基づいてインスタンスを停止および開始する CloudWatch アラームを作成します。
AWS CloudWatchは、AWSリソースのパフォーマンスと利用状況を監視するためのサービスです。CloudWatch アラームを使用すると、特定のしきい値が超えた場合にアクションをトリガーできます。この場合、異常なシステムステータスチェックに基づいてインスタンスを自動的に停止および開始することで問題を修復することができます。
B. サードパーティの監視ツールを購入して実装します。
この選択肢は、AWSに既に組み込まれている機能を使用せずに外部のツールを導入することを提案しています。この方法は追加のコストや複雑さを導入する可能性があります。
C. 特定の統計に基づいてインスタンスを定期的にシャットダウンおよび起動するシェル スクリプトを記述します。
この方法は手動での監視と介入を必要とし、自動化の目的に合致していません。
D. インスタンスのステータス チェックごとに EC2 API にクエリを実行する Python スクリプトを記述します。
この選択肢は、EC2 APIを直接クエリするカスタムスクリプトを記述することを提案しています。これは自動化の一形態ではありますが、CloudWatchのような既存のサービスを利用した方が効果的である場合が多いです。
正解はAです。CloudWatch アラームを使用して異常なシステムステータスチェックに基づくアクションを自動化することは、AWS環境での効率的なアプローチです。
5.
新興企業には、Web アプリケーションをホストする EC2 インスタンスがあります。ユーザー数は今後数か月で増加すると予想されるため、AWS アーキテクチャに弾力性とスケーラビリティを追加して需要に対応する必要があります。
次のオプションのうち、特定のシナリオで上記の要件を満たすことができるのはどれですか? (2 つ選択してください。)
A. 2 つの EC2 インスタンスをセットアップし、Route 53 を使用して加重ルーティング ポリシーに基づいてトラフィックをルーティングします。
B. 2 つの EC2 インスタンスをセットアップし、Elastic Load Balancer (ELB) の背後に配置します。
C. EC2 インスタンスの背後に AWS WAF をセットアップします。
D. Launch Templates を使用してデプロイされ、AWS Glue と統合された 2 つの EC2 インスタンスをセットアップします。
E. EC2 インスタンスの前に S3 キャッシュをセットアップします。
正解:A,B
解説です:
A. 2 つの EC2 インスタンスをセットアップし、Route 53 を使用して加重ルーティング ポリシーに基づいてトラフィックをルーティングします。
この選択肢は、AWSのRoute 53を使用してトラフィックを2つのEC2インスタンスに分散する方法を提案しています。加重ルーティングポリシーを使用することで、特定のトラフィックの量を各インスタンスにルーティングすることができるため、弾力性とスケーラビリティの向上に寄与します。
B. 2 つの EC2 インスタンスをセットアップし、Elastic Load Balancer (ELB) の背後に配置します。
Elastic Load Balancer (ELB)は、入ってくるアプリケーショントラフィックを複数のターゲット(EC2インスタンス、コンテナ、IPアドレスなど)に自動的に分散するサービスです。これにより、アプリケーションの可用性と容量を高めることができます。
C. EC2 インスタンスの背後に AWS WAF をセットアップします。
AWS WAFはWebアプリケーションファイアウォールであり、Webアプリケーションを悪意のあるトラフィックから保護します。しかし、このサービスは弾力性やスケーラビリティの要件を直接満たすものではありません。
D. Launch Templates を使用してデプロイされ、AWS Glue と統合された 2 つの EC2 インスタンスをセットアップします。
Launch Templatesは、EC2インスタンスのデプロイの設定を保存・再利用するためのものです。AWS GlueはETLサービスです。この選択肢は、弾力性やスケーラビリティに関する直接的な要件を満たしません。
E. EC2 インスタンスの前に S3 キャッシュをセットアップします。
S3はオブジェクトストレージサービスで、キャッシュとしての役割は提供しません。この選択肢も弾力性やスケーラビリティの要件を直接満たしません。
正解はAとBです。これらの選択肢は、弾力性とスケーラビリティを提供する方法を提案しています。
6.
ある会社は、アプリケーションを AWS に移行中です。彼らのシステムの 1 つは、グローバルに拡張でき、頻繁なスキーマ変更を処理できるデータベースを必要とします。データベースでスキーマが変更されても、アプリケーションのダウンタイムやパフォーマンスの問題は発生しません。また、トラフィックの多いクエリに対して低レイテンシの応答を提供する必要があります。
この要件を達成するために使用するのに最も適したデータベース ソリューションはどれですか?
A. マルチ AZ 配置構成の Amazon RDS インスタンス
B. Amazon DynamoDB
C. redshift
D. リードレプリカを備えた Amazon Aurora データベース
正解:B
解説です:
A. マルチ AZ 配置構成の Amazon RDS インスタンス
Amazon RDSはリレーショナルデータベースサービスであり、マルチAZ構成では高可用性を提供します。しかし、頻繁なスキーマの変更やグローバルなスケーラビリティに関しては、RDSは最も適した選択肢ではありません。
B. Amazon DynamoDB
DynamoDBは完全にマネージドされたNoSQLデータベースサービスであり、グローバルに拡張可能で、スキーマレスであるため、頻繁なスキーマ変更を容易に取り扱うことができます。また、低レイテンシの応答を提供することができるため、このシナリオの要件を満たすのに最適です。
C. Redshift
Amazon Redshiftはデータウェアハウジングサービスであり、ビッグデータの分析に特化しています。頻繁なスキーマの変更や低レイテンシの要件を持つアプリケーションのバックエンドデータベースとして使用するのには向いていません。
D. リードレプリカを備えた Amazon Aurora データベース
Amazon AuroraはRDSの高性能バージョンであり、リードレプリカを使用して読み取り性能を向上させることができます。しかし、頻繁なスキーマの変更を容易に取り扱うことができるわけではなく、このシナリオの要件を完全に満たすわけではありません。
正解はBのAmazon DynamoDBです。DynamoDBは、このシナリオで述べられている要件を満たすための特性を持っています。
7.
ある企業は、Amazon S3 を使用して機密監査文書を保存しています。S3 バケットは、バケット ポリシーを使用して、最小権限の原則に従って、監査チームの IAM ユーザー資格情報へのアクセスを制限します。会社の管理者は、S3 バケット内のドキュメントが誤って削除されることを心配しており、より安全なソリューションを求めています。
監査文書を保護するために、ソリューション アーキテクトは何をすべきですか?
A. 各監査チーム IAM ユーザー アカウントの IAM ユーザー資格情報で多要素認証 (MFA) を有効にします。
B. S3 バケットでバージョニングと MFA 削除機能を有効にします。
C. 監査チームの IAM ユーザー アカウントに S3 ライフサイクル ポリシーを追加して、監査期間中に s3:DeleteObject アクションを拒否します。
D. AWS Key Management Service (AWS KMS) を使用して S3 バケットを暗号化し、監査チームの IAM ユーザー アカウントが KMS キーにアクセスできないように制限します。
正解:B
解説です:
A. 各監査チーム IAM ユーザー アカウントの IAM ユーザー資格情報で多要素認証 (MFA) を有効にします。
この選択肢はIAMユーザーのログインセキュリティを強化しますが、S3オブジェクトが誤って削除されるリスクを直接的に減少させるわけではありません。
B. S3 バケットでバージョニングと MFA 削除機能を有効にします。
バージョニングを有効にすると、オブジェクトのすべてのバージョンが保存されます。これにより、誤ってオブジェクトを削除または上書きしても以前のバージョンに戻すことができます。MFA削除を有効にすると、オブジェクトを削除する際にMFA認証が必要となり、誤削除のリスクをさらに低減します。
C. 監査チームの IAM ユーザー アカウントに S3 ライフサイクル ポリシーを追加して、監査期間中に s3:DeleteObject アクションを拒否します。
この選択肢はオブジェクトの削除を一時的に防ぐことができますが、これにより監査期間が終了した後でもオブジェクトを削除することができるため、完全なソリューションとは言えません。
D. AWS Key Management Service (AWS KMS) を使用して S3 バケットを暗号化し、監査チームの IAM ユーザー アカウントが KMS キーにアクセスできないように制限します。
この選択肢はデータの暗号化に関連していますが、S3オブジェクトの誤削除の問題を解決するものではありません。
正解はBの「S3 バケットでバージョニングと MFA 削除機能を有効にします」です。これにより、誤ってオブジェクトを削除するリスクを大幅に低減することができます。
8.
オンプレミスのデータセンターでホストされている多層アプリケーションが AWS に移行される予定です。
アプリケーションには、業界標準のメッセージング API とプロトコルを使用するメッセージ ブローカー サービスがあり、アプリケーションのメッセージング コードを書き直すことなく移行する必要があります。
メッセージング サービスを AWS に移行するために使用する必要がある最も適切なサービスは次のうちどれですか?
A. Amazon SWF
B. Amazon SQS
C. アマゾン SNS
D. Amazon MQ
正解:D
解説です:
A. Amazon SWF (Simple Workflow Service)
Amazon SWFは、タスクをコーディネートし、複数のステップを組み合わせてワークフローを実行するサービスです。これはトラディショナルなメッセージブローカーの機能とは異なります。
B. Amazon SQS (Simple Queue Service)
Amazon SQSは、分散アプリケーション内でメッセージを通信するためのフルマネージドなキューイングサービスです。SQSはAWS独自のメッセージキューイングサービスで、業界標準のAPIやプロトコルには対応していません。
C. Amazon SNS (Simple Notification Service)
Amazon SNSは、トピックを使用してメッセージを一つ以上のサブスクライバーにパブリッシュするフルマネージドな通知サービスです。これは一般的なメッセージブローカーの動作とは異なります。
D. Amazon MQ
Amazon MQは、業界標準のメッセージングAPIとプロトコル(例:JMS、NMS、AMQP、STOMP、MQTT、WebSocket)をサポートするマネージドメッセージブローカーサービスです。オンプレミスのシステムからの移行を容易にするために、既存のアプリケーションのコードを変更することなく利用できます。
正解はDの「Amazon MQ」です。これは、業界標準のメッセージングAPIとプロトコルをサポートしているため、オンプレミスのシステムからの移行を容易にする選択肢となります。
9.
企業は、独自のアプリケーションのログ ファイルを分析する機能を必要としています。ログは JSON 形式で Amazon S3 バケットに保存されます。クエリはシンプルで、オンデマンドで実行されます。ソリューション アーキテクトは、既存のアーキテクチャに最小限の変更を加えて分析を実行する必要があります。運用オーバーヘッドを最小限に抑えるには、次の方法はどれですか?
A. Amazon Redshift を使用してすべてのコンテンツを 1 か所にロードし、必要に応じて SQL クエリを実行します
B. Amazon CloudWatch Logs を使用してログを保存する 必要に応じて Amazon CloudWatch コンソールから SQL クエリを実行する
C. Amazon S3 で直接 Amazon Athena を使用して、必要に応じてクエリを実行します。
D. AWS Glue を使用してログをカタログ化する Amazon EMR で一時的な Apache Spark クラスターを使用して、必要に応じて SQL クエリを実行する
正解:C
解説です:
A. Amazon Redshift を使用してすべてのコンテンツを 1 か所にロードし、必要に応じて SQL クエリを実行します
Amazon Redshiftは、大規模なデータセットに対して高速なクエリを実行するデータウェアハウスサービスです。しかし、この方法ではS3からRedshiftへのデータの移動が必要となるため、既存のアーキテクチャへの変更とオーバーヘッドが大きくなります。
B. Amazon CloudWatch Logs を使用してログを保存する 必要に応じて Amazon CloudWatch コンソールから SQL クエリを実行する
CloudWatch Logsは、アプリケーションやリソースのログを集中的に監視・保存するためのサービスですが、直接SQLクエリを実行する機能は提供していません。
C. Amazon S3 で直接 Amazon Athena を使用して、必要に応じてクエリを実行します。
Amazon Athenaは、S3上のデータに対して直接SQLクエリを実行するサービスです。サーバーレスであり、事前のセットアップやデータの移動が不要です。オンデマンドでクエリを実行し、JSON形式のデータもサポートしています。
D. AWS Glue を使用してログをカタログ化する Amazon EMR で一時的な Apache Spark クラスターを使用して、必要に応じて SQL クエリを実行する
この方法では、AWS Glueでメタデータカタログを作成し、EMR上でSparkを使用してクエリを実行します。しかし、このアプローチは複雑で、オンデマンドでのシンプルなクエリ実行にはオーバーヘッドが大きくなります。
正解はCの「Amazon S3 で直接 Amazon Athena を使用して、必要に応じてクエリを実行します」です。これは、S3上のJSONデータを直接クエリするための最も簡単で効果的な方法であり、オーバーヘッドが少なく、既存のアーキテクチャへの変更も最小限です。
10.
この国の大手金融会社は、先週廃止された Web アプリケーションをホストする複数のリザーブド EC2 インスタンスを含む AWS 環境を持っています。コストを節約するには、リザーブド インスタンスの料金の発生をできるだけ早く停止する必要があります。
この状況でどのような費用対効果の高い手順を実行しますか? (2 つ選択してください。)
A. AWS リザーブド インスタンス マーケットプレイスにアクセスして、リザーブド インスタンスを販売します。
B. 有効期限が切れたときにオンデマンド料金で請求されないように、リザーブド インスタンスをできるだけ早く終了します。
C. amazonのオンライン ショッピング サイトに移動し、リザーブド インスタンスを販売します。
D. AWS に連絡して、AWS サブスクリプションをキャンセルします。
E. リザーブド インスタンスをできるだけ早く停止します。
正解:A,B
解説です:
A. AWS リザーブド インスタンス マーケットプレイスにアクセスして、リザーブド インスタンスを販売します。
正解。AWS リザーブド インスタンス マーケットプレイスは、リザーブド インスタンスの契約を他のAWS顧客に販売できる場所です。リザーブド インスタンスの契約を使用していない場合、他のユーザーにそれを販売してコストを回収することができます。
B. 有効期限が切れたときにオンデマンド料金で請求されないように、リザーブド インスタンスをできるだけ早く終了します。
正解。実際のEC2インスタンスを終了することで、オンデマンド料金の発生を避けることができます。ただし、リザーブド インスタンスの料金自体は前払いであるため、それに関連するコストは発生し続けます。
C. Amazonのオンライン ショッピング サイトに移動し、リザーブド インスタンスを販売します。
不正解。Amazonのオンラインショッピングサイトは、AWSリザーブドインスタンスの売買を行う場所ではありません。
D. AWS に連絡して、AWS サブスクリプションをキャンセルします。
不正解。AWSのサブスクリプション(アカウント)をキャンセルしても、リザーブドインスタンスの料金はキャンセルされません。これは、リザーブドインスタンスが前払いの契約であるためです。
E. リザーブド インスタンスをできるだけ早く停止します。
不正解。リザーブドインスタンスの料金は、実際にインスタンスを実行しているかどうかに関係なく前払いで発生します。そのため、インスタンスを停止するだけでは料金の節約にはなりません。
正解はAとBです。
この記事が気に入ったらチップで応援してみませんか?