AWS Certified Developer - Associate(DVA-C02)対策用の詳細シラバスです。
各項目の出題頻度を 1/5 〜 5/5 の5段階、学習優先度を A〜C でマトリクス化しています。
アーキテクチャパターン
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| イベント駆動型 vs 同期/非同期処理 | A (5/5) | EventBridge, SNS, SQS, Lambda, Step Functions 💡 前提知識: マイクロサービス・モノリシック, コールバックやポーリングの違い。試験では「イベント駆動型アーキテクチャとは何か」「同期処理と非同期処理の違い」などを問う問題が頻出。Lambda関数の呼び出し方法(同期 vs 非同期)や、イベント・バス (Amazon EventBridge) を使った連携設計の選択肢問題が出やすい。 |
| ステートフル vs ステートレス | A (4/5) | Lambda, ECS, RDS 💡 前提知識: HTTPセッション, ステートレス設計パターン。アプリケーションの状態管理に関する問題で、「ステートレスなLambda関数の利点」や「ステートフルなアプリで使用するストレージ」などが出題されやすい。ステートレス設計はサーバーレスにも繋がる重要論点。 |
| アイデンポテンシー (Idempotency) | A (4/5) | API Gateway, Lambda, SQS 💡 前提知識: 冪等性の概念, 再試行時の副作用回避。試験ガイドで「Idempotency」がキー概念として挙げられており、API連携やリトライ設計の問題で「同じリクエストを繰り返しても影響を与えない方法」を問う設問が多い。例えば「リクエストにユニークIDをつけて重複排除する設計」など。 |
| コンポーネントの結合度 (疎結合 vs 密結合) | A (4/5) | SNS, SQS, API Gateway 💡 前提知識: マイクロサービスの連携手法。疎結合な設計を求める問いが多い。例えば「SNSとSQSを併用して送信者と受信者の結合度を下げる方法」や「密結合の課題」を問われることがある。 |
| フォールトトレラント設計 (リトライ, DLQなど) | A (5/5) | SQS, Lambda, SNS 💡 前提知識: 再試行ポリシー, Exponential Backoff, デッドレターキュー。AWS試験ガイドにリトライ・デッドレターキュー等の耐障害パターンが記載されており、リトライ時のエラー処理やDLQを活用した設計についての問題が頻出。例: 「Lambdaの処理失敗をDLQに送る設定」など。 |
| マイクロサービス vs モノリシック | B (4/5) | AWS Lambda, ECS, API Gateway 💡 前提知識: サービス分割のメリット/デメリット。出題頻度はやや低いが、「マイクロサービス化のメリット (例: 独立デプロイ)」や「マイクロサービス設計で考慮すべきこと」を問うことがある。総合的な設計問題で名前が出る場合がある。 |
API 設計 (API Gateway, AppSync)
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
|
Amazon API Gateway (REST, HTTP, WebSocket) |
A (4/5) | API Gateway, Lambda, Cognito 💡 前提知識: リクエスト/レスポンス構造, ステージ/リソース管理。API Gatewayに関する問題で「ステージの役割」や「キャッシュ機能の活用」、「CORS設定」などが頻出。例えば「Stage変数を使った環境切り替え」や「カスタムドメイン設定」の選択肢問題が出る。 |
| GraphQL & AWS AppSync | C (2/5) | AppSync, DynamoDB, Cognito 💡 前提知識: GraphQLの基本, 認証方式。範囲としてはそこまで重視されないが、「AppSyncでDynamoDBをバックエンドにする設定」や「Cognitoユーザープールによる認証」のような一般知識が問われることがある。基本的な概念の理解があればよい。 |
AWS Lambda / サーバーレス
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| ランタイム設定 (メモリ/タイムアウト/ハンドラ) | A (5/5) | Lambda, AWS SAM 💡 前提知識: Lambdaの動作モデル, メモリとCPU性能の関係。Lambda関数のメモリやタイムアウト設定に関する問題は頻出で、メモリ増加によるコンピューティング能力の向上などが問われる。例: 「Lambdaメモリを2倍にすると起動時間はどう変わるか」。 |
| Execution Role (実行ロール) | A (4/5) | IAM, Lambda 💡 前提知識: IAMロールとポリシー, IAMロールの引き受け。「Lambdaがアクセスするリソースを制御するためにIAMロールを付与する」問題が多い。例えば「Lambda実行ロールに付与すべき最小権限は何か」や「クロスアカウントロールの設定方法」などが問われる。 |
| 環境変数 | B (3/5) | Lambda, Systems Manager Parameter Store 💡 前提知識: コンフィグ管理, 暗号化オプション。環境変数の利用や暗号化に関する質問が出る。例えば「機密情報を含む環境変数の暗号化方法」や「Lambdaの環境変数でAPIGatewayのStage変数を参照できるか」など。 |
| レイヤー (Layers) | C (2/5) | Lambda, ECR (Container) 💡 前提知識: ランタイム共通ライブラリの概念。Lambdaレイヤーを使ったライブラリ共有に関する基礎的な理解があれば十分。試験では「レイヤーを使って何ができるか」といった説明問題がまれに出る。 |
| トリガー (イベントソース) | A (4/5) | API Gateway, SQS, SNS, Kinesis, EventBridge, DynamoDB Streams 💡 前提知識: イベントマッピングの概念。Lambda関数を呼び出すトリガーに関する問題が多い。例: 「API GatewayやSNSでLambdaをトリガーする設定」や「DynamoDB StreamsからLambdaを起動する方法」など。 |
| VPC接続 | B (3/5) | Lambda, VPC, ENI, NAT Gateway 💡 前提知識: VPCとサブネット, セキュリティグループ。LambdaをVPC内リソースにアクセスさせる際にENIが作成されることや、NAT Gatewayが必要なことに関連した設問が出やすい。例えば「LambdaからRDSにアクセスする際の要件」など。 |
| バージョンとエイリアス | B (3/5) | Lambda, API Gateway 💡 前提知識: リリース管理, Canaryデプロイ。「Lambdaのバージョン管理とエイリアスを使ったデプロイ制御」に関する基本問題が出る。実際のケースでは「Aliasを使って本番バージョンとテストバージョンを切り替える方法」が問われやすい。 |
| エラー処理 (DLQ, Destinations) | A (5/5) | SQS (Dead Letter Queue), SNS (送信先), Lambda 💡 前提知識: 再試行ポリシー, 非同期呼び出しの失敗処理。Lambdaの非同期呼び出しで失敗した場合にDLQやLambda Destinationsでエラーを扱う方法は重要テーマ。例えば「LambdaのDLQ設定の挙動」や「Destinationを使った通知構成」の選択問題が頻出。 |
| 実行同時数 (Concurrency) | B (3/5) | Lambda, API Gateway (Rate Limit) 💡 前提知識: スロットル, コールドスタート。「同時実行数の制御」に関する知識は必要。例: 「Reserved concurrency を設定してプロビジョニングする場合」や「Burst容量」等に関する問題が出る可能性がある。 |
| 性能チューニング | A (4/5) | Lambda, API Gateway 💡 前提知識: レイテンシ, メモリ/CPUトレードオフ。Lambdaのプロファイリングやプロビジョニングに関する出題がある。メモリ量と処理性能の相関など、パフォーマンス最適化の考え方が問われる。 |
| スナップスタート (SnapStart) | C (2/5) | Lambda 💡 前提知識: Lambda の起動最適化技術。新機能の知識で、Lambda SnapStartを使った高速起動に関する説明問題がまれに出る。基本的には「メジャーアップデートが必要」「リソース増加」など理解しておく程度。 |
開発ツール (SDK, CLI, CloudShell, CodeArtifact, Cloud9)
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| AWS SDK | A (4/5) | 各AWSサービス, IAM 💡 前提知識: AWS認証情報の取得順序 (共有認証情報ファイル, 環境変数等)。SDKを使ってAWSサービスを操作するコード開発に関する問題が出る。例: 「SDKでエラーを受け取った場合の例外型」や「認証情報のチェーン」について問われることがある。 |
| AWS CLI / CloudShell | B (3/5) | AWS CLI, CloudShell 💡 前提知識: AWS CLIのセットアップ (aws configure), プロファイル管理。CLIコマンドを使った操作(例: aws s3 cpやaws lambda invoke)の知識が要求される。マネジメントコンソールでの設定よりCLIでの操作推奨の問題が出ることもある。 |
| Git / リポジトリ | C (2/5) | CodeCommit, CodePipeline 💡 前提知識: Gitブランチ, マージフロー。Gitの基本やCodeCommit/CodePipelineとの連携は基礎知識で、具体的なコマンド知識というよりは「コードコミットでPipelineが開始される」等の仕組み理解が問われる。 |
| AWS Cloud9 / CloudShell | C (2/5) | Cloud9, CloudShell 💡 前提知識: Web IDE, ブラウザIDEの役割。Cloud9やCloudShellなどの開発ツールは試験範囲では出題頻度は低いが、状況に応じた利用例(「一時的な環境構築に便利」など)は押さえておくとよい。 |
コンテナ・マイクロサービス
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| ECS/EKS/ECR (コンテナオーケストレーション) | B (4/5) | ECS, ECR, Fargate, EKS 💡 前提知識: Dockerコンテナの概念, クラスター・タスク定義。コンテナ関連では「ECSとEKSの使い分け」や「ECSタスク定義の設定項目」を問われる。例えば「Fargate起動タイプの特徴」や「Elastic Beanstalkとの違い」などが出る。 |
| AWS Copilot / CodeBuild 連携 | B (3/5) | AWS Copilot, CodeBuild, ECR 💡 前提知識: CI/CDにおけるコンテナビルド。CopilotやCodeBuildを用いたDockerイメージのビルド/デプロイ例が出題されることがある。具体的には「Copilot CLIでのパイプライン自動化」「CodeBuildでECRにプッシュ」など。 |
| Kubernetes (EKS) | C (2/5) | EKS, eksctl, IAM 💡 前提知識: KubernetesのPod/Serviceなど基本。EKS自体は範囲外ではないが、Kubernetes特有の詳細ではなく「クラスタ作成時のIAMロール」や「LoadBalancerサービスタイプ」程度。基本的な概念を知っていればよい。 |
| Elastic Beanstalk | C (2/5) | Elastic Beanstalk, EC2, S3 💡 前提知識: PaaSとしての位置づけ。PaaS型サービスであるElastic Beanstalkの用途を理解していれば十分で、「ソースをアップロードするだけで環境が立つ」などの利点に関する問題が出る程度。 |
| EventBridge / Step Functions | A (4/5) | EventBridge, Step Functions, Lambda 💡 前提知識: イベントバス設計, ステートマシンの使い方。これらサーバーレス統合サービスは重要。EventBridgeのルール設定や、Step Functionsでのワークフロー作成に関する問題がある。例: 「EventBridgeで複数サービスを連携する設定」や「Step Functionsで並列分岐を作る方法」が問われやすい。 |
メッセージング / イベント駆動
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| Amazon SQS (Simple Queue Service) | A (4/5) | SQS, SNS, Lambda 💡 前提知識: キューイングモデル, DLQ, メッセージサイズ制限。SQSは頻出サービスの1つで、標準キュー vs FIFOキューの違いやDLQ設定に関する問題が出る。例として「SNSと組み合わせて順序性を保証するにはFIFOキューを使う」などが問われる。 |
| Amazon SNS (Simple Notification Service) | A (4/5) | SNS, SQS, Lambda, HTTP/Email 💡 前提知識: Pub/Subモデル, サブスクリプションタイプ。SNSも頻出で、トピックを介したファンアウトやメール配信などの用途を問う設問がある。「SNSとSQSで配送保証を組み合わせるにはどうするか」等の選択肢問題が多い。 |
| Amazon EventBridge | B (3/5) | EventBridge, CloudWatch Events, Lambda 💡 前提知識: イベントパターンとターゲット設定。EventBridgeではルールでフィルタリングしたイベント送信ができることが問われる。例えば「クロスアカウントイベントバスやスケジュールルールの設定」について問う問題がある。 |
| AWS Step Functions | B (4/5) | Step Functions, Lambda, SNS 💡 前提知識: ステートマシン, ワークフロー設計。ステートマシンの順序制御や状態管理に関する問題が出る。「Waitステートの使い方」や「Parallelステートで複数処理を同時実行する方法」など、設計例が問われる可能性がある。 |
| Amazon Kinesis (Data Streams) | B (3/5) | Kinesis Data Streams, Kinesis Data Firehose, Lambda 💡 前提知識: ストリーミングデータの概念, シャード。Kinesisストリームではシャードとスループット設定、Firehoseとの違いなどが問われる。例えば「Kinesisで高スループットを得るにはシャード数を増やす」などが選択肢に出やすい。 |
| モバイル/IoT向け (AWS IoT Core) | C (2/5) | IoT Core, MQTT, Lambda 💡 前提知識: MQTTプロトコル, コネクション管理。IoT Core自体は試験範囲では深く問われないが、モバイルアプリとの認証方式 (Cognito資格情報) や、IoTメッセージングの基本的な利用例を知っておくと安心。 |
データストア (Storage / Databases)
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| Amazon DynamoDB (NoSQL) | A (5/5) | DynamoDB, DAX, Lambda, CloudWatch 💡 前提知識: パーティションキー/ソートキー, 読み書きスループット (WCU/RCU), インデックス, 一致整合性。DynamoDBは重要トピックで、スループット単位やGSIs/LSIsの使い方、キャッシュ (DAX) などが頻出。例: 「読み取りリクエストの整合性 (強/結果) を選ぶ場面」や「パーティションホットスポットの回避策を問う設問」が出やすい。 |
| Amazon RDS / Aurora (Relational DB) | B (4/5) | RDS (MySQL/ PostgreSQL), Amazon Aurora, Lambda 💡 前提知識: マルチAZ/リードレプリカ, 冗長構成。RDSでは「マルチAZ配置 vs リードレプリカの役割」「スナップショットによるバックアップ」などが問われる。Auroraの自動スケーリングやクラスタ化特性も知っておくとよい。 |
| Amazon ElastiCache (Redis/Memcached) | A (4/5) | ElastiCache (Redis, Memcached), DAX, VPC 💡 前提知識: キャッシュの役割, マネージドRedisの機能。ElastiCacheの問題で「Redis vs Memcachedの選択」「キャッシュクラスターの置き場 (パブリック or VPC)」「Redisのバックアップ」などが出題されやすい。キャッシュを使った読み取り高速化についても問われる。 |
| Amazon S3 (オブジェクトストレージ) | A (4/5) | S3, S3 Glacier, Lambda, CloudFront 💡 前提知識: ストレージクラス (標準/IA/Glacier) とライフサイクル, イベント通知, バケットポリシー。S3は容量や階層、暗号化オプションに関する問題が多い。例: 「オブジェクトのライフサイクル設定でコスト削減するには」「S3のリース整合性の特徴」など。また、イベント通知(例: S3->Lambdaトリガー)も試験で問われることがある。 |
| Amazon EFS / FSx | C (3/5) | EFS, FSx, EC2, Lambda 💡 前提知識: ファイルストレージとオブジェクトストレージの違い。EFS/FSxはRDSほど頻度は高くないが、「LambdaからEFSにアクセスする設定」「POSIX準拠ファイル共有が必要なケース」などが出題される場合がある。 |
| データキャッシュ戦略 | A (4/5) | ElastiCache, CloudFront, DynamoDB DAX, API Gatewayキャッシュ 💡 前提知識: キャッシュ方式 (Write-through, Read-through, Lazy)、TTL。アプリケーションパフォーマンス最適化問題でキャッシュ戦略がよく登場する。例: 「読み取り頻度の高いデータにDAXを使う」「CloudFrontでコンテンツをキャッシュ」など具体的シナリオ形式の問題がある。 |
暗号化・セキュリティ
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| 暗号化 (透過/転送/クライアントサイド) | A (4/5) | KMS, S3 (SSE), EBS, RDS, ACM, TLS/SSL 💡 前提知識: 暗号化 at rest vs in transit, SSE-KMS vs SSE-C vs CSE。データの暗号化に関する問題は頻出。例: 「S3オブジェクトのサーバー側暗号化での鍵管理方法」や「KMSキーのリージョン間使用」に関する選択肢が出やすい。 |
| AWS KMS (Key Management Service) | A (4/5) | KMS, Lambda, RDS, S3 💡 前提知識: CMK (顧客管理キー) vs AWS管理キー, キーローテーション。KMSキーの種類や用途、アクセス権の設定が問われる。例: 「KMSキーのローテーション設定」と「キー共有 (外部アカウントへのキー共有)」の選択肢問題がある。 |
| 証明書管理 (ACM / Private CA) | C (2/5) | AWS Certificate Manager, ACM Private CA, IAM 💡 前提知識: SSL/TLS証明書の概念。サービスにSSL証明書を使う問題で、ACMの使い方やPublic vs Private CAの違いが問われることがある。「パブリック証明書を作成するために使用するサービスは?」など。 |
| シークレット管理 (Secrets Manager, Parameter Store) | A (5/5) | AWS Secrets Manager, Systems Manager Parameter Store, IAM 💡 前提知識: 秘密情報の暗号化・アクセス制御。機密データ管理は重要トピック。環境変数での秘密情報暗号化や、Secrets Manager・Parameter Storeの使い分け問題が頻出。例: 「データベースのパスワードを安全にLambdaから取得するには?」など。 |
| 認証トークン (JWT, OAuth2, OIDC, SAML) | B (4/5) | Cognito, IAM, STS 💡 前提知識: 認証フロー, IDトークンの構造。CognitoやSTSを利用した連携問題で、「JWTトークンの検証方法」や「IDトークンとアクセストークンの違い」が問われる。特にCognitoでは「ユーザープールで生成されるトークン用途」などが狙われる。 |
| IAMロールとポリシー | A (5/5) | IAM, STS, Cognito 💡 前提知識: JSONポリシー文法, 最小権限の原則。IAM関連の知識は必須。ロールとポリシーの違いや、サービスロール vs クロスアカウントアクセスなどが頻出。例: 「Lambdaに適切なIAMポリシーを付与する設問」や「フェデレーションアクセの設定方法」が出記される。 |
| 認証フェデレーション (Cognito, SAML, OIDC) | B (4/5) | Cognito (ユーザープール/IDプール), IAM Identity Center 💡 前提知識: フェデレーションの概要, SAML/OIDCの用途。IDプロバイダーやCognitoの利用問題で、ユーザープール vs IDプールの機能差や、社外IDを使うフェデレーション設定が問われる。例えば「CognitoのIDプールでサードパーティログインを有効化する手順」のような問題がある。 |
| 最小権限の原則 | A (3/5) | IAM, KMS, Secrets Manager 💡 前提知識: セキュリティベストプラクティス。IAMやKMSの設問で必ず出てくる原則。例えば「不要な権限を削減する方法」や「クロスアカウントでのアクセス設定は最小権限で行うべき理由」など、セキュリティ思想を理解しているか問われる。 |
デプロイ・CI/CD
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| インフラストラクチャ自動化 (IaC) | A (5/5) | AWS CloudFormation, AWS SAM, AWS CDK 💡 前提知識: テンプレートの構成, スタックの更新。IaC関係の問題が多く出る。例えば「CloudFormationで同じテンプレートを複数環境にデプロイする方法」や「SAMテンプレートで環境変数を指定する方法」が頻繁に問われる。 |
| AWS SAM / Serverless Framework | B (4/5) | AWS SAM, CloudFormation, Lambda 💡 前提知識: テンプレートの基本構造, sam build/deploy。SAMはLambdaアプリのデプロイで重要。設定ファイルでの依存関係管理やリソース定義方法に関する設問が出る。例: 「SAM CLIを使ってLambda関数を別環境にデプロイする方法」など。 |
| デプロイ戦略 (ブルー/グリーン, カナリア, ローリング) | A (4/5) | CodeDeploy, Lambda, API Gateway 💡 前提知識: トラフィックシフト, バージョン管理。デプロイ戦略関連は重視される。「Application Load Balancerでブルー/グリーンを行う方法」や「Lambdaのカナリアリリース設定」が問われることが多い。 |
| AWS CodePipeline / CodeBuild / CodeDeploy | A (4/5) | AWS CodePipeline, CodeBuild, CodeDeploy, CodeCommit, CodeArtifact 💡 前提知識: CI/CDの概念, ビルド/デプロイ段階。公式ガイドにもCI/CDがキーワードとして挙げられ、CodePipelineを使った自動化問題が多い。「Gitプッシュでパイプラインが起動する流れ」や「手動承認の使い所」が例題になる。 |
| バージョン管理 (タグ, ブランチ) | B (3/5) | AWS CodeCommit, Git (GitHub, CodePipeline) 💡 前提知識: Gitフロー, リリース管理。Gitのブランチ戦略とCodePipeline連携問題。「別ブランチをマージすることでどのようにテスト環境にデプロイされるか」など、CI/CD全体のワークフロー理解が試されることがある。 |
| コンテナのデプロイ (ECS/EKS) | C (2/5) | ECS, EKS, CodeBuild/CodePipeline 💡 前提知識: Dockerイメージのビルド・プッシュ。コンテナアプリケーションのデプロイ方式は試験範囲が浅めだが、「FargateタスクをCodePipelineで更新する」等の基本的な流れは知っておきたい。 |
| テスト環境 (API Gatewayステージ, Lambdaエイリアス) | B (3/5) | API Gateway, Lambda, SAM 💡 前提知識: ステージ変数, エイリアス。開発段階でのテストに関する問題では、API Gatewayのステージ分けやLambdaエイリアスによる環境分割がテーマになる。例: 「ステージ変数を使って本番と開発環境のAPIを切り替える方法」が出やすい。 |
| モックテスト / 単体テスト (AWS SAM Local等) | C (2/5) | AWS SAM (ローカルテスト), Jest (Node.js)など 💡 前提知識: モックエンドポイント, テストフレームワーク。開発環境でのテストに関する基本問題。SAM CLIやAWSツールを使ったLambdaのローカルテスト機能や、API Gatewayのステージを使ったモックテストなどが軽く触れられる。 |
ロギング・モニタリング・トラブルシューティング
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| Amazon CloudWatch Logs | A (4/5) | CloudWatch Logs, Lambda, EC2 💡 前提知識: ロググループ/ストリーム, ログフィルター。ログ関連は必須知識。CloudWatch Logs Insightsでのクエリや、「/aws/lambda/<関数名>」などロググループ名の規則、「ログが表示されない原因 (IAM権限など)」について問われることが多い。 |
| CloudWatch Metrics / Alarms / Dashboards | A (3/5) | CloudWatch Metrics, Alarms, ダッシュボード, EMF (埋め込みメトリクス) 💡 前提知識: カスタムメトリクス, メトリクス名空間。カスタムメトリクス (EMF) の実装やアラーム設定に関する出題が増えている。CloudWatchアラームで特定の条件を通知する設定や、メトリクスダッシュボードの利用例が問われる。 |
| AWS X-Ray (分散トレーシング) | B (4/5) | X-Ray, Lambda, EC2, API Gateway 💡 前提知識: トレースセグメント, サービスマップ。X-Rayは「トランザクションを可視化するツール」として触れられることが多い。たとえば「サンプリングルールの設定」「アノテーションの追加方法」について知っておくと良い。 |
| CloudTrail (監査ログ) | B (2/5) | CloudTrail, IAM, AWS Config 💡 前提知識: APIコールの履歴取得。管理監査の観点でCloudTrailが登場。「CloudTrailは何を記録するか」「イベント履歴からトラブルを追跡できるか」など、監査ログの用途を問う設問がある。 |
| 構造化ログ (Structured Logging) | C (2/5) | CloudWatch Logs, Lambda 💡 前提知識: JSON形式ログ, kinesisなどへの書き出し。ロギング戦略として「JSONなど構造化ログの利点」を理解しておくとよい。試験では「埋め込みメトリクスフォーマット (EMF) を使ったログの例」などの説明問題が出ることがある。 |
| アラートと通知 (SNS連携など) | B (3/5) | CloudWatch Alarms, SNS, EventBridge 💡 前提知識: アラームのアクション, 通知設定。CloudWatchアラームやEventBridgeで特定イベントをトリガーしてSNS通知するシナリオ問題がある。例: 「CPU使用率が閾値を超えたときにSNS経由で通知する設定方法」が挙げられる。 |
| トレースとデバッグ (エラー解析) | A (4/5) | X-Ray, CloudWatch Logs Insights, Lambda, API Gateway 💡 前提知識: 例外タイプ, HTTPステータスコード, ロギングクエリ言語。デバッグ問題では「CloudWatch Logs Insightsでログを検索する方法」や「Lambdaの例外メッセージから原因を特定」などが頻繁に問われる。またX-Rayサービスマップを使ったボトルネック解析も出題対象。 |
| モニタリングとオブザーバビリティの違い | C (2/5) | CloudWatch (Logs/Metrics), X-Ray 💡 前提知識: 監視 vs 可観測性の概念。モニタリング(死活監視)とオブザーバビリティの違いが説明できるか問われる。具体例として「構造化ログやトレースを使ってアプリケーションの内部状態を把握する」必要性が説明できれば十分。 |
| アプリケーションヘルスチェック | C (2/5) | Route53ヘルスチェック, ALBヘルスチェック, ECSサービスヘルス 💡 前提知識: ヘルスチェックの仕組み。「ヘルスチェック」を設定することでアプリケーションの可用性を保つ設計はWell-Architectedにも関連し、ALBやRoute53のヘルスチェック設定に関する基本問題が出ることがある。 |
パフォーマンス最適化・可用性
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| プロファイリング | B (3/5) | AWS X-Ray, CloudWatch, CodeGuru 💡 前提知識: パフォーマンスボトルネック。アプリケーションパフォーマンスをプロファイルする問題が時折出る。「どのようにしてLambdaの処理時間を計測するか」など、使用可能なツール (X-Ray, CloudWatch) について理解しておくと有利。 |
| 同時実行性 (Concurrency) | B (3/5) | Lambda, API Gateway (Rate Limit), DynamoDB (RCU/WCU) 💡 前提知識: スケーリング, コールドスタート。サーバーレスのスケーラビリティに関する問題で同時実行設定が取り上げられる。「LambdaのReserved Concurrency設定でスループットを制限する方法」が問われることがある。 |
| キャッシュ | A (5/5) | ElastiCache, DAX, API Gatewayキャッシュ, CloudFront 💡 前提知識: キャッシュヒット率, TTL設定。キャッシュ戦略は非常に重要で、S3のキャッシュヘッダー、API Gatewayのレスポンスキャッシュ、ElastiCacheの導入など「どこにキャッシュを置くか」を問う問題が多い。 |
| スループット調整 (DynamoDB, Kinesis) | A (4/5) | DynamoDB (RCU/WCU), Kinesis (シャード), SQS (可視性タイムアウト) 💡 前提知識: データアクセスパターン, ホットパーティション回避。DynamoDBの容量設定やKinesisのシャード拡張に関する実務的問題。「スループットを動的に増減させる方法 (Auto Scaling)」や「ホットパーティションを避けるキー設計」が問われやすい。 |
| 可用性 (Fault Tolerance) | A (4/5) | マルチAZ配置 (RDS, ElastiCache), スケーリンググループ, SQS (デカップリング) 💡 前提知識: 障害時復旧設計, 冗長構成。可用性を高める設計について問われる。例えば「リソースを複数AZに分散させる理由」や「アプリ故障時にDLQで処理を継続する方法」が典型例。また、Well-Architectedの信頼性の柱に関連する考え方が試されることもある。 |
| オートスケーリング | B (3/5) | Application Auto Scaling (DynamoDB, ECS), Lambda (プロビジョニング) 💡 前提知識: メトリクスベースのスケールアウト/イン。必須ではないが、「条件に応じてDynamoDBのRCU/WCUをスケールさせる設定」や「ECSクラスターのタスク数を自動調整する仕組み」などが問われることがある。 |
| キャパシティプランニング | C (2/5) | EC2 (スケール), DynamoDB (オンデマンドvsプロビジョニング) 💡 前提知識: オンデマンド課金, リザーブドインスタンス。キャパシティとコストのバランスを問う問題では、オンデマンドと予約インスタンス、プロビジョニング済みスループットなどの理解が必要。例: 「RDSのリザーブドインスタンス購入時の注意点」のような問題がある。 |
| マルチリージョン / マルチAZ | C (3/5) | Route53 (マルチリージョン用ヘルスチェック), DynamoDB Global Tables, S3レプリケーション 💡 前提知識: データ複製と冗長化。可用性・耐障害性の高いシステム設計で「Global TablesやマルチAZ DB構成」のような考え方が出題されることがある。ただしデベロッパー試験ではArchitect試験ほど詳細には踏み込まれない。 |
コスト最適化
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| ストレージクラスとライフサイクル | B (4/5) | S3, Glacier, EFS 💡 前提知識: データアクセス頻度, 標準vs低頻度アーカイブ。コスト削減施策として、S3のライフサイクルルール設定(標準→IA→Glacier移行)などが問われる。例えば「一定期間後にオブジェクトをGlacierに移動させる設定」がよく出題される。 |
| コンピューティングモデルの選択 | B (3/5) | EC2 (オンデマンド/リザーブド/スポット), Lambda, Fargate 💡 前提知識: インスタンスタイプと料金, サーバーレス課金。EC2費用最適化では予約インスタンスやスポットインスタンスの利用がテーマになる。また「Fargate vs EC2起動タスクでのコスト比較」など、サーバーレスと自前インスタンスの費用比較問題もある。 |
| 省リソース設計 | B (3/5) | Lambda (メモリ/タイムアウトの最適化), RDS (リードレプリカ数の調整) 💡 前提知識: 過剰プロビジョニングの避け方。無駄なコストを抑える設計問題がある。「実際に利用するメモリ量に合わせてLambdaを最適化する」や「Trafficに応じてRDSインスタンスサイズを選択する」などが例。 |
| キャッシュによるコスト削減 | B (3/5) | CloudFront, API Gatewayキャッシュ, ElastiCache 💡 前提知識: キャッシュヒット率, Originへのリクエスト削減。リクエストを減らすキャッシュ戦略は性能だけでなくコストにも影響する。「CloudFrontを使ってS3への転送料金を削減する」「API GatewayキャッシュでLambda呼び出し回数を減らす」等が問われる。 |
| 無駄リソースの削除 | C (2/5) | CloudWatch, AWS Trusted Advisor 💡 前提知識: アイドルリソースの検出方法。CloudWatchアラームで使われていないリソースを検知したり、Trusted Advisorで推奨をチェックするといった運用面の話。「アイドルEC2を停止する必要性」などが出ることがある。 |
その他重要項目
| 項目 | 優先度 / 頻度 | 関連サービス / 試験対策のポイント |
|---|---|---|
| AppConfig / Parameter Store | B (3/5) | AWS AppConfig, Systems Manager Parameter Store 💡 前提知識: アプリケーション設定管理。アプリ設定管理に関し、AppConfigとParameter Store的使い分けを問う。「Feature flagや動的設定を安全に展開する方法」が設問になるケースがある。 |
| Amazon Cognito (ユーザープール/IDプール) | B (4/5) | Cognito, API Gateway, IAM 💡 前提知識: 認証モデル, OAuthフロー。Cognitoはデベロッパー試験でも出題頻度が高い。ユーザープール (認証) とIDプール (認可) の違いや、OAuth属性設定などが問われる。例: 「CognitoでSNSログインを組み込む手順」など。 |
| Elastic Load Balancing (ALB/NLB) | C (2/5) | ALB, NLB, EC2, ECS 💡 前提知識: ロードバランサーの基本動作。ALB/NLB自体はSAA試験範囲だが、デベロッパー試験では「API Gatewayとの違い」など簡単な比較問題が出る場合がある(例: WebSocketサポートの有無)。 |
| Route 53 (DNS/ヘルスチェック) | C (2/5) | Route 53, CloudFront 💡 前提知識: DNSラウンドロビン, フェイルオーバー。ユーザーリクエストの振り分けに関して、Route 53のシンプル vs 加重ルーティングやヘルスチェックを使ったフェイルオーバーの概念を軽く押さえる程度でよい。 |
| CloudFront (CDN) | B (2/5) | CloudFront, S3, ELB 💡 前提知識: グローバルキャッシュ, TTL設定。静的コンテンツ配信でCDNを活用する問題が出る。例として「CloudFrontを使い最も早くコンテンツ配信するリージョンは?」や「オリジングループ設定」など基本設問がある。 |
| AWS Well-Architected フレームワーク | C (2/5) | 関連サービス: — 💡 前提知識: 5つの柱 (運用上の卓越性, セキュリティ, 信頼性, パフォーマンス効率, コスト最適化)。WAF柱の概要はバックグラウンド知識として役立つ。「信頼性の柱が重視する設計」など、設計選択問題でウェルアーキテクトの概念が答えの根拠になる場合がある。 |
シラバスの網羅率と補足
1. 抜け漏れの可能性がある項目
- AWS AppSync/GraphQL: GraphQLの機能やアプリ認証関連は軽くしか触れていません。
- AWS CodeArtifact: パッケージ管理 (例: npm, Mavenリポジトリ) については明示的に記載していません。
- CloudTrail拡張 (Event History) の細部: CloudTrailは範囲に入りますが、Event Historyクエリ機能など詳細は省略しています。
- AWS WAF (Web Application Firewall): Webサイト防御設定は主にArchitect向けですが、デベロッパー試験では表面だけ触れる可能性があります。
- Service Quotas / リミット管理: リソースクォータ関連は頻出ではありませんが、実運用上の観点で出題されることがあります。
- ロギングの詳細 (AWS X-Rayセグメント/サブセグメント): X-Rayをリソース毎にどう使い分けるかなど細かい部分。
- アプリケーション開発言語特有の注意点: (例: PythonのLambdaレイヤー制限など) 基本的に技術独立なので省略しています。
2. 頻出だが見落としやすい論点(20個)
以下は「試験で出やすいが、学習中につい見落としがちなポイント」です。
- Cognitoユーザープール vs IDプールの違い: 認証(ユーザープール)と認可(IDプール)を混同しないこと。
- LambdaのVPCアクセス: LambdaをVPC接続するとENI生成に時間がかかることと、NATゲートウェイが必要なこと。
- Lambda非同期実行のリトライ挙動: 非同期呼び出しでは失敗時に自動リトライが発生し、バックオフ後にDLQに送られる仕組み。
- DynamoDBのオンデマンド vs プロビジョニング: 使用量に応じて自動スケールするオンデマンド課金の特性とリミット。
- DynamoDBパーティションキー設計とホットパーティション: 高カーディナリティキーの重要性や「ホット」になりやすいキー例。
- グローバルセカンダリインデックス (GSI) とローカルセカンダリインデックス (LSI): 各インデックス作成後の変更可否やデータ分散への影響。
- AWS SAM vs CloudFormation vs CDKの使い分け: SAMはLambda向け特化、CDKは高レベル言語でのIaC、CloudFormationは基礎と覚える。
- Step FunctionsのExpress vs Standardワークフロー: 応答速度と費用の違い、長時間実行の必要性。
- API Gateway vs Application Load Balancer: HTTP/2やWebSocket対応、カスタム認証の有無など使い分け条件。
- Kinesis Data Streams vs SQS/SNS: プル型ストリーミング vs プッシュ型メッセージングの違い。
- S3の整合性モデル: 同時書き込み時の一覧取得がイベントュアル整合性になる点。
- ステージ変数とLambda環境変数の違い: API GatewayステージとLambda環境設定のどちらで管理すべきか。
- CodePipelineの手動承認: 本番環境へのデプロイ前に手動承認ステップを挟む設定例。
- DAX (DynamoDB Accelerator): DynamoDB向けインメモリキャッシュの有効性と制限。
- Secrets Manager vs Systems Manager Parameter Store: シークレット自動ローテーション対応などの違い。
- CloudWatch Logs Insightsクエリ言語: 基本的なクエリ構文を使ってログを抽出する問題。
- X-Rayでのアノテーション・メタデータ: トレースデータに独自タグ付けし、検索/可視化に使う方法。
- ECS FargateとEC2起動の違い: Fargateはサーバ管理不要だが料金は割高、スケール要件の違い。
- スナップスタート (Lambda): JavaランタイムでのCold Start問題軽減技術だが、コード変更時は再デプロイ必要。
- API Gatewayのスロットリングとキャッシュ: リクエスト制限 (Rate Limit) とレスポンスキャッシュの使い分け。
以上の論点は「重要なのに解説を簡単に済ませてしまいがち」な内容です。公式ガイドや実際のドキュメントで確認し、具体例を押さえておくと効果等です。
3. 推奨学習順
- 🧭 基礎固め
- AWS IAMと基本的な認証/認可 (IAMロール・ポリシー、Cognito入門)、AWS CLI/SAMの使い方を習得する。
- ⚡ サーバーレス開発
- Lambdaの設定・デプロイ方法、API Gateway連携、イベントソース(SQS/SNS/DynamoDB Streams/Kinesis)について理解を深める。
- 💾 データストア
- DynamoDBのパフォーマンス設定、RDS/Auroraの高可用性構成、ElastiCacheによるキャッシュ戦略を学ぶ。
- 🛡️ セキュリティ全般
- KMSによる暗号化、Secrets Manager/Parameter Storeの活用、CognitoのID管理、最小権限の原則を固める。
- 🤖 デプロイとCI/CD
- CloudFormation/SAMによるIaC、CodePipeline/Build/DeployのCI/CDパイプラインを構築する方法を習得する。
- 📊 モニタリングとトラブルシューティング
- CloudWatch Logs/InsightsやX-Rayを使ってアプリケーションを監視し、問題発生時のデバッグ技術を身につける。
- 📈 最適化・運用
- パフォーマンス向上 (並列処理、キャッシュ)、可用性設計 (リトライ、AZ配置) やコスト削減策を学ぶ。実際の運用ケースを想定して設問を解く訓練をする。