Daniel(シニアフルスタックエンジニア)です。AWS 認定デベロッパー – アソシエイトが DVA-C02 から DVA-C03 に更新されます。AWS の公式発表をもとに変更点を整理し、4 週間の学習計画と練習問題 5 問を紹介します。
- 本記事と問題は AI の支援を受けて作成し、AWS 公式ドキュメントで確認しています。
- 練習問題はすべてオリジナルです。実際の試験問題ではありません。
- 2026 年 10 月 10 日時点の情報です。完全な試験ガイドは 2026 年 10 月 27 日に公開される予定です。
1. 日程と試験の形式
AWS の日本語ブログ「AWS 認定資格 (MLA、SAP、DVA) に関するアップデート: 2026 年 9 月」による日程です。
| 日付 | 内容 |
|---|---|
| 2026 年 10 月 27 日 | DVA-C03 の登録開始(全言語) |
| 2026 年 11 月 30 日 | DVA-C02 の最終受験日 |
| 2026 年 12 月 1 日 | DVA-C03 の一般提供開始 |
認定ページの日本語版では、DVA-C02 の最終受験日が「2026 年 12 月 1 日」と表示されています(10 月 10 日確認。英語版とブログは 11 月 30 日)。DVA-C02 を受ける方は、予約の前に確認してください。
同じブログによる DVA-C03 の形式です。
- 130 分・65 問(採点対象 50 問、採点対象外 15 問)
- 合格スコア 720 点(1,000 点満点)、受験料 22,000 円(税込)
- Pearson VUE(テストセンターまたはオンライン監督)、現在サポートされている全言語
DVA-C02 の試験ガイドによると、結果は 100~1,000 の換算スコアで報告され、セクションごとの合否ラインはありません。720 点は「正答率 72%」と同じ意味ではありません。
2. DVA-C02 からの変更点
| DVA-C02(試験ガイド) | DVA-C03(AWS ブログ) | |
|---|---|---|
| 第 1 分野 | AWS のサービスによる開発 32% | AWS サービスを使用した開発 30% |
| 第 2 分野 | セキュリティ 26% | セキュリティ 26% |
| 第 3 分野 | デプロイ 24% | テストとデプロイ 22% |
| 第 4 分野 | トラブルシューティングと最適化 18% | トラブルシューティングと最適化 22% |
AWS は「4 つのドメインは変更なし」としていますが、比率が変わり、第 3 分野の名称にはテストが加わりました。AWS ブログが挙げる追加内容は次のとおりです。
-
新タスク 2.3 AI セキュリティ(5 スキル)
- AI サービスのアクセス管理
- データプライバシー制御(VPC エンドポイント、入出力が AI モデルのトレーニングに使用されないことの保証)
- コンテンツフィルタリングとプロンプトインジェクション対策
- AI エージェントインタラクションのセキュリティ(ツール使用の認可、セッション分離、人間参加型承認フロー)
- 監視ログ内の機密コンテンツの保護
- 全ドメインにわたる AI 支援開発:コード生成と自動レビュー(第 1 分野)、テスト自動化とリグレッションテスト、自動デプロイ承認を含む CI/CD ワークフロー支援(第 3 分野)、エラー分析とトラブルシューティング提案、パフォーマンス最適化の推奨事項(第 4 分野)
- コンテナ管理:Amazon ECR によるコンテナイメージのビルドと管理、Amazon ECS・Amazon EKS・AWS Fargate によるデプロイ
- 新たに対象になったサービス:Amazon Bedrock、Amazon Bedrock AgentCore、Amazon Q、Kiro、Amazon Data Firehose、AWS PrivateLink(Amazon Q Developer は DVA-C02 の試験ガイドでもすでに対象です)
このほか、DynamoDB、暗号化と機密データ、テスト、可観測性、最適化のスキルが統合・整理されました。スコープ外は、プロンプトエンジニアリング、RAG 設計、AI モデルの選定、Amazon SageMaker AI、AI ガバナンスフレームワーク設計です。
なお AWS は、Amazon Q Developer の IDE プラグインと有料サブスクリプションのサポートを 2027 年 4 月 30 日に終了すると発表し、Kiro を紹介しています(コンソールの Amazon Q Developer などは対象外)。新規登録は 2026 年 5 月 15 日に終了しています。DVA-C03 は Amazon Q と Kiro の両方を対象にしているので、両方に触れておくと安心です。
どちらを受けるかについて、AWS は「準備ができていて早く取得したいなら DVA-C02(取得した資格は元の有効期限まで有効)、AI 支援開発と AI サービスのセキュリティを証明したいなら DVA-C03」と案内しています。
3. 4 週間の学習計画
AWS の推奨経験は「AWS サービスを使用したアプリケーションの開発、保守に関する 1 年以上の実践経験」です。基礎を一度学んだ方向けに、平日 1 時間・週末 2〜3 時間で組みました。
| 週 | 重点 | 手を動かすこと |
|---|---|---|
| 1 | 第 1 分野:Lambda、API Gateway、DynamoDB、SQS・SNS・EventBridge、Step Functions、Bedrock の Converse API、Data Firehose | Lambda から Converse API を呼び出し、モデル ID だけを変えて動かす |
| 2 | 第 2 分野とタスク 2.3:IAM、Cognito、KMS、Secrets Manager、Bedrock の IAM アクション、VPC エンドポイント、Guardrails、モデル呼び出しのログ記録 | ガードレールを作り、拒否されたトピックと機密情報フィルター(マスク)を試す |
| 3 | 第 3 分野:AWS SAM、CloudFormation・CDK、CodePipeline・CodeBuild・CodeDeploy、ECR・ECS・Fargate、AI によるテスト生成 | イメージを ECR にプッシュして ECS(Fargate)にデプロイする。Kiro(Amazon Q Developer を利用中ならそれでも可)でテストを生成し、レビューしてから取り込む |
| 4 | 第 4 分野と総仕上げ:CloudWatch(Logs Insights、Container Insights)、トレース、キャッシュ、Firehose のバッファリング | 65 問・130 分で模擬試験を解き、正解した問題も含めて解説を読む |
- タスク 2.3、AI 支援開発、新しい対象サービスは DVA-C03 で追加された範囲です。DVA-C02 向けの教材だけでは足りないので、公式ドキュメントで補います。
- 試験ガイドの公開後は、タスクステートメントを 1 つずつ読み、説明できない用語を潰します。
4. 練習問題 5 問
答えと解説は折りたたんでいます。
問題 1(第 1 分野:Amazon Bedrock の API)
開発チームが、Python アプリケーションから InvokeModel を使用して Amazon Bedrock を呼び出しています。チームがテストする基盤モデルごとに、異なる JSON リクエスト本文と異なるレスポンスパーサーが必要です。チームは、モデル ID を変更するだけで、サポートされているテキストモデルを切り替えられるようにしたいと考えています。開発者は何をすべきですか。
- A. モデル間で共通の、メッセージベースのリクエスト形式とレスポンス形式を使用する Converse API を使用します。
- B. InvokeModel を引き続き使用し、すべてのモデルで contentType パラメータを application/json に設定します。
- C. Bedrock がプロンプトを各モデルのネイティブ形式に変換するように、プロンプトをバッチ推論ジョブとして送信します。
- D. モデルプロバイダー間でリクエスト本文を正規化する InvokeModelWithResponseStream を使用します。
正解と解説
正解:A
- A:正解。Converse は、メッセージをサポートするモデルに対して一貫したインターフェイス (messages, system, inferenceConfig) を提供するため、コードはモデル ID を変更することでモデルを切り替えることができます。
- B:不正解。コンテンツタイプはメディアタイプを宣言するだけであり、InvokeModel のリクエスト本文はモデル固有のままです。
- C:不正解。バッチ推論は、S3 上の JSONL ファイルで大規模なデータセットを非同期に処理するジョブです。アプリケーションからの同期的な呼び出しを置き換えるものではありません。
- D:不正解。これは InvokeModel のストリーミング版であり、引き続きモデルのネイティブなリクエスト本文を受け取ります。
ポイント:モデルに依存しないコードには Converse(ストリーミングは ConverseStream)を使い、モデル固有のオプションは additionalModelRequestFields で渡します。
参考:https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html
問題 2(第 1 分野:コンテナ(Amazon ECR))
あるチームが、2.4.1 などのセマンティックバージョンのタグを使用して、コンテナイメージを Amazon ECS にデプロイしています。エンジニアが誤って既存のバージョンタグで別のイメージをプッシュしたため、本番環境のロールバックでデプロイされたイメージが変わってしまいました。チームは、バージョンタグがプッシュされた後に別のイメージに移動されることが決してないようにしたいと考えています。開発者は何をすべきですか。
- A. すべての元のイメージのコピーが別のリージョンに保持されるように、クロスリージョンレプリケーションを設定します。
- B. 既存のタグを再利用するプッシュが拒否されるように、ECR リポジトリでタグのイミュータビリティを有効にします。
- C. 既存のタグを再利用するイメージがデプロイ前にフラグ付けされるように、プッシュ時のスキャンを有効にします。
- D. タグがリポジトリに 2 回以上プッシュされたイメージを期限切れにするライフサイクルポリシールールを追加します。
正解と解説
正解:B
- A:不正解。レプリケーションは、ソースリポジトリから他のリージョンまたはアカウントにイメージをコピーします。デプロイで使用されるのはソースリポジトリであり、そのソースリポジトリでタグが移動されることは防げません。
- B:正解。イミュータブルなタグを使用すると、リポジトリにすでに存在するタグでイメージをプッシュしようとしたときに、ECR は ImageTagAlreadyExistsException を返します。
- C:不正解。イメージスキャンはソフトウェアの脆弱性を検索するものです。タグの再利用を検出したりブロックしたりすることはありません。
- D:不正解。ライフサイクルポリシーは、タグのステータス、タグのプレフィックスまたはパターン、イメージ数、またはプッシュ・最終プル・アーカイブからの経過日数によってイメージを選択します。タグがプッシュされた回数に基づくルールはありません。
ポイント:ECR のタグはデフォルトで上書き可能(MUTABLE)です。一部のタグだけ移動可能にしたい場合は、除外フィルター(IMMUTABLE_WITH_EXCLUSION)も使えます。
参考:https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-tag-mutability.html
問題 3(第 2 分野・タスク 2.3:Amazon Bedrock Guardrails)
ある銀行が、Amazon Bedrock 上にカスタマーサポートアシスタントを構築しています。アシスタントは、投資に関する推奨の提供を拒否する必要があります。さらに、モデルの応答に顧客の電話番号や E メールアドレスが含まれる場合は、応答全体をブロックするのではなく、それらをプレースホルダーに置き換える必要があります。開発者はどのガードレール設定を使用すべきですか。(2 つ選択してください。)
- A. 投資の推奨をサンプルフレーズ付きで定義し、プロンプトと応答に適用する拒否されたトピック。
- B. モデルのすべての応答に適用される、高い関連性しきい値を設定したコンテキストグラウンディングチェック。
- C. 応答に対してマスクアクションを使用する、PHONE および EMAIL エンティティタイプの機密情報フィルター。
- D. 銀行の顧客データベースに保存されているすべての電話番号と E メールアドレスを列挙したワードフィルター。
- E. プロンプトと応答の両方に対して強度を HIGH に設定した、Misconduct カテゴリのコンテンツフィルター。
正解と解説
正解:A、C
- A:正解。拒否されたトピックを使用すると、投資アドバイスなど、アプリケーションで望ましくない主題を定義し、ユーザーのクエリやモデルの応答でそれらが検出されたときにブロックできます。
- B:不正解。コンテキストグラウンディングチェックは、ソースコンテンツに基づいていない応答や、クエリに関連しない応答を検出します。トピックの制限を適用したり、PII をマスクしたりするものではありません。
- C:正解。機密情報フィルターは PHONE や EMAIL などの PII を検出します。マスクアクションを使用すると、各値が {EMAIL} などの識別子に置き換えられ、応答の残りの部分はそのまま返されます。
- D:不正解。ワードフィルターは完全一致のみをブロックするため、値がマスクされるのではなく、応答全体がブロックメッセージに置き換えられます。また、すべての顧客の連絡先データをフィルターリストに保持するのは現実的ではありません。
- E:不正解。Misconduct カテゴリは、犯罪行為や、他者への危害、詐欺、搾取に関するコンテンツを対象とします。正当に見える投資アドバイスのリクエストは、Misconduct には該当しません。
ポイント:マスクは値だけを {EMAIL} などに置き換え、ブロックは応答全体を設定済みのブロックメッセージに置き換えます。
参考:https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html
問題 4(第 3 分野:AI 支援のテスト生成)
あるチームは、IDE で Amazon Q Developer を使用してテストを生成しています。生成されるすべてのテストは、pytest のフィクスチャを使用し、test_unit_behavior という命名パターンに従い、チームの共有ヘルパーモジュールを使用して AWS 呼び出しをモックする必要があります。チームは、リポジトリで作業するすべての開発者に対して、Amazon Q がこれらの規約を自動的に適用するようにしたいと考えています。チームは何をすべきですか。
- A. 規約を AWS Systems Manager パラメータに保存し、各開発者の IDE 設定でそのパラメータの名前を参照します。
- B. テストをリクエストする前に、毎回のセッションの開始時に規約をチャットに貼り付けるよう各開発者に依頼します。
- C. 生成されたテストファイルがリポジトリにプッシュされた後に、それらの名前を変更して再フォーマットする CodeBuild ステップを追加します。
- D. 規約を記述した Markdown ファイルをプロジェクトの .amazonq/rules フォルダに追加し、Git にコミットします。
正解と解説
正解:D
- A:不正解。Amazon Q Developer は Parameter Store からコーディング規約を読み取らないため、このパラメータは生成されるテストに影響しません。
- B:不正解。規約を手動で貼り付ける方法は、すべての開発者が毎回忘れずに行う場合にのみ機能するため、ミスが発生しやすく、自動的でもありません。
- C:不正解。プッシュ後の再フォーマットでは、フィクスチャを追加したり、モックの記述方法を変更したりすることはできず、生成を方向付けるにはタイミングが遅すぎます。
- D:正解。プロジェクトルールは、.amazonq/rules フォルダ内の Markdown ファイルです。開発者がプロジェクト内で Amazon Q とチャットすると、Amazon Q はそれらを自動的にコンテキストとして使用します。また、これらをコミットすることで、標準をチーム全体で共有できます。
ポイント:ルールはリポジトリに保存されるため、ルールの変更も通常のコードレビューを通ります。
参考:https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/context-project-rules.html
問題 5(第 4 分野:Amazon Data Firehose)
Amazon Data Firehose ストリームが、毎秒約 300 KiB の JSON クリックストリームデータを Amazon S3 に配信しています。テスト中に開発者がストリームのバッファリングヒントを 1 MiB および 60 秒に設定し、その後は誰も変更していません。現在、バケットには数秒ごとに新しいオブジェクトが作成され、S3 のリクエストコストが増え続けています。また、Amazon Athena のクエリは非常に多数の小さなファイルを開く必要があるため低速です。アナリストは、データが最大 15 分遅れることを許容しています。開発者は何をすべきですか。
- A. 作成されるオブジェクトを減らすために、プロデューサーが PutRecord ではなく PutRecordBatch でレコードを送信するようにします。
- B. ストリームのバッファサイズとバッファ間隔を、たとえば 128 MiB と 900 秒に増やします。
- C. 配信前に受信レコードをマージする Lambda データ変換関数を追加します。
- D. 配信される各オブジェクトが小さくなるように、S3 送信先で GZIP 圧縮を有効にします。
正解と解説
正解:B
- A:不正解。PutRecordBatch はプロデューサーが Firehose に対して行う API 呼び出しの数を減らしますが、Firehose は引き続きバッファリングヒントに従って S3 に配信します。
- B:正解。Firehose は、サイズまたは間隔のいずれかの条件が先に満たされた時点でバッファを配信します。毎秒約 300 KiB の場合、1 MiB のバッファは数秒で満杯になりますが、128 MiB のバッファと 900 秒の間隔ではおよそ 7 分ごとに 1 つのオブジェクトが作成されます。その結果、15 分というデータ鮮度の要件の範囲内で、オブジェクトの数ははるかに少なく、サイズは大きくなります。
- C:不正解。変換関数はレコードを処理しますが、Firehose が S3 にオブジェクトを書き込むタイミングは引き続きバッファリングヒントによって決まるため、オブジェクトの数とサイズはほとんど変わりません。
- D:不正解。圧縮によって各オブジェクトは小さくなりますが、Firehose が書き込むオブジェクトの数は減らないため、リクエストコストと小さなファイルの問題は解消されません。
ポイント:バッファのデフォルトは 5 MiB・300 秒、最大は 128 MiB・900 秒です。データ鮮度の要件を満たす範囲で、できるだけ大きなバッファを選びます。
参考:https://docs.aws.amazon.com/firehose/latest/APIReference/API_BufferingHints.html
5. 模擬試験について
上の 5 問は練習用のサンプルです。本番と同じ形式で練習したい方のために、筆者は「AWS 認定デベロッパー – アソシエイト(DVA-C03)模擬試験問題集 3 回分 195 問」を Kindle 版とペーパーバック版で出しています。
- 65 問の模擬試験が 3 回分(上の 5 問とは別の問題です)
- すべての選択肢に日本語の解説と AWS 公式ドキュメントの URL
- 新タスク 2.3(AI セキュリティ)を含む 13 のタスクすべてを各回に出題
- Kindle Unlimited でも読めます
問題は AI の支援を受けて作成し、AWS 公式ドキュメントと照合する別の工程で確認しています。AWS の公式教材ではありません。10 月 27 日に公開される試験ガイドと照合し、必要に応じて更新します。
- Kindle 版:https://www.amazon.co.jp/dp/B0GXQX6HWF
- ペーパーバック版:https://www.amazon.co.jp/dp/B0HMFJKJBP
Amazon Web Services、AWS および関連する名称は、Amazon.com, Inc. またはその関連会社の商標です。本記事は個人の記事であり、AWS とは提携しておらず、AWS による承認も受けていません。