AWS 認定デベロッパー – アソシエイト WEB問題集

WEB問題集

Question#1(DVA-C02)

ある企業は、新しいアプリケーションを AWS Elastic Beanstalk 上で実行しています。この企業はアプリケーションに更新をデプロイする必要があります。更新はアプリケーションの利用者にダウンタイムを引き起こしてはいけません。

さらに、デプロイメントは評価期間中に、受信するクライアントトラフィックの指定された割合を新しいアプリケーションバージョンに転送する必要があります。 この要件を満たすデプロイメントの種類はどれですか。
ディスカッション 0

正解:B

この方式では、新旧バージョンを並行稼働させ、ALB を使ってトラフィックを指定した割合で分けます。評価期間を設けてモニタリングした上で、新バージョンが安定していると判断できれば切り替えを完了させられます。要件「ダウンタイムなし」「指定した割合のトラフィック分配」を唯一満たす選択肢です。

この問題の要点は「ダウンタイムを発生させずに」「指定した割合のトラフィックを新しいバージョンに流す」という部分です。Elastic Beanstalk でこの要件を満たすのは トラフィックスプリッティングデプロイ です。

Elastic Beanstalk の トラフィックスプリッティング デプロイメントでは、新しいバージョンを別のインスタンスセットにデプロイし、ALB(Application Load Balancer)を使って受信トラフィックを指定した割合で旧バージョンと新バージョンに分配します。これにより、段階的に新バージョンを評価でき、問題があればすぐにロールバック可能です。AWS ドキュメントにも明記されています。
Question#2(DVA-C02)

開発者は、AWS Elastic Beanstalk を使用するカスタムアプリケーションに変更を加えています。

開発者が変更を完了した後、新しいアプリケーションバージョンで Elastic Beanstalk 環境を更新する方法として正しいものはどれですか。(2つ選択してください)

(2つ選択)

ディスカッション 0

正解:A, D

zip ファイルを作成し、AWS マネジメントコンソールから直接アップロードしてデプロイするのは公式にサポートされた方法です。簡単で最も一般的な手順です。

zip ファイルを作成し、AWS CLI の create-application-versionupdate-environment コマンドを使って新バージョンを作成・環境を更新するのは正しい手順です。自動化やCI/CDに多く使われます。

Question#3(DVA-C02)

開発者はローカルマシンで AWS CloudFormation テンプレートを作成し、AWS に CloudFormation スタックをデプロイする必要があります。

このタスクを完了するために、開発者が行う必要があることはどれですか。
ディスカッション 0

正解:C

IAM ユーザーのアクセスキーとシークレットキーを使うのが正しい方法です。これにより CLI は API 呼び出しを認証できます。

CloudFormation テンプレートをローカルで書いてスタックをデプロイするには、AWS CLI を利用するのが標準的です。CLI で認証を行うには、IAM ユーザーの アクセスキー ID とシークレットアクセスキー を使用して aws configure コマンドで設定します。これにより、aws cloudformation create-stackupdate-stack コマンドを実行してスタックをデプロイできます。
Question#4(DVA-C02)

ある開発者は、Amazon API GatewayのREST APIを更新してモックエンドポイントを追加しています。開発者は、統合リクエストマッピングテンプレートを更新し、モック統合リクエストに対してさまざまな条件に基づいて特定のHTTPステータスコードで応答するようにしたいと考えています。 以下の記述のうち、これらの要件を満たすものはどれですか?

ディスカッション 0

正解:B

Amazon API Gateway の モック統合 (Mock Integration) では、バックエンドを呼び出さず、リクエストマッピングテンプレートでレスポンス内容やステータスコードを決定します。このとき $input.params() を使ってクエリパラメータやヘッダを参照し、条件分岐を行うのが公式に推奨されている方法です。

これにより、リクエストに scope=internal が含まれていれば 200 を返し、それ以外は 500 を返すことができます。これが 公式に示されている正しい書き方 であり、問題の要件を満たしています。
Question#5(DVA-C02)

大規模な企業が、アプリケーションコンポーネントを複数の AWS アカウントに分散して運用しています。企業はこれらのアカウント全体でトレースデータを収集し、可視化する必要があります。

この要件を満たすために使用すべきサービスはどれですか?
ディスカッション 0

正解:A

この問題のポイントは 「トレースデータを収集・可視化」 という要件です。

  • AWS X-Ray は分散トレーシングサービスで、アプリケーションのリクエストがどのように各コンポーネントを通過するかを可視化できます。マイクロサービスアーキテクチャや複数アカウントにまたがる環境でも、アプリケーションのパフォーマンス分析やボトルネック特定に最適です。X-Ray コンソールを使えば、サービスマップとして全体の分散アーキテクチャを可視化できます。