コースについて
AWS認定デベロッパーアソシエイトの対策コースです。
コース内容
AWS認定デベロッパーアソシエイトの試験概要
1-1. AWSの概要・基礎・前提知識
-
AWSのリージョン
-
AWSのアベイラビリティゾーン(AZ)
-
エッジロケーションとリージョンエッジキャッシュ
-
AWSの利用方法
1-2. AWS認定デベロッパー アソシエイト試験で出題頻度が高いサービス
1-3. AWSを使った開発で頻繁に使われるサービス
コンテンツ分野 1: AWS のサービスによる開発
-
開発関連サービスの紹介
-
スキル 1.1.1: アーキテクチャパターン (イベント駆動型、マイクロサービス、モノリシック、コレオグラフィー、オーケストレーション、ファンアウトなど) について説明する。
-
スキル 1.1.2: ステートフルとステートレスの概念の違いを説明する。
-
スキル 1.1.3: 密結合されたコンポーネントと疎結合されたコンポーネントの違いを説明する。
-
スキル 1.1.4: 同期パターンと非同期パターンの違いを説明する。
-
スキル 1.1.5: プログラミング言語 (Java、C#、Python、JavaScript、TypeScript、Go など) で耐障害性のあるレジリエントなアプリケーションを作成する。
-
スキル 1.1.6: API を作成、拡張、保守する (レスポンス/リクエストの変換、検証ルールの適用、ステータスコードのオーバーライドなど)。
-
スキル 1.1.7: 開発環境でユニットテストを作成および実行する (AWS SAM の使用など)。
-
スキル 1.1.8: メッセージングサービスを使用するためのコードを記述する。
-
スキル 1.1.9: API と AWS SDK を使用して AWS サービスとやり取りするコードを記述する。
-
スキル 1.1.10: AWS のサービスを使用してストリーミングデータを処理する。
-
スキル 1.1.11: Amazon Q Developer を使用して開発を支援する。
-
スキル 1.1.12: Amazon EventBridge を使用してイベント駆動型パターンを実装する。
-
スキル 1.1.13: サードパーティーサービスの統合のためにレジリエントなアプリケーションコードを実装する (再試行ロジック、サーキットブレーカー、エラー処理パターンなど)。
-
タスク 2: AWS Lambda 用コードの開発
-
スキル 1.2.1: Lambda コードからの VPC でのプライベートリソースのアクセスについて説明する。
-
スキル 1.2.2: 環境変数とパラメータ (メモリ、同時実行、タイムアウト、ランタイム、ハンドラー、レイヤー、拡張機能、トリガー、送信先など) を定義することで Lambda 関数を設定する。
-
スキル 1.2.3: コード (Lambda 送信先、デッドレターキューなど) を使用したイベントライフサイクルとエラーを処理する。
-
スキル 1.2.4: AWS のサービスとツールを使用してテストコードを作成および実行する。
-
スキル 1.2.5: Lambda 関数と AWS のサービスを統合する。
-
スキル 1.2.6: 最適なパフォーマンスのために Lambda 関数をチューニングする。
-
スキル 1.2.7: Lambda 関数を使用してほぼリアルタイムでデータを処理および変換する。
-
タスク 3: アプリケーション開発でのデータストアの使用
-
スキル 1.3.1: バランスの取れたパーティションアクセスのための高カーディナリティパーティションキーについて説明する。
-
スキル 1.3.2: データベース整合性モデル (強整合性、結果整合性など) について説明する。
-
スキル 1.3.3: クエリオペレーションとスキャンオペレーションの違いを説明する。
-
スキル 1.3.4: Amazon DynamoDB キーとインデックス作成を定義する。
-
スキル 1.3.5: データをシリアル化および逆シリアル化してデータストアに永続性を提供する。
-
スキル 1.3.6: データストアを使用、管理、保守する。
-
スキル 1.3.7: データライフサイクルを管理する。
-
スキル 1.3.8: データキャッシュサービスを使用する。
-
スキル 1.3.9: アクセスパターンに基づいて専用のデータストアを使用する (Amazon OpenSearch Service など)。
コンテンツ分野 2: セキュリティ
-
タスク 1: アプリケーションと AWS のサービスの認証および/または認可の実装
-
スキル 2.1.1: ID プロバイダーを使用してフェデレーテッドアクセスを実装する (Amazon Cognito、IAM など)。
-
スキル 2.1.2: ベアラートークンを使用してアプリケーションをセキュリティ保護する。
-
スキル 2.1.3: AWS へのプログラムによるアクセスを設定する。
-
スキル 2.1.4: AWS のサービスに対して認証された呼び出しを行う。
-
スキル 2.1.5: IAM ロールを引き受ける。
-
スキル 2.1.6: IAM プリンシパルのアクセス許可を定義する。
-
スキル 2.1.7: きめ細かいアクセスコントロールのためのアプリケーションレベルの認可を実装する。
-
スキル 2.1.8: マイクロサービスアーキテクチャにおいてクロスサービス認証を処理する。
-
タスク 2: AWS のサービスを使用した暗号化の実装
-
スキル 2.2.1: 保管中と転送中の暗号化を定義する。
-
スキル 2.2.2: 証明書管理について説明する (AWS Private CA など)。
-
スキル 2.2.3: クライアント側の暗号化とサーバー側の暗号化の違いを説明する。
-
スキル 2.2.4: 暗号化キーを使用してデータを暗号化/復号する。
-
スキル 2.2.5: 開発目的で証明書と SSH キーを生成する。
-
スキル 2.2.6: アカウントの境界を越えて暗号化を使用する。
-
スキル 2.2.7: キーローテーションを有効/無効にする。
-
タスク 3: アプリケーションコードでの機密データの管理
-
スキル 2.3.1: データ分類について説明する [個人を特定できる情報 (PII)、保護対象医療情報 (PHI) など]。
-
スキル 2.3.2: 機密データを含む環境変数を暗号化する。
-
スキル 2.3.3: シークレット管理サービスを使用して機密データを保護する。
-
スキル 2.3.4: 機密データをサニタイズする。
-
スキル 2.3.5: アプリケーションレベルのデータマスキングとサニタイズを実装する。
-
スキル 2.3.6: マルチテナントアプリケーションのデータアクセスパターンを実装する。
コンテンツ分野 3: デプロイ
-
タスク 1: AWS にデプロイするアプリケーションアーティファクトの準備
-
スキル 3.1.1: パッケージ内でのコードモジュール (環境変数、設定ファイル、コンテナイメージなど) の依存関係を管理する。
-
スキル 3.1.2: アプリケーションデプロイのためのファイルとディレクトリ構造を整理する。
-
スキル 3.1.3: デプロイ環境でコードリポジトリを使用する。
-
スキル 3.1.4: リソース (メモリ、コアなど) に対してアプリケーション要件を適用する。
-
スキル 3.1.5: 特定の環境向けにアプリケーション構成を準備する (AWS AppConfig の使用など)。
-
タスク 2: 開発環境でのアプリケーションのテスト
-
スキル 3.2.1: AWS のサービスとツールを使用して、デプロイされたコードをテストする。
-
スキル 3.2.2: 外部依存関係用の統合テストとモック API を記述する。
-
スキル 3.2.3: 開発エンドポイントを使用してアプリケーションをテストする (Amazon API Gateway でのステージの設定など)。
-
スキル 3.2.4: 既存の環境にアプリケーションスタックの更新をデプロイする (AWS SAM テンプレートを別のステージング環境にデプロイするなど)。
-
スキル 3.2.5: イベント駆動型アプリケーションをテストする。
-
タスク 3: デプロイテストの自動化
-
スキル 3.3.1: アプリケーションテストイベントを作成する (AWS Lambda、API Gateway、AWS SAM リソースをテストするための JSON ペイロードなど)。
-
スキル 3.3.2: さまざまな環境に API リソースをデプロイする。
-
スキル 3.3.3: 統合テスト用に承認済みのバージョンを使用するアプリケーション環境を作成する (Lambda エイリアス、コンテナイメージタグ、AWS Amplify ブランチ、AWS Copilot 環境など)。
-
スキル 3.3.4: Infrastructure as Code (IaC) テンプレートを実装およびデプロイする (AWS SAM テンプレート、AWS CloudFormation テンプレートなど)。
-
スキル 3.3.5: 個々の AWS のサービスの環境を管理する (API Gateway での開発、テスト、本番環境の区別など)。
-
スキル 3.3.6: Amazon Q Developer を使用して自動テストを生成する。
-
タスク 4: AWS の継続的インテグレーションおよび継続的デリバリー (CI/CD) サービスを使用したコードのデプロイ
-
スキル 3.4.1: Lambda デプロイのパッケージングオプションを説明する。
-
スキル 3.4.2: API Gateway ステージとカスタムドメインを説明する。
-
スキル 3.4.3: 既存の IaC テンプレート (AWS SAM テンプレート、CloudFormation テンプレートなど) を更新する。
-
スキル 3.4.4: AWS のサービスを使用してアプリケーション環境を管理する。
-
スキル 3.4.5: デプロイ戦略を使用してアプリケーションバージョンをデプロイする。
-
スキル 3.4.6: コードをリポジトリにコミットして、構築、テスト、デプロイアクションを呼び出す。
-
スキル 3.4.7: オーケストレーションされたワークフローを使用してさまざまな環境にコードをデプロイする。
-
スキル 3.4.8: 既存のデプロイ戦略を使用してアプリケーションロールバックを実行する。
-
スキル 3.4.9: バージョンとリリースの管理にラベルとブランチを使用する。
-
スキル 3.4.10: 既存のランタイム設定を使用して動的デプロイを作成する (Lambda 関数で API Gateway のステージング変数を使用するなど)。
-
スキル 3.4.11: アプリケーションリリースのデプロイメント戦略 (ブルー/グリーン、カナリア、ローリングなど) を構成する。
コンテンツ分野 4: トラブルシューティングと最適化
-
タスク 1: 根本原因分析の支援
-
スキル 4.1.1: コードをデバッグして欠陥を特定する。
-
スキル 4.1.2: アプリケーションメトリクス、ログ、トレースを解釈する。
-
スキル 4.1.3: ログをクエリして関連データを見つける。
-
スキル 4.1.4: カスタムメトリクスを実装する [Amazon CloudWatch 埋め込みメトリクスフォーマット (EMF) など]。
-
スキル 4.1.5: ダッシュボードとインサイトを使用してアプリケーションヘルスを確認する。
-
スキル 4.1.6: サービス出力ログを使用してデプロイ失敗をトラブルシューティングする。
-
スキル 4.1.7: アプリケーションにおけるサービス統合の問題をデバッグする。
-
タスク 2: オブザーバビリティのためのコードの考案
-
スキル 4.2.1: ログ記録、モニタリング、オブザーバビリティの違いを説明する。
-
スキル 4.2.2: アプリケーションの動作と状態を記録する効果的なログ記録戦略を実装する。
-
スキル 4.2.3: カスタムメトリクスを出力するコードを実装する。
-
スキル 4.2.4: トレースサービスへの注釈を追加する。
-
スキル 4.2.5: 特定のアクション (クォータ制限またはデプロイの完了に関する通知など) に関する通知アラートを実装する。
-
スキル 4.2.6: AWS のサービスとツールを使用してトレースを実装する。
-
スキル 4.2.7: アプリケーションイベントとユーザーアクションの構造化ログ記録を実装する。
-
スキル 4.2.8: アプリケーションヘルスチェックとレディネスプローブを設定する。
-
タスク 3: AWS のサービスと機能を使用したアプリケーションの最適化
-
スキル 4.3.1: 同時実行を定義する。
-
スキル 4.3.2: アプリケーションのパフォーマンスをプロファイルする。
-
スキル 4.3.3: アプリケーションの最小メモリと処理能力を判断する。
-
スキル 4.3.4: サブスクリプションフィルターポリシーを使用してメッセージを最適化する。
-
スキル 4.3.5: リクエストヘッダーに基づいてコンテンツをキャッシュする。
-
スキル 4.3.6: アプリケーションレベルのキャッシュを実装してパフォーマンスを向上させる。
-
スキル 4.3.7: アプリケーションリソースの使用を最適化する。
-
スキル 4.3.8: アプリケーションのパフォーマンスの問題を分析する。
-
スキル 4.3.9: アプリケーションログを使用してパフォーマンスのボトルネックを特定する。
