コンテンツ分野 1: SDLC のオートメーション
タスクステートメント 1.1: CI/CD パイプラインを実装する。
対象知識:
ソフトウェア開発ライフサイクル (SDLC) の概念、フェーズ、モデル
シングルアカウントとマルチアカウント環境のパイプラインデプロイパターン
対象スキル:
コード、イメージ、アーティファクトリポジトリの設定
バージョン管理を使用してパイプラインをアプリケーション環境に統合
構築プロセスのセットアップ (AWS CodeBuild など)
構築とデプロイのシークレットの管理 (AWS Secrets Manager、AWS Systems Manager Parameter Store など)
適切なデプロイ戦略の決定 (AWS CodeDeploy など)
タスクステートメント 1.2: 自動テストを CI/CD パイプラインに統合する。
対象知識:
各種テスト (単体テスト、統合テスト、受け入れテスト、ユーザーインターフェイステスト、セキュリティスキャンなど)
CI/CD パイプラインの各段階でさまざまなタイプのテストを合理的に使用
対象スキル:
プルリクエストまたはコードマージを生成するときに構築またはテストを実行 (CodeBuild など)
負荷/ストレステスト、パフォーマンスベンチマーキング、アプリケーションテストを大規模環境で実行
アプリケーション終了コードに基づいてアプリケーションのヘルスを測定
単体テストとコードカバレッジの自動化
テストのためパイプラインでの AWS サービスの呼び出し
タスクステートメント 1.3: アーティファクトを構築して管理する。
対象知識:
アーティファクトのユースケースとセキュアな管理
アーティファクトを作成および生成するメソッド
アーティファクトのライフサイクルに関する注意事項
対象スキル:
アーティファクトリポジトリの作成と設定 [AWS CodeArtifact、Amazon S3、Amazon Elastic Container Registry (Amazon ECR) など]
アーティファクトを生成する構築ツールの設定 (CodeBuild、AWS Lambda など)
Amazon EC2 インスタンスとコンテナイメージの構築プロセスの自動化 (EC2 Image Builder など)
タスクステートメント 1.4: インスタンス、コンテナ、サーバーレス環境のデプロイ戦略を実装する。
対象知識:
さまざまなプラットフォームのデプロイ方法 [Amazon EC2、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)、Lambda など]
アプリケーションストレージパターン [Amazon Elastic File System (Amazon EFS)、Amazon S3、Amazon Elastic Block Store (Amazon EBS) など]
ミュータブルなデプロイパターンとイミュータブルなデプロイパターンの比較
コードの配布に使用できるツールとサービス (CodeDeploy、Image Builder など)
対象スキル:
アーティファクトリポジトリへのアクセスを許可するセキュリティ権限の設定 [AWS Identity and Access Management (IAM)、CodeArtifact など]
デプロイエージェントの設定 (CodeDeploy エージェントなど)
デプロイに関する問題のトラブルシューティング
さまざまなデプロイ方法の使用 (ブルー/グリーン、カナリアなど)