出題範囲(4分野)
- Domain 2: Security168問
- Domain 1: Development with AWS Services170問
- Domain 3: Deployment168問
- Domain 4: Troubleshooting and Optimization245問
AWS Certified Developer – Associateの例題(6問・解説つき)
スキルサートのAIが出題範囲に沿って作成した演習問題です(過去問ではありません)。アプリでは毎週新しい問題が追加されます。
例題1Domain 2: Security
AWS Lambda 関数を使用して Amazon S3 バケット内のデータを処理しています。セキュリティ要件により、Lambda 関数が S3 オブジェクトを復号する際、API リクエストに追加の整合性チェックとして特定のメタデータを含めることが求められています。AWS KMS を使用してこの要件を満たすために最適な手法はどれですか。
- IAM ポリシーのタグベースのアクセス制御を使用する
- キーポリシーで条件キーを指定する
- 暗号化コンテキストを使用する
- VPC エンドポイントのポリシーを更新する
- S3 バケットポリシーで IP アドレス制限をかける
解答と解説を見る
正解: 暗号化コンテキストを使用する
正解は『暗号化コンテキストを使用する』です。AWS KMS の暗号化コンテキストは、暗号化および復号リクエストに含まれる追加の認証情報 (キーと値のペア) です。これを使用すると、復号時に同じコンテキストを提供しない限り復号が失敗するため、データの整合性と追加の機密性が確保されます。他の選択肢、例えばキーポリシーや IAM ポリシーの条件指定はアクセス権限の制御には有効ですが、暗号化データそのものに紐付いた整合性チェックのメタデータとしては機能しません。S3 や KMS を扱う開発者試験において、このコンテキストの概念は重要です。
例題2Domain 1: Development with AWS Services
開発者がAmazon DynamoDBテーブルに新しいアイテムを挿入しようとしています。既に同じパーティションキーを持つアイテムが存在する場合に、既存のデータを上書きせずにエラーを発生させるための最も効率的な方法はどれですか?
- DynamoDBの読み取り整合性を「強力な一貫性のある読み取り」に設定する
- UpdateItem操作を使用して、アイテムが存在しない場合にのみ更新を許可する
- PutItem操作で attribute_not_exists 条件式を使用する
- PutItem操作を実行する前に、必ずGetItemを呼び出して存在を確認する
- パーティションキーのほかに、グローバルセカンダリインデックス(GSI)を定義する
解答と解説を見る
正解: PutItem操作で attribute_not_exists 条件式を使用する
正解は「PutItem操作で attribute_not_exists 条件式を使用する」です。DynamoDBで既存のアイテムを上書きしたくない場合、条件付き書き込みを利用するのが最適です。PutItemリクエストに ConditionExpression として attribute_not_exists(partition_key) を指定することで、指定されたパーティションキーを持つアイテムがまだテーブル内に存在しない場合にのみ書き込みが成功します。既にアイテムが存在する場合は ConditionalCheckFailedException が返されます。GetItemを事前に呼び出す手法は、読み取りと書き込みの間に別のリクエストが割り込む可能性(競合状態)があるため、一貫性を保証するには条件付き書き込みの方が優れています。
例題3Domain 3: Deployment
AWS Lambda関数をデプロイする際、AWS CodeDeployを使用してトラフィックを段階的に移行したいと考えています。最初の5分間でトラフィックの10%を新しいバージョンに流し、その期間にアラームが発生しなければ、残りの90%を一気に新しいバージョンへ移行するデプロイ設定はどれですか。
- Canary10Percent10Minutes
- Canary10Percent5Minutes
- Linear10PercentEvery1Minute
- AllAtOnce
- Linear10PercentEvery5Minutes
解答と解説を見る
正解: Canary10Percent5Minutes
正解は『Canary10Percent5Minutes』です。CodeDeployのCanary設定は、最初に指定した割合のトラフィックを短時間(カナリア期間)だけ移行し、問題がなければ残りの全トラフィックを一気に移行します。一方、Linear設定は一定の間隔で一定量ずつ段階的に移行を続ける方式です。今回の要件である「最初の5分間で10%、その後残り全部」という動作はCanary10Percent5Minutesが正確に合致しています。AllAtOnceは即座に全トラフィックを切り替える設定であるため、要件を満たしません。
例題4Domain 4: Troubleshooting and Optimization
サーバーレスアプリケーションにおいて、AWS Lambda関数の実行時間が徐々に長くなっており、どの処理に時間がかかっているか、またはどの外部サービスへの呼び出しがボトルネックになっているかを特定する必要があります。最も適切な方法はどれですか?
- AWS X-Ray を有効にする
- Lambdaのメモリ割り当てを最大にする
- CloudWatch 異常検知アラームを作成する
- CloudWatch Logsの標準ログを確認する
- デッドレターキュー (DLQ) を設定する
解答と解説を見る
正解: AWS X-Ray を有効にする
正解は『AWS X-Ray を有効にする』です。AWS X-Rayを使用すると、リクエストがアプリケーションを通過する際の詳細なトレースデータを収集できます。Lambda関数において、どの関数、どのダウンストリームサービスへの呼び出し、またはコード内のどのサブセグメントが遅延の原因となっているかを視覚的に特定するのに最適です。CloudWatch Logsの標準的な出力だけでは、個別の処理ステップごとの所要時間を正確に把握してボトルネックを絞り込むのは困難なため、パフォーマンスのトラブルシューティングにはX-Rayが推奨されます。
例題5Domain 2: Security
機密情報を管理するための AWS サービスについて、AWS Secrets Manager と AWS Systems Manager パラメータストアの比較として「誤っている」ものはどれですか。
- どちらのサービスも AWS KMS を使用したデータの暗号化が可能である
- Secrets Manager はシークレットの自動ローテーション機能を備えている
- Secrets Manager はデータベースの認証情報を直接管理する機能がある
- Secrets Manager は AWS Lambda を使用した自動ローテーションをサポートしていない
- パラメータストアの標準パラメータは追加料金なしで利用できる
解答と解説を見る
正解: Secrets Manager は AWS Lambda を使用した自動ローテーションをサポートしていない
正解は『Secrets Manager は AWS Lambda を使用した自動ローテーションをサポートしていない』です。これは誤った記述であり、Secrets Manager の最大の特徴の一つは、AWS Lambda を使用してデータベースのパスワードなどのシークレットを自動的にローテーションできることです。対してパラメータストアは、標準パラメータであれば無料で利用可能(制限あり)ですが、ネイティブな自動ローテーション機能は持っておらず、自前で実装する必要があります。KMS による暗号化は両サービスでサポートされています。試験では、これらのサービスのユースケースの違い(特にローテーションの有無)が頻出します。
例題6Domain 1: Development with AWS Services
Amazon API GatewayとAWS Lambdaを使用したサーバーレスアプリケーションにおいて、Lambdaプロキシ統合を利用するメリットや特徴に関する記述のうち、**誤っているもの**はどれですか?
- API Gateway側でリクエストのマッピングテンプレートを詳細に定義する必要がある
- クライアントのソースIPアドレスは、event.requestContextから取得可能である
- API Gatewayは、HTTPリクエスト全体を「event」オブジェクトとしてLambda関数に渡す
- クエリパラメーターやヘッダー情報は、eventオブジェクトのプロパティから取得できる
- Lambda関数は、statusCodeやbodyを含む特定のJSON構造でレスポンスを返す必要がある
解答と解説を見る
正解: API Gateway側でリクエストのマッピングテンプレートを詳細に定義する必要がある
正解は「API Gateway側でリクエストのマッピングテンプレートを詳細に定義する必要がある」です。Lambdaプロキシ統合は、API Gatewayがリクエストをそのまま(RAWデータとして)Lambdaに渡し、Lambda側でリクエストの解析とレスポンスの生成を行う仕組みです。そのため、API Gateway側でVTL(Velocity Template Language)を用いたマッピングテンプレートを作成してデータの構造を変換する必要はありません。マッピングテンプレートが必要になるのは、リクエストやレスポンスの形式をAPI Gateway層で厳密に制御する「Lambdaカスタム統合(非プロキシ統合)」の場合です。プロキシ統合は設定が簡素化される一方で、Lambda関数側で特定の形式に準拠したレスポンスを構成する必要があります。
AWS Certified Developer – Associateの重要用語
- IAM (Identity and Access Management)
- AWSリソースへのアクセスを安全に管理するための基本サービスです。ユーザー、グループ、ロール、ポリシーの4つの要素で構成され、「誰がどのリソースにどのような操作を許可するか」を細かく制御します。試験対策としては、必要最小限の権限のみを付与する「最小権限の原則」を理解し、適切にポリシーを設計することが求められます。
- AWS Lambda
- サーバーレスでコードを実行できる計算サービスです。サーバーのプロビジョニングや管理が不要で、イベント発生時のみコードが実行され、実行時間に対してのみ課金されます。スケーラビリティに優れ、API GatewayやS3などの他のAWSサービスと連携して、スケーラブルなアプリケーションを構築する際の中心的な役割を果たします。
- Blue/Greenデプロイ
- 新旧2つの同一環境を用意し、ロードバランサーの切り替え等で一気にトラフィックを移行させる手法です。ダウンタイムを最小限に抑え、不具合発生時には即座に元の環境(Blue)へ切り戻すことができるため、安全性が高いのが特徴です。AWSではRoute 53やELB、CodeDeploy等を用いて実現されます。
- 疎結合 (Loose Coupling)
- コンポーネント間の依存関係を最小限に抑える設計手法です。AWSではSQSやSNSを利用してメッセージを仲介させることで、一方の障害や負荷が他方に直接影響しないようにします。これにより、システムの拡張性や保守性が向上し、一部の機能を変更・更新する際のリスクを軽減できます。リファクタリングにおいては、密結合なモノリス環境を分解し、柔軟なシステムを構築する際に不可欠な概念です。
- AWS KMS (Key Management Service)
- データの暗号化に使用される暗号化鍵を作成・管理するマネージドサービスです。S3やEBS、LambdaなどのAWSサービスと統合されており、データの保管時(アットレスト)の暗号化を容易に実現します。マスターキー(KMSキー)を用いて、データキーの生成や暗号化・復号の操作をセキュアに行い、操作ログはCloudTrailに記録されます。
- Amazon DynamoDB
- 高い可用性と低レイテンシーを実現するフルマネージドなNoSQLデータベースです。パーティションキーとソートキーによるデータ設計、グローバルセカンダリインデックス(GSI)を使用した柔軟なクエリが特徴です。試験では読み込み・書き込みキャパシティユニット(RCU/WCU)の計算や、整合性モデルの理解が重要となります。
- Canaryデプロイ
- 新しいバージョンのソフトウェアを、まずは一部のトラフィック(数%)にのみ公開し、問題がないことを確認しながら段階的に全ユーザーへ展開する手法です。全ユーザーへの影響を避けつつ、本番環境での動作を慎重に検証できる利点があります。Lambdaのエイリアス機能やApp Meshなどでよく活用されます。
- マイクロサービス (Microservices)
- 巨大な単一のアプリケーションを、特定のビジネス機能を持つ複数の小さなサービスに分割するアーキテクチャです。各サービスは独立して開発、デプロイ、スケールが可能になります。AWSではECSやLambda、API Gatewayを組み合わせて構築されます。リファクタリングにより、開発スピードの向上や障害の局所化が可能になり、各機能に最適な技術スタックを選択できるメリットがあります。
よくある質問
- AWS Certified Developer – Associateの問題はスキルサートで何問解けますか?
- 全751問・4分野の問題を用意しています。問題は出題範囲に沿って随時追加しています。
- 無料で使えますか?
- 無料プランで週10回の演習(1回10問)と、毎日の「今日の1問」を利用できます。解説を読み、わからない点はAIに質問できます。
- ここの問題は過去問ですか?
- 過去問ではありません。出題範囲に沿ってAIが作成した演習問題です。すべて解説つきで、間違えた問題は繰り返し解けます。
AWS Certified Developer – Associateの対策はアプリで
AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。