AWS認定資格 WEB問題集&徹底解説

デベロッパー–アソシエイト

AWS認定 デベロッパー–アソシエイトとは?

AWS認定資格の中でもデベロッパー–アソシエイトとは、どういった位置づけの資格になるのでしょうか?
ここでは、そういった疑問に解答してきたいと思います。

目次

AWS認定 デベロッパー–アソシエイト(DVA) 試験とは?

AWS Certified Developer - Associate (DVA-C02) 試験は、デベロッパーの役割を担う個人を対象としています。この試験は、受験者の AWS クラウドベースのアプリケーションの開発、テスト、デプロイ、およびデバッグの習熟度を検証します。

どんな能力があることを証明できる?

  • AWS でのアプリケーションの開発および最適化についての知識
  • 継続的インテグレーションと継続的デリバリー (CI/CD) ワークフローを使用したパッケージ化およびデプロイについての知識
  • アプリケーションコードとデータの保護についての知識
  • アプリケーションの問題の特定と解決することが出来る知識

推奨されるAWSの知識

  • AWS サービス API、AWS コマンドラインインターフェイス (AWS CLI)、SDK を使用したアプリケーションの開発および保護に関する知識
  • CI/CD パイプラインを使用した AWS でのアプリケーションのデプロイに関する知識

試験内容

AWSサービスの特性に関する問題や企業の課題解決に対してどのAWSサービスを利用するのが最適化など、より実務に近い内容も出題されます。

出題分野と比重
分野 内容 比重
1 AWS のサービスによる開発 32%
2 セキュリティ 26%
3 デプロイ 24%
4 トラブルシューティングと最適化 18%

各分野で求められる知識
  • 分野 1: AWS のサービスによる開発

    1.1 : AWS でホストされているアプリケーション用のコードの開発


    対象知識
    • アーキテクチャパターン (イベント駆動型、マイクロサービス、モノリシック、コレオグラフィー、オーケストレーション、ファンアウトなど)
    • べき等性
    • ステートフルとステートレスの概念の違い
    • 密結合されたコンポーネントと疎結合されたコンポーネントの違い
    • フォールトトレラントな設計パターン (エクスポネンシャルバックオフとジッターを使用した再試行、デッドレターキューなど)
    • 同期パターンと非同期パターンの違い
    対象スキル
    • プログラミング言語 (Java、C#、Python、JavaScript、TypeScript、Go など)での耐障害性と回復力のあるアプリケーションの作成
    • API の作成、拡張、保守 (レスポンス/リクエストの変換、検証ルールの適用、ステータスコードのオーバーライドなど)
    • 開発環境での単体テストの作成と実行 [AWS Serverless Application Model(AWS SAM) の使用など]
    • メッセージングサービスを使用するためのコードの作成
    • API と AWS SDK を使用した AWS のサービスとやり取りするためのコードの作成
    • AWS のサービスを使用したデータストリーミングの処理

    1.2 : AWS Lambda 用のコードの開発


    対象知識
    • イベントソースマッピング
    • ステートレスアプリケーション
    • 単体テスト
    • イベント駆動型アーキテクチャ
    • スケーラビリティ
    • Lambda コードからの VPC でのプライベートリソースのアクセス
    対象スキル
    • 環境変数とパラメータ (メモリ、同時実行、タイムアウト、ランタイム、ハンドラー、レイヤー、拡張機能、トリガー、送信先など) を定義することによる Lambda 関数の設定
    • コード (Lambda 送信先、デッドレターキューなど) を使用したイベントライフサイクルとエラーの処理
    • AWS のサービスとツールを使用したテストコードの作成と実行
    • Lambda 関数と AWS のサービスの統合
    • 最適なパフォーマンスのための Lambda 関数のチューニング

    1.3 : アプリケーション開発でのデータストアの使用


    対象知識
    • リレーショナルデータベースと非リレーショナルデータベース
    • 作成、読み取り、更新、削除 (CRUD) オペレーション
    • バランスの取れたパーティションアクセスのための高カーディナリティパーティションキー
    • クラウドストレージオプション (ファイル、オブジェクト、データベースなど)
    • データベース整合性モデル (強整合性、結果整合性など)
    • クエリオペレーションとスキャンオペレーションの違い
    • Amazon DynamoDB キーとインデックス作成
    • キャッシュ戦略 (ライトスルー、リードスルー、遅延読み込み、TTL など)
    • Amazon Simple Storage Service (Amazon S3) 階層とライフサイクル管理
    • エフェメラルデータストレージパターンと永続データストレージパターンの違い
    対象スキル
    • データをシリアル化および逆シリアル化してデータストアに永続性を提供
    • データストアの使用、管理、保守
    • データライフサイクルの管理
    • データキャッシュサービスの使用

  • 分野 2: セキュリティ

    2.1 : アプリケーションと AWS のサービスの認証および/または認可の実装


    対象知識
    • ID フェデレーション [Security Assertion Markup Language (SAML)、OpenID Connect (OIDC)、Amazon Cognito など]
    • ベアラートークン [JSON ウェブトークン (JWT)、OAuth、AWS Security Token Service (AWS STS) など]
    • Amazon Cognito でのユーザープールと ID プールの比較
    • リソースベースのポリシー、サービスポリシー、プリンシパルポリシー
    • ロールベースのアクセスコントロール (RBAC)
    • ACL を使用するアプリケーション認可
    • 最小権限の原則
    • AWS マネージドポリシーと顧客マネージドポリシーの違い
    • アイデンティティとアクセスの管理
    対象スキル
    • ID プロバイダーの使用によるフェデレーテッドアクセスの実装 [Amazon Cognito、AWS Identity and Access Management (IAM) など]
    • ベアラートークンを使用したアプリケーションのセキュリティ保護
    • AWS へのプログラムによるアクセスの設定
    • AWS のサービスに対する認証された呼び出しの実行
    • IAM ロールの引き受け
    • プリンシパルのアクセス許可の定義

    2.2 : AWS サービスを使用した暗号化の実装


    対象知識
    • 保管中と転送中の暗号化
    • 証明書管理 (AWS Private Certificate Authority など)
    • キーの保護 (キーのローテーションなど)
    • クライアント側の暗号化とサーバー側の暗号化の違い
    • AWS マネージドキーとカスタマーマネージド AWS Key Management Service(AWS KMS) キーの違い
    対象スキル
    • 暗号化キーの使用によるデータの暗号化または復号
    • 開発目的での証明書と SSH キーの生成
    • アカウントの境界を越えた暗号化の使用
    • キーローテーションの有効化と無効化

    2.3 : アプリケーションコードでの機密データの管理


    対象知識
    • データ分類 [個人を特定できる情報 (PII)、保護対象医療情報 (PHI) など]
    • 環境変数
    • シークレット管理 (AWS Secrets Manager、AWS Systems ManagerParameter Store など)
    • セキュアな認証情報の処理
    対象スキル
    • 機密データを含む環境変数の暗号化
    • シークレット管理サービスの使用による機密データの保護
    • 機密データのサニタイズ

  • 分野 3: デプロイ

    3.1 : AWS にデプロイするアプリケーションアーティファクトの準備


    対象知識
    • アプリケーション設定データ (AWS AppConfig、Secrets Manager、パラメータストアなど) へのアクセス方法
    • Lambda デプロイのパッケージ化、レイヤー、設定オプション
    • Git ベースのバージョン管理ツール (Git など)
    • コンテナイメージ
    対象スキル
    • パッケージ内でのコードモジュール (環境変数、設定ファイル、コンテナイメージなど) の依存関係の管理
    • アプリケーションデプロイのためのファイルとディレクトリ構造の整理
    • デプロイ環境でのコードリポジトリの使用
    • リソース (メモリ、コアなど) に対するアプリケーション要件の適用

    3.2 : 開発環境でのアプリケーションのテスト


    対象知識
    • アプリケーションのデプロイを実行する AWS サービスの機能
    • モックエンドポイントを使用する統合テスト
    • Lambda のバージョンとエイリアス
    対象スキル
    • AWS のサービスとツールを使用したデプロイされたコードのテスト
    • API のモック統合の実行と統合の依存関係の解決
    • 開発エンドポイントを使用したアプリケーションのテスト (Amazon API Gateway でのステージの設定など)
    • 既存の環境へのアプリケーションスタックの更新のデプロイ (AWS SAMテンプレートの別のステージング環境へのデプロイなど)

    3.3 : デプロイテストの自動化


    対象知識
    • API Gateway ステージ
    • 継続的インテグレーションと継続的デリバリー (CI/CD) ワークフローにおけるブランチとアクション
    • 自動化されたソフトウェアテスト (単体テスト、モックテストなど)
    対象スキル
    • アプリケーションテストイベントの作成 (Lambda、API Gateway、AWS SAMリソースをテストするための JSON ペイロードなど)
    • さまざまな環境への API リソースのデプロイ
    • 統合テスト用に承認済みのバージョンを使用するアプリケーション環境の作成 (Lambda エイリアス、コンテナイメージタグ、AWS Amplifyブランチ、AWS Copilot 環境など)
    • Infrastructure as Code (IaC) テンプレートの実装およびデプロイ (AWS SAMテンプレート、AWS CloudFormation テンプレートなど)
    • 個々の AWS のサービスの環境管理 (API Gateway での開発、テスト、本番環境の区別など)

    3.4 : AWS CI/CD サービスを使用したコードのデプロイ


    対象知識
    • Git ベースのバージョン管理ツール (Git など)
    • AWS CodePipeline での手動承認と自動承認
    • AWS AppConfig と Secrets Manager からアプリケーション設定にアクセス
    • AWS サービスを使用する CI/CD ワークフロー
    • AWS のサービスとツール [CloudFormation、AWS Cloud Development Kit(AWS CDK)、AWS SAM、AWS CodeArtifact、AWS Copilot、Amplify、Lambda など] を使用するアプリケーションのデプロイ
    • Lambda デプロイのパッケージングオプション
    • API Gateway ステージとカスタムドメイン
    • デプロイ戦略 (Canary、ブルー/グリーン、ローリングなど)
    対象スキル
    • 既存の IaC テンプレート (AWS SAM テンプレート、CloudFormationテンプレートなど) の更新
    • AWS のサービスを使用したアプリケーション環境の管理
    • デプロイ戦略を使用したアプリケーションバージョンのデプロイ
    • ビルド、テスト、デプロイアクションを呼び出すためのリポジトリへのコードのコミット
    • さまざまな環境にコードをデプロイするためのオーケストレーションされたワークフローの使用
    • 既存のデプロイ戦略を使用したアプリケーションロールバックの実行
    • バージョンとリリース管理へのラベルとブランチの使用
    • 動的デプロイを作成するための既存のランタイム設定の使用 (Lambda 関数での API Gateway のステージング変数の使用など)

  • 分野 4: トラブルシューティングと最適化

    4.1 : 根本原因分析の支援


    対象知識
    • ログ記録およびモニタリングシステム
    • ログクエリの言語 (Amazon CloudWatch Logs Insights など)
    • データの可視化
    • コード分析ツール
    • 一般的な HTTP エラーコード
    • SDK によって生成される一般的な例外
    • AWS X-Ray のサービスマップ
    対象スキル
    • 欠陥を特定するためのデバッグコード
    • アプリケーションメトリクス、ログ、トレースの解釈
    • 関連データを検索するためのログのクエリ
    • カスタムメトリクスの実装 [CloudWatch 埋め込みメトリクスフォーマット(EMF) など]
    • ダッシュボードとインサイトを使用したアプリケーションヘルスの確認
    • サービス出力ログを使用したデプロイ失敗のトラブルシューティング

    4.2 : オブザーバビリティのためのコードの計測


    対象知識
    • 分散トレース
    • ログ記録、モニタリング、オブザーバビリティの違い
    • 構造化ログ
    • アプリケーションメトリクス (カスタム、埋め込み、組み込みなど)
    対象スキル
    • アプリケーションの動作と状態を記録する効果的なログ記録戦略の実装
    • カスタムメトリクスを出力するコードの実装
    • トレースサービスへの注釈の追加
    • 特定のアクション (クォータ制限またはデプロイの完了に関する通知など) に関する通知アラートの実装
    • AWS のサービスとツールを使用したトレースの実装

    4.3 : AWS のサービスと機能を使用したアプリケーションの最適化


    対象知識
    • キャッシュ
    • 同時実行
    • メッセージングサービス [Amazon Simple Queue Service (Amazon SQS)、Amazon Simple Notification Service (Amazon SNS) など]
    対象スキル
    • アプリケーションパフォーマンスのプロファイリング
    • アプリケーションの最小メモリと処理能力の決定
    • サブスクリプションフィルターポリシーを使用したメッセージの最適化
    • リクエストヘッダーに基づくコンテンツのキャッシュ

受験概要(試験形式・試験場所・試験日程・受験料・合格基準・有効期限)

AWS認定 デベロッパー–アソシエイト(DVA)の試験概要は以下の通りです。

試験形式

試験は、テストセンターまたはオンラインでPC操作で行います。
問題数は65問、試験時間は130分で、全て選択問題になります。
1問あたり2分ですので、時間的には余裕をもって解けるかと思います。

試験場所

テストセンターの場合は、受験申し込みの際に以下のような感じで郵便番号を入力すると、最寄りのテストセンターが表示されます。

試験日程

テストセンターにより異なります。
毎日行っているところもあれば、平日のみのテストセンターもありました。

※ただし、不合格で再受験する場合は、14日間待つ必要があります。

受験料

20,000円(税別)

※試験区分により異なります

合格基準

72%

※配点は公開されていませんが、1000点満点で720点が最低合格ラインとなります。

有効期限

3年間