コードパイプラインの概要 - AWS Control Tower

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コードパイプラインの概要

設定パッケージには、Amazon Simple Storage Service (Amazon S3) と が必要です AWS CodePipeline。設定パッケージには、次の項目が含まれています。

  • マニフェストファイル

  • 付随するテンプレートのセット

  • AWS Control Tower 環境のカスタマイズを記述および実装するためのその他の JSON ファイル

デフォルトでは、_custom-control-tower-configuration.zip 設定パッケージは、次の命名規則に従って Simple Storage Service (Amazon S3) バケットにロードされます。

custom-control-tower-configuration-accountID-region.

注記

デフォルトでは、CfCT はパイプラインソースを格納するために Amazon S3 バケットを作成します。ほとんどのお客様は、このデフォルトのままで構いません。既存の AWS CodeCommit リポジトリがある場合は、ソースの場所を AWS CodeCommit リポジトリに変更できます。詳細については、「AWS CodePipeline ユーザーガイド」の「CodePipeline でパイプラインを編集する」を参照してください。

マニフェストファイルは、ランディングゾーンをカスタマイズするためにデプロイできる AWS リソースについて記述するテキストファイルです。CodePipeline は次のタスクを実行します。

  • マニフェストファイル、それに付随するテンプレートのセット、およびその他の JSON ファイルを抽出する

  • マニフェストとテンプレートの検証を実行する

  • は CfCT マニフェストファイルのセクションを呼び出して、特定のパイプラインステージを実行します。

マニフェストファイルをカスタマイズし、設定パッケージのファイル名からアンダースコア (_) を削除して設定パッケージを更新すると、 AWS CodePipelineが自動的に開始されます。

アンダースコアを覚えておく

設定パッケージのサンプルファイル名はアンダースコア (_) で始まるため、 AWS CodePipeline は自動的に開始されません。設定パッケージのカスタマイズが完了したら、 AWS CodePipelineでデプロイをトリガーするため、アンダースコア (_) を付けずにファイル custom-control-tower-configuration.zip をアップロードします。

AWS CodePipeline ステージ

CfCT パイプラインでは、AWS Control Tower 環境を実装および更新するためにいくつかの AWS CodePipeline ステージが必要です。

  1. ソースステージ

    ソースステージは最初のステージです。カスタマイズされた設定パッケージによって、このパイプラインステージが開始されます。のソースは、設定パッケージをホストできる Amazon S3 バケットまたは AWS CodeCommit リポジトリのいずれか AWS CodePipeline です。

  2. ビルドステージ

    ビルドステージでは AWS CodeBuild 、設定パッケージの内容を検証する必要があります。これらのチェックには、 および を使用して、manifest.yamlファイルの構文とスキーマ、パッケージに含まれるすべての AWS CloudFormation テンプレート、またはリモートでホストされているすべてのテンプレートのテスト AWS CloudFormation validate-templateが含まれますcfn_nag。マニフェストファイルと AWS CloudFormation テンプレートがテストに合格すると、パイプラインは次のステージに進みます。テストに不合格だった場合は、CodeBuild ログを確認して問題を特定し、必要に応じて設定ソースファイルを編集できます。

  3. 手動承認ステージ (オプション)

    手動承認ステージはオプションです。このステージを有効にすると、設定パイプラインをさらに制御できます。承認が得られるまで、デプロイ中のパイプラインは一時停止します。手動承認をオプトインするには、スタックを起動したときに、[Pipeline Approval Stage] (パイプライン承認ステージ) パラメータを [Yes] (はい) に変更します。

  4. ポリシーステージ

    ポリシーステージは、サービスコントロールポリシー (SCP) またはリソースコントロールポリシー (RCP) ステートマシンを呼び出して、SCPsまたは RCP を作成する AWS Organizations APIs を呼び出します。 RCPs

  5. AWS CloudFormation リソースステージ

    AWS CloudFormation リソースステージは、スタックセットステートマシンを呼び出して、マニフェストファイルで指定したアカウントまたは組織単位 (OUs) のリストで指定されたリソースをデプロイします。ステートマシンは、マニフェストファイルで指定された順序で AWS CloudFormation リソースを作成します。リソースの依存関係を指定するには、マニフェストファイルでリソースが指定されている順序を調整します。マニフェストファイル内のリソースの順序は、依存関係を指定する唯一の方法です。