AWS DVA 勉強法とおすすめ教材|独学合格ロードマップ
目次
AWS認定デベロッパー アソシエイト(DVA-C02)は、SAAと同じアソシエイトレベルですが、問われるのはアプリを動かし、デプロイし、落ちた原因を切り分ける力です。構成図の正解パターンを覚えるSAA流の勉強法で臨むと、Lambdaの同時実行や可視性タイムアウト、CodeDeployのフック順序といった実装寄りの問題で取りこぼします。
この記事では、どの教材に課金し、どの順番で、どこまで回せば合格ラインに届くかを整理します。試験の構造、教材の比較軸、8週間のロードマップ、得点差がつく頻出テーマの順に進みます。
AWS DVA(DVA-C02)はどんな試験か|出題範囲・形式・難易度の位置づけ
まず数字で輪郭を押さえます。以下は執筆時点で公開されている試験ガイドの内容です。受験料・設問数・出題比率は改訂されるので、申し込み前にAWS公式の試験ガイド最新版を確認してください。
形式は択一選択(Multiple choice)と複数選択(Multiple response)。設問数は65問で、採点対象外の問題を含みます。試験時間は130分、スコアは100〜1000のスケールスコアで合格は720。受験方法はテストセンターとオンライン監督試験から選べます。
出題ドメインと比率は次の4つです。この比率が学習時間の配分の第一近似になります。
| ドメイン | 比率 |
|---|---|
| 1. AWSサービスによる開発 | 32% |
| 2. セキュリティ | 26% |
| 3. デプロイ | 24% |
| 4. トラブルシューティングと最適化 | 18% |
注意したいのはセキュリティが26%を占める点です。DVAという名前からLambda中心の試験と考えて対策すると、IAMポリシーの評価順序、CognitoユーザープールとIDプールの役割分担、KMSのエンベロープ暗号化、Secrets ManagerとParameter Storeの使い分けで2〜3割を失います。デプロイ(24%)も、CodeBuild/CodeDeploy/CodePipeline、Elastic Beanstalkのデプロイポリシー、CloudFormation/SAMの挙動が実装レベルで問われます。
出題されるサービスの数はSAAより少なく、Lambda・API Gateway・DynamoDB・S3・SQS/SNS/EventBridge・Cognito・CI/CD系・CloudFormation/SAM・X-Ray/CloudWatchに集中します。その代わり1サービスあたりは深く掘られます。SAAが「どのサービスを選ぶか」なら、DVAは「選んだサービスのパラメータをどう設定し、例外が出たらどう直すか」。この違いが教材選びの基準になります。
AWSが推奨する前提経験は、高水準プログラミング言語1つ以上の知識と、AWSを使った開発・保守の経験1年以上です。必須条件ではありませんが、コードを読み書きした経験の有無で体感難易度は大きく変わります。
教材選びで失敗しないための5つの比較軸
DVAの教材はSAAより選択肢が少なく、古い版の内容が残っているものも混じります。次の5軸で見ると課金の判断が早くなります。
1つ目はDVA-C02対応かどうかと、最終更新日。旧版(DVA-C01)向けの教材は出題範囲が異なります。C02では問題文のシナリオがコンテナ(ECS/Fargate)やSAM、EventBridgeを前提にしたものに寄っており、C01時代の教材だけでは穴が出ます。AWS側のサービス状況が変わった領域もあります。ソースリポジトリ系サービスの提供状況は近年変化しているので、教材に出てくるサービスの現状はAWS公式のドキュメントやアナウンスで裏を取る癖をつけてください。
2つ目は4ドメインのカバー率、とくにセキュリティとデプロイです。目次で、CognitoのトークンとIDプールの違い、KMSとSecrets Manager、CodeDeployのデプロイ設定とappspec、Elastic Beanstalkのデプロイポリシー、CloudFormationのChangeSetやDeletionPolicyを扱っているか確認します。この5つが薄い教材では、配点の半分(セキュリティ+デプロイ=50%)に手が届きません。
3つ目は解説の深さで、不正解選択肢の否定理由が書かれているかを見ます。DVAの問題は選択肢が近く、「動くけれど要件を満たさない」ものが混ざります。「正解はAです。AはBでCなので」で終わる解説では復習の価値が半減します。なぜB・C・Dが誤りか、根拠となる公式ドキュメントのどの機能かまで書いてあるかを、サンプル解説で確かめてから買うのが安全です。
4つ目はハンズオンの深さ。実装のパラメータを問う試験なので、コンソールをクリックするだけの手順では記憶が定着しません。AWS CLIやSAM CLIを使う手順が入っているか、IAMロールを自分で作らせる構成かを見ます。イベントソースマッピングのバッチサイズやLambdaのエイリアス重み付けなど、コンソール画面に出てこない設定に触れさせる教材は価値が高いです。
5つ目は演習量と回転のしやすさです。最終的に合否を決めるのは模擬試験の回転数なので、問題数(できれば300問以上)、分野別の出題機能、間違えた問題だけの再出題、スマホ対応を確認します。買い切りかサブスクかも判断材料で、受験日が決まっているならサブスクの方が総額を抑えられる場合があります。
この5軸はSAAの問題集選びにも共通します。比較の進め方をもう少し具体的に見たい場合はAWS SAA問題集おすすめ比較|5軸で選ぶ独学教材の整理も参考になります。
タイプ別おすすめ教材と向き・不向き
教材は動画講座、問題集・模擬試験、公式ドキュメント/Skill Builderの3層で役割が違います。全部に同じ時間をかけると足りないので、役割を割り切って使い分けます。
動画講座:サービスの全体像とハンズオンを一気に通す
動画講座の役割は、知らないサービスをゼロから一周することと、手を動かす導線を作ることです。文字情報だけではLambdaとAPI Gatewayの統合やIAMロールの付け替えが頭に入りにくいので、最初の2週間は動画を主軸にすると効率がいい。
Udemyなどの日本語総合講座は、DVA範囲を広く扱いハンズオン付きのものが使いやすく、セール時期を狙えばコストも抑えられます。選ぶときは「DVA-C02対応」と明記され更新日が新しいこと、カリキュラムにCI/CD系とCognitoが入っていることを確認してください。AWS公式のデジタルトレーニング(Skill Builder)にはExam Prepコースやサービス別コースがあり、記述の正確さは期待できますが、網羅性と試験対策としての密度は有料サブスクリプション側に寄っています。AWS公式のハンズオン資料やワークショップには、SAMでサーバーレスAPIを作る、Step Functionsでワークフローを組むといった実装系の題材が揃っており、動画講座のハンズオンが物足りないときの補強に向きます。
向かないのは、すでにLambdaやDynamoDBを業務で触り、ドキュメントを読み慣れている層です。倍速で全部見るのは時間効率が悪く、問題集で穴を見つけて該当章だけ拾う方が速くなります。
問題集・模擬試験:出題の言い回しと消去法を体に入れる
DVAで投資効率が最も高いのはここです。設問が「要件→最小の変更で解決する選択肢」という定型を持っており、言い回しに慣れるだけで判断速度が上がります。
Udemyの模擬試験講座は問題数が多く、日本語解説も付きます。本番より難しめに作られたものや古い内容が残るものが混在するので、レビューで解説の丁寧さとC02対応を確認してから買ってください。CloudLicenseやTechStockのようなWeb問題集サービスは、分野別出題や間違えた問題の再出題といった回転機能が強く、スマホでの隙間学習に向きます。DVA対応コースの有無、収録問題数と更新頻度は公式サイトで確認を。AWS公式のサンプル問題・練習問題セットは量が少ない代わりに、本番の言い回しの基準になります。市販問題集で高得点でも公式サンプルで迷う場合は、知識より読み取りに課題があるサインです。書籍の問題集は通勤時間にオフラインで読める利点がある一方、改訂サイクルが遅いため、知識整理用の1冊として使う前提が安全でしょう。
問題集で避けたい使い方は、正解の選択肢だけを覚えることです。DVAは同じ論点を別の数値・別のサービス名で聞き直してきます。1問ごとに「この問題が問うている設定項目は何か」をメモに落とし、設定項目ベースで覚える方が転用できます。
公式ドキュメント・AWS Skill Builder:仕様の根拠を確定させる
問題集の解説と自分の理解が食い違ったとき、最終的な判定はAWS公式ドキュメントです。DVAでは数値や挙動が直接問われるため、以下のページは一度ざっと目を通して、ブックマークしておく価値があります。
- Lambda のクォータ(タイムアウト、ペイロードサイズ、同時実行の初期値、/tmp のサイズ)
- Lambda の呼び出しモード別のエラー処理・リトライ挙動
- DynamoDB のセカンダリインデックス(LSI/GSI)の制約
- SQS の可視性タイムアウト・ロングポーリング・FIFOの仕様
- CodeDeploy の AppSpec ファイルのフックと実行順序
- Elastic Beanstalk のデプロイポリシー比較表
- Cognito ユーザープールのトークンと、IDプールのロールマッピング
- API Gateway の統合タイプとオーソライザーの種類
クォータ値は変更されることがあるため、暗記した数値も受験直前に公式ページで突き合わせてください。教材に書いてあった数値より、ドキュメントの現在値が正です。
独学で合格を狙う8週間の学習ロードマップ
前提は、CLFまたはSAA取得済み、実務1〜2年、週10〜12時間の学習時間を確保できる層です。SAA未取得でAWS自体が初めてなら、この前に基礎固めの期間が必要になります(進め方はAWS SAA勉強法|未経験から独学3ヶ月のロードマップの組み方が流用できます)。
1〜2週目:出題範囲の地図づくりと開発者向けサービスの基礎固め
最初にやるのは試験ガイドのダウンロードと、出題対象サービスの一覧化です。試験ガイド末尾の対象サービス一覧をスプレッドシートに写し、「触ったことがある/名前だけ知っている/知らない」の3段階で自己評価します。これが8週間の進捗管理表になります。
この2週間でやることは次の3つ。
- 動画講座を1.5倍速で一周(ハンズオンは飛ばさず手を動かす)
- AWS CLIとSAM CLIをローカルに入れて、最小構成のサーバーレスAPIをデプロイできる状態にする
- IAMロールと一時クレデンシャルで動かす感覚を掴む
# SAM で最小構成の Lambda + API Gateway を作ってデプロイするまで
sam init --runtime python3.12 --name dva-lab --app-template hello-world --no-tracing
cd dva-lab
sam build
sam deploy --guided # S3バケット・IAMロール・CFnスタックが自動生成される
sam local invoke HelloWorldFunction -e events/event.json # ローカル実行
sam logs -n HelloWorldFunction --stack-name dva-lab --tail # CloudWatch Logs を追う
この裏側では、SAMテンプレートがCloudFormationテンプレートに変換され、ChangeSetが作られて適用されています。Transform: AWS::Serverless-2016-10-31 が何をしているか説明できるかどうかが、デプロイドメインの理解度の目安です。
3〜5週目:Lambda・DynamoDB・CI/CDをハンズオン込みで深掘り
ここが山場です。配点の大きい3領域を、設定パラメータのレベルまで落とします。
Lambdaで押さえるのは、同期・非同期・イベントソースマッピングという3つの呼び出し形態の違いです。非同期呼び出しは内部キューに入り自動リトライされます(既定で2回)。同期呼び出しのリトライは呼び出し側の責任になります。SQSをイベントソースにした場合は、バッチサイズと部分的なバッチ失敗の扱い(ReportBatchItemFailures)、可視性タイムアウトと関数タイムアウトの大小関係が論点です。バージョンとエイリアス、エイリアスの重み付けによるカナリアリリース、プロビジョニングされた同時実行によるコールドスタート緩和、予約された同時実行による他関数への影響の遮断。この4点は問題文で言い換えられやすいので、違いを一言で言えるようにします。
DynamoDBは設計とエラー処理の両方が出ます。楽観的ロックを条件付き書き込みで実装するのが定番の論点です。
# バージョン属性を使った楽観的ロック(条件を満たさなければ ConditionalCheckFailedException)
table.update_item(
Key={"orderId": "A-1001"},
UpdateExpression="SET #st = :new_status, version = :next_v",
ConditionExpression="version = :cur_v",
ExpressionAttributeNames={"#st": "status"},
ExpressionAttributeValues={":new_status": "SHIPPED", ":cur_v": 3, ":next_v": 4},
)
判断基準は次のとおりです。
- 書き込み競合を防ぎたい →
ConditionExpression(条件付き書き込み)。複数テーブル/複数アイテムをまとめて整合させたい → TransactWriteItems ProvisionedThroughputExceededExceptionやThrottlingException→ エクスポネンシャルバックオフでの再試行(SDKの既定リトライも動作する)、恒常的ならキャパシティ設計かパーティションキー設計の見直し- 検索条件が主キー以外 → GSIを追加してQuery(Scanは避ける)。LSIは「テーブル作成時のみ作成可」「パーティションキーは同じ」「強い整合性の読み取りが可能」、GSIは「後から追加可」「結果整合性のみ」
- 読み取りレイテンシをマイクロ秒級にしたい → DAX(ただしアイテムキャッシュとクエリキャッシュの無効化タイミングに注意)
CI/CDは、YAMLのどのセクションに何を書くかを手で書いて覚えるのが最短です。CodeBuildのbuildspec.ymlはフェーズ(install / pre_build / build / post_build)とartifacts、cache、CodeDeployのappspec.ymlはフックの実行順序が問われます。
# appspec.yml(EC2/オンプレミス向け)フック順序の代表例
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
hooks:
ApplicationStop: # 旧リビジョンの停止
- location: scripts/stop_server.sh
BeforeInstall:
- location: scripts/install_deps.sh
AfterInstall:
- location: scripts/configure.sh
ApplicationStart:
- location: scripts/start_server.sh
ValidateService: # ヘルスチェック。失敗すればロールバック対象
- location: scripts/health_check.sh
timeout: 300
「デプロイ後のヘルスチェックに失敗したら自動でロールバックしたい」という設問は、ValidateServiceフックとCodeDeployのロールバック設定の組み合わせが答えです。Elastic Beanstalkなら、ダウンタイムを許容しない要件はImmutableまたはTraffic splitting、コスト重視で短時間の容量低下を許容するならRolling。要件語と設定名の対応表を作っておくと即答できます。
6〜8週目:模擬試験の回転と弱点ドメインの潰し込み
残り3週間は模擬試験中心に切り替えます。進め方の型は次の5段階です。
- 1回目は時間を測って本番形式(65問/130分)で解く。採点後、間違えた問題を「知らなかった」「読み間違えた」「2択で迷って外した」に分類する
- 「知らなかった」は該当サービスの公式ドキュメントで該当箇所だけ読む。動画に戻るのは3問以上まとまって落ちた領域だけ
- 「読み間違えた」は要件キーワード(最小の運用負荷/最もコスト効率が高い/変更を最小に/既存コードを変更せずに)を問題文からマークする練習に切り替える
- 同じ模擬を2〜3日空けて再挑戦し、2周目で正答率90%以上になるまで回す
- 新しい模擬セットを投入し、初見で正答率75〜80%以上が安定したら受験日を確定させる
合否判断ラインの目安は、初見の模擬試験で安定して75〜80%。本番の合格スコアは1000点満点中720点ですが、素点の正答率と直接一致しないスケールスコアなので、素点には余裕を持たせます。市販模試が本番より難しめに作られていることもあるため、公式サンプル問題や公式練習問題セットでも同時に確認を。「市販模試70%台だが公式サンプルはほぼ正解」なら悲観しなくてよく、逆に公式サンプルで落とす論点は確実な弱点です。
最後の1週間は新規インプットを止め、クォータ値・フック順序・デプロイポリシー・Cognitoのトークン種別といった暗記項目の最終確認と、分野別演習でセキュリティ・デプロイを重点的に回します。
得点差がつく頻出テーマと押さえるべき判断基準
問題文のキーワードと選ぶべき機能の対応を、落としやすい順に並べます。
IAMの評価ロジックは、明示的なDenyが常に優先、何も書かれていなければ暗黙のDenyです。アクセス権を一時的に他アカウントや他サービスへ渡すならsts:AssumeRole。Lambda関数からAWS APIを呼ぶなら実行ロールで、アクセスキーを環境変数に入れる選択肢は誤りです。ECSでは、タスク内のアプリがS3を読むのがタスクロール、イメージをECRから取得してログを出すのがタスク実行ロール。この2つの混同は定番の引っかけです。
Cognitoのユーザープールはサインアップ/サインインとJWT(IDトークン、アクセストークン、リフレッシュトークン)の発行を担い、IDプール(フェデレーティッドアイデンティティ)は認証済みアイデンティティにAWSの一時クレデンシャルを渡します。モバイルアプリからS3に直接アップロードさせたいならIDプール、APIへのアクセスをユーザー認証で制限したいならユーザープールとAPI GatewayのCognitoオーソライザー、という切り分けです。
暗号化とシークレット管理では、KMSが4KBを超えるデータを直接暗号化できない点が起点になります。大きいデータはデータキーを生成して暗号化するエンベロープ暗号化(GenerateDataKey)。S3の暗号化はSSE-S3 / SSE-KMS / SSE-C / クライアントサイドの違いと、「キーのローテーションや監査を自前で管理したい」要件への対応が問われます。DBパスワードの自動ローテーションが要件ならSecrets Manager、設定値や無料枠優先ならParameter Store(SecureString)。
メッセージングはSQSが中心です。同じメッセージが複数回処理されるのは可視性タイムアウトが処理時間より短いためで、処理が長引くならChangeMessageVisibilityで延長します。空のレスポンスで無駄なAPIコールが多いならロングポーリング(ReceiveMessageWaitTimeSeconds)、順序保証と重複排除はFIFOキュー(MessageGroupId、コンテンツベース重複排除)、毒メッセージで無限リトライはDLQとmaxReceiveCount。ファンアウトはSNSと複数SQS、スケジュールやサービスイベント起点はEventBridge、ストリーミングで順序とシャード単位の並列処理ならKinesis Data Streamsです。
API Gatewayは、リクエスト/レスポンスの変換が必要ならマッピングテンプレート(非プロキシ統合)、クライアント別の流量制御は使用量プランとAPIキー、カスタム認証ロジックはLambdaオーソライザー(結果のキャッシュTTLも論点)、ステージごとに向き先を切り替えるならステージ変数、レイテンシ低減とバックエンド負荷軽減はステージのキャッシュ有効化とキャッシュキー設計。
可観測性とトラブルシューティングでは、分散トレースでボトルネックを特定するのがX-Rayです。サブセグメントで外部呼び出しを計測し、アノテーション(インデックス化されフィルタ式で検索可能)とメタデータ(検索不可)を区別します。Lambdaではアクティブトレースを有効化。ログからメトリクスを作るならCloudWatch Logsのメトリクスフィルタか埋め込みメトリクスフォーマット(EMF)、ログ横断の集計・調査はCloudWatch Logs Insights。スロットリング時の挙動はサービスごとに異なり、LambdaはTooManyRequestsException(429)、DynamoDBはスロットル系の例外で、いずれもエクスポネンシャルバックオフとジッターが定石の回答です。
デプロイ戦略は、「ダウンタイムなし」「本番トラフィックの一部で検証」「即時ロールバック」というキーワードが出たら、Blue/Green、カナリア(Lambdaエイリアスの重み付け、API Gatewayのカナリアリリース、CodeDeployのLambda/ECSデプロイ設定)、Elastic BeanstalkのImmutable/Traffic splittingのどれが条件に合うかを比べます。既存リソースを残したいならCloudFormationのDeletionPolicy: Retainやスタックポリシー、変更内容を事前に確認したいならChangeSetです。
これらは丸暗記よりも、ハンズオンで一度その設定項目を自分で変えた経験があるかどうかで定着が変わります。3〜5週目にハンズオンを入れる意味はここにあります。
よくある質問
DVA-C02の合格に必要な勉強時間はどれくらい?
前提知識でかなり変わるため一律の時間は示しにくいものの、見積もりの考え方は整理できます。
SAA取得済みでLambda/DynamoDBの実務経験があるなら、出題範囲の棚卸しと模擬試験の回転が主になるため、短期集中でも組み立てられます。SAA取得済みで開発経験が限定的な場合は、動画講座一周とハンズオン、模擬試験の3段構えが必要で、本記事の8週間ロードマップはこの層を想定しています。CLFのみでAWSの実務がないなら、サービスの基礎から入るので8週間より長めに見積もり、ハンズオンの比重を上げてください。
時間で管理するより、「初見の模擬試験で75〜80%が安定したか」という成果指標で受験日を決める方が外れが少ないです。
実務で開発経験がなくてもDVAに合格できる?
AWSが示しているのは推奨経験であり、受験資格の制限ではありません。出題の多くはサービスの仕様・設定・エラー対処で、アルゴリズムを書かせる問題は出ません。ただし問題文にはPythonやJavaScriptのSDKコード片、JSON形式のIAMポリシー、YAMLのテンプレートが出てきます。これらを読んで意味が取れるレベルは必要です。
開発経験が薄い場合の対策は明確で、インプットを減らしてハンズオンを増やします。SAM CLIで関数をデプロイし、IAMロールを意図的に誤設定してAccessDeniedを出し、CloudWatch Logsでエラーを読む。この往復を数回やると、トラブルシューティングドメイン(18%)の問題文が具体的に見えてきます。
SAAを飛ばしてDVAから受験しても問題ない?
AWS認定に前提資格の縛りはないため、DVAから受けても制度上の問題はありません。判断基準は「VPC・サブネット・セキュリティグループ・IAMの基礎が説明できるか」です。DVAでもLambdaのVPC接続やRDSへのアクセス、エンドポイント経由の通信が出てくるため、ネットワークとIAMの基礎知識がないと暗記に頼る割合が増えます。
業務がサーバーレス中心でアプリ開発寄りなら、DVAを先に取る方が学習内容と実務の距離が近く、モチベーションを維持しやすい利点があります。SAAを先に取った場合は、DVA範囲のうちセキュリティとコンピュート周りで重複があるため、学習コストを圧縮できます。アソシエイトの先を見据えるなら、AWS SAP 勉強時間50時間の合格体験記|スコア850で上位試験の進め方に目を通し、順序を決めておくのも手です。
Udemyなどの模擬試験だけで合格できる?
問題集だけで通る人はいますが、たいていはすでに実務で該当サービスを触っています。模擬試験は知識の確認と出題形式への適応に強い一方、体系化には向きません。問題集だけで進めると、同じ論点を別の角度から聞かれたときに答えられない「解答パターンの暗記」に陥りがちです。
最小構成は、動画講座1本と模擬試験1〜2セット、公式ドキュメントの重要ページの3点で足ります。これを揃えたうえで、模擬試験の解説でわからなかった箇所だけドキュメントに戻る運用が、時間対効果の面で現実的でしょう。
まとめ|最小構成の教材セットと受験までの進め方
判断材料を1枚に圧縮します。最小構成の教材セットは次の4点です。
- AWS公式の試験ガイド(無料)。出題比率と対象サービス一覧が学習計画の設計図になる
- DVA-C02対応の動画講座1本。知らないサービスの一周とハンズオンの導線
- 模擬試験1〜2セット(Udemyの模試講座、またはWeb問題集サービス)。解説の深さと回転機能で選ぶ
- 公式ドキュメントと公式サンプル問題(無料)。数値と挙動の最終確定、本番の言い回しの基準
受験までの進め方は次のとおり。
- 1〜2週目:試験ガイドでサービス一覧を棚卸し → 動画講座一周 → SAMで最小構成をデプロイできる状態に
- 3〜5週目:Lambda・DynamoDB・CI/CDを設定パラメータ単位で深掘り(手を動かす)
- 6〜8週目:模擬試験を本番形式で回し、間違いを「知らない/読み間違い/二択ミス」に分類して対処
- 受験日の確定条件:初見の模擬試験で75〜80%が安定し、公式サンプル問題で大きな取りこぼしがない
- 直前1週間:新規インプットを止め、クォータ値・フック順序・デプロイポリシー・Cognitoのトークン種別を確認
DVAが問うのは、限られたサービスの設定項目と例外挙動を知っているかどうかです。だからこそ、教材に課金する優先順位は「解説が深い問題集」と「手を動かせるハンズオン」に置くのが合理的です。料金・設問数・クォータ値などの最新仕様はAWS公式サイトで確認したうえで、自分の前提知識に合わせて上の4点セットを組んでください。