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

クラウドプラクティショナー

AWS CodeStar の概要と試験出題ポイントは?

AWSサービスの一つであるAWS CodeStarはどんな内容なのでしょうか?また、AWS認定資格のクラウドプラクティショナー(CLF)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

AWS CodeStar 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

AWS CodeStarは、ソースリポジトリ、ビルド、デプロイ、パイプライン、チーム権限をまとめて作成し、AWS上のアプリケーション開発プロジェクトを素早く開始するための統合サービスとして提供されてきました。 実体としては、CodeCommit、CodeBuild、CodePipeline、CodeDeploy、CloudFormation、IAM、CloudWatchなどを組み合わせた開発プロジェクトのひな型です。

現在の試験対策では、CodeStar単体よりも、背後で使われる各Code系サービスの役割を分解して理解することが重要です。 新規設計では、CodePipeline、CodeBuild、CodeDeploy、CloudFormation/CDK、GitHub連携、CodeCatalystなどを要件に応じて選択する観点を押さえます。

2. 主な特徴と機能

2.1 プロジェクトテンプレート

CodeStarは、Webアプリケーション、サーバーレスアプリケーション、コンテナアプリケーションなどのテンプレートから、ソースコード、ビルド、デプロイ設定を作成します。 試験では「プロジェクト一式を素早く作る統合サービス」として理解します。

2.2 CI/CDパイプライン作成

CodePipelineで変更検知とステージ管理を行い、CodeBuildでビルド/テストし、CodeDeployやCloudFormationでデプロイする構成を作成します。 どのサービスが何を担当するかを分けて覚えるのがポイントです。

2.3 ソースコード管理

CodeStarプロジェクトはCodeCommitやGitHubなどのリポジトリをソースとして扱います。 ただし、ソース管理そのものはCodeStarではなくGitリポジトリサービスの役割です。

2.4 チーム権限管理

プロジェクトメンバーにロールを割り当て、開発者、閲覧者、所有者などの権限を管理します。 実際のアクセス制御はIAMロール、IAMポリシー、各サービスの権限で実現されます。

2.5 ダッシュボード

プロジェクトのビルド状況、デプロイ状況、アプリケーションメトリクスなどを一元的に見られるダッシュボードを提供します。 監視やログの詳細確認はCloudWatch、CodeBuildログ、CodePipeline実行履歴で行います。

2.6 現在の設計での注意

試験の新しい設計問題では、CodeStarだけで解くよりも、個別のCode系サービスやIaCを組み合わせる選択肢が自然です。 既存CodeStarプロジェクトの保守では、構成要素を把握し、各サービスの権限、料金、障害点を確認します。

3. アーキテクチャおよび技術要素

  1. テンプレートを選択し、アプリケーション種別、言語、デプロイ先を決める。
  2. CodeStarがソースリポジトリ、CloudFormationテンプレート、CodeBuild設定、CodePipelineを作成する。
  3. 開発者がGitリポジトリへコードをpushする。
  4. CodePipelineが変更を検知し、CodeBuildでビルドとテストを実行する。
  5. CodeDeploy、CloudFormation、Elastic Beanstalk、Lambda、ECSなどへデプロイする。
  6. CloudWatch、CodePipeline、CodeBuild、CloudTrailで実行状況と監査ログを確認する。

CodeStarを理解するコツは、統合サービス名ではなく、生成されたリポジトリ、ビルドプロジェクト、パイプライン、デプロイ先、IAMロールを追うことです。

4. セキュリティと認証・認可

  • IAMロール: CodeStarプロジェクト、CodeBuild、CodePipeline、CodeDeployが使うロールを最小権限にする。
  • チーム権限: 所有者、開発者、閲覧者のように職務分掌を分け、不要な管理権限を付けない。
  • ソース保護: Gitリポジトリのブランチ保護、レビュー、署名、シークレット混入防止を導入する。
  • ビルド環境: CodeBuildの環境変数、Secrets Manager/Parameter Store、KMS、VPC接続を適切に設定する。
  • 監査: CloudTrail、CodePipeline実行履歴、CodeBuildログ、CloudWatch Logsで変更と実行を追跡する。
  • 生成リソース確認: テンプレートが作るIAMポリシー、S3バケット、デプロイ先をレビューする。

5. 料金形態

CodeStar自体の管理機能に追加料金はありませんが、プロジェクトで作成・利用されるAWSサービスには料金が発生します。

  • CI/CD: CodeBuildのビルド時間、CodePipelineのパイプライン利用、CodeDeployのデプロイ対象に関する料金。
  • デプロイ先: EC2、Lambda、Elastic Beanstalk、ECS/Fargate、API Gatewayなどの実行料金。
  • 保存/ログ: S3アーティファクト、CloudWatch Logs、ECR、CodeArtifactなどの料金。
  • ネットワーク: データ転送、NAT Gateway、VPCエンドポイントなどの料金。
  • 最適化: 不要なプロジェクト、ビルド、スタック、ログ、デプロイ環境を削除する。

6. よくあるアーキテクチャ・設計パターン

  • サーバーレスWeb API: リポジトリ、CodeBuild、CodePipeline、Lambda/API Gatewayをテンプレートで作成する。
  • EC2/Elastic Beanstalkアプリ: Webアプリをビルドし、CodeDeployやElastic Beanstalkへデプロイする。
  • コンテナアプリ: CodeBuildでコンテナをビルドし、ECR/ECS/Fargateへデプロイする。
  • チーム開発の標準化: プロジェクトテンプレートでCI/CDと権限を標準化する。
  • 既存CodeStar移行: 生成済みのCodePipeline、CodeBuild、CloudFormation、IAMを個別管理へ移す。
  • 新規設計の分解: CodeStarを使わず、CodePipeline + CodeBuild + CodeDeploy/CDKで明示的に構成する。

7. 設定・デプロイ手順(ハンズオン例)

  1. 要件に合うアプリケーションテンプレート、言語、デプロイ先を選択する。
  2. ソースリポジトリ、ビルド仕様、デプロイ先、IAMロールを確認する。
  3. CodeStarが作成したCodePipeline、CodeBuild、CloudFormation、CodeDeploy設定を確認する。
  4. 開発者を追加し、ロールとリポジトリアクセス権限を最小権限で付与する。
  5. コードをpushしてパイプラインを実行し、ビルドログとデプロイ結果を確認する。
  6. CloudWatch Logs、CloudTrail、アプリケーションメトリクス、料金を確認する。
  7. 新規運用では、必要に応じて各Code系サービスやCDK/CloudFormationで明示的に再構成する。

8. 試験で問われやすいポイント

8.1 サービス選択

  • Q: AWS CodeStarの主な用途は?
    A: ソース、ビルド、デプロイ、パイプライン、チーム権限を含む開発プロジェクト一式を素早く作成すること。
  • Q: パイプラインのステージを管理する中心サービスはCodeStar?
    A: いいえ。ステージ管理の中心はCodePipelineで、CodeStarは統合プロジェクト作成サービス。
  • Q: 新規CI/CD設計で個別に選ぶ代表サービスは?
    A: CodePipeline、CodeBuild、CodeDeploy、CloudFormation/CDK、必要に応じてGitHub連携など。

8.2 構成要素

  • Q: CodeStarプロジェクトでビルドを担当するサービスは?
    A: AWS CodeBuild。
  • Q: EC2やLambdaへのアプリケーションデプロイを担当する代表サービスは?
    A: AWS CodeDeploy。構成によってCloudFormationやElastic Beanstalkも使われる。
  • Q: ソースコード管理そのものを担当するサービスは?
    A: CodeCommitやGitHubなどのGitリポジトリ。

8.3 権限と料金

  • Q: CodeStarプロジェクトの権限管理で重要なものは?
    A: IAMロール、IAMポリシー、チームメンバーのロール、各Code系サービスのサービスロール。
  • Q: CodeStar自体に追加料金はかかる?
    A: CodeStar自体は追加料金なしだが、CodeBuild、CodePipeline、EC2、Lambda、S3、CloudWatchなどには料金が発生する。
  • Q: CodeStarの理解で最も重要な試験対策は?
    A: CodeStar名だけで覚えず、生成されるCodePipeline、CodeBuild、CodeDeploy、CloudFormation、IAMの役割へ分解すること。