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年間
広告
広告