cdk bootstrap - AWS Cloud Development Kit (AWS CDK) v2

これは AWS CDK v2 デベロッパーガイドです。古い CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

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

cdk bootstrap

という名前の CDK ブートストラップスタックを AWS 環境にデプロイして、CDK デプロイ用の AWS 環境CDKToolkitを準備します。

ブートストラップスタックは、 環境で Amazon S3 バケットと Amazon ECR リポジトリを AWS プロビジョニングする CloudFormation スタックです。 AWS CDK CLI は、これらのリソースを使用して、デプロイ中に合成されたテンプレートと関連アセットを保存します。

使用方法

$ cdk bootstrap <arguments> <options>

引数

AWS 環境

ブートストラップスタックをデプロイするターゲット AWS 環境の形式は ですaws://<account-id>/<region>

例: aws://123456789012/us-east-1

この引数は、ブートストラップスタックを複数の環境にデプロイするために、1 つのコマンドで複数回指定できます。

デフォルトでは、CDK CLIは CDK アプリで参照されるすべての環境をブートストラップするか、デフォルトのソースから環境を決定します。これは、 --profileオプション、環境変数、またはデフォルトの AWS CLI ソースを使用して指定された環境です。

オプション

すべての CDK CLI コマンドで動作するグローバルオプションのリストについては、「」を参照してくださいグローバルオプション

--bootstrap-bucket-name, --toolkit-bucket-name, -b STRING

CDK で使用される Amazon S3 バケットの名前CLI。このバケットは作成され、現在存在してはいけません。

Amazon S3 バケットのデフォルト名を上書きするには、このオプションを指定します。

このオプションを使用する場合は、合成をカスタマイズする必要がある場合があります。詳細については、「CDK スタック合成をカスタマイズする」を参照してください。

デフォルト値: 未定義

--bootstrap-customer-key BOOLEAN

ブートストラップバケットのカスタマーマスターキー (CMK) を作成します (課金されますが、最新のブートストラップのみアクセス許可をカスタマイズできます)。

このオプションは --bootstrap-kms-key-id と互換性がありません。

デフォルト値: 未定義

--bootstrap-kms-key-id STRING

SSE-KMS 暗号化に使用する AWS KMS マスターキー ID。

Amazon S3 バケットの暗号化に使用されるデフォルト AWS KMS キーを上書きするには、このオプションを指定します。

このオプションは --bootstrap-customer-key と互換性がありません。

デフォルト値: 未定義

--cloudformation-execution-policies ARRAY

スタックのデプロイ AWS CloudFormation 中に が引き受けるデプロイロールにアタッチする必要があるマネージド ARNs。

デフォルトでは、スタックは AdministratorAccessポリシーを使用して完全な管理者アクセス許可でデプロイされます。

このオプションは、1 つのコマンドで複数回指定できます。複数の ARNs 1 つの文字列として指定し、個々の ARNsをカンマで区切ることもできます。以下に例を示します。

$ cdk bootstrap --cloudformation-execution-policies "arn:aws:iam::aws:policy/AWSLambda_FullAccess,arn:aws:iam::aws:policy/AWSCodeDeployFullAccess"

デプロイの失敗を回避するには、指定したポリシーが、ブートストラップされる環境に実行するデプロイに十分であることを確認してください。

このオプションは、最新のブートストラップにのみ適用されます。

重要

最新のブートストラップテンプレートは、 が暗示するアクセス許可--cloudformation-execution-policies--trustリスト内の任意の AWS アカウントに効果的に付与します。デフォルトでは、これにより、ブートストラップされたアカウントの任意のリソースに対する読み取りおよび書き込みのアクセス許可が拡張されます。ブートストラップスタックには、使い慣れたポリシーと信頼できるアカウントを設定してください。

デフォルト値: []

--custom-permissions-boundary, -cpb STRING

使用するアクセス許可の境界の名前を指定します。

このオプションは --example-permissions-boundary と互換性がありません。

デフォルト値: 未定義

--example-permissions-boundary, -epb BOOLEAN

が提供するアクセス許可の境界の例を使用します AWS CDK。

このオプションは --custom-permissions-boundary と互換性がありません。

CDK が提供するアクセス許可の境界ポリシーを例として見なす必要があります。機能をテストする場合は、コンテンツを編集し、サンプルポリシーを参照してください。実際のデプロイ用の新しいポリシーが存在しない場合は、そのポリシーに変換します。問題はドリフトを回避することです。ほとんどの場合、アクセス許可の境界は維持され、専用の規則があり、命名が含まれています。

アクセス許可の境界の使用など、アクセス許可の設定の詳細については、「セキュリティと安全の開発ガイド」を参照してください。

デフォルト値: 未定義

--execute BOOLEAN

変更セットを実行するかどうかを設定します。

デフォルト値: true

--force, -f BOOLEAN

ブートストラップテンプレートのバージョンをダウングレードする場合でも、必ずブートストラップしてください。

デフォルト値: false

--help, -h BOOLEAN

コマンドのcdk bootstrapコマンドリファレンス情報を表示します。

--previous-parameters BOOLEAN

既存のパラメータには以前の値を使用します。

一連のパラメータを使用してブートストラップテンプレートをデプロイしたら、このオプションを に設定falseして、今後のデプロイでパラメータを変更する必要があります。の場合false、以前に指定したすべてのパラメータを再供給する必要があります。

デフォルト値: true

--public-access-block-configuration BOOLEAN

CDK によって作成および使用される Amazon S3 バケットのパブリックアクセス設定をブロックしますCLI。

デフォルト値: true

--qualifier STRING

ブートストラップスタックごとに一意の文字列値。この値は、ブートストラップスタック内のリソースの物理 ID に追加されます。

修飾子を指定することで、同じ環境で複数のブートストラップスタックをプロビジョニングする際のリソース名の競合を回避できます。

修飾子を変更する場合、CDK アプリは変更された値をスタックシンセサイザーに渡す必要があります。詳細については、「CDK スタック合成をカスタマイズする」を参照してください。

デフォルト値: hnb659fds。この値には意味がありません。

--show-template BOOLEAN

ブートストラップの代わりに、現在のブートストラップテンプレートを標準出力 () に出力しますstdout。その後、必要に応じてテンプレートをコピーしてカスタマイズできます。

デフォルト値: false

--tags, -t ARRAY

の形式でブートストラップスタックに追加するタグKEY=VALUE

デフォルト値: []

--template STRING

組み込みのテンプレートではなく、特定のファイルのテンプレートを使用します。

--termination-protection BOOLEAN

ブートストラップスタック AWS CloudFormation の終了保護を切り替えます。

の場合true、終了保護が有効になります。これにより、ブートストラップスタックが誤って削除されるのを防ぐことができます。

終了保護の詳細については、「 AWS CloudFormation ユーザーガイド」の「スタックが削除されないように保護する」を参照してください。

デフォルト値: 未定義

--toolkit-stack-name STRING

作成するブートストラップスタックの名前。

デフォルトでは、 は指定された AWS 環境に という名前のスタックCDKToolkitcdk bootstrapデプロイします。ブートストラップスタックに別の名前を指定するには、このオプションを使用します。

デフォルト値: CDKToolkit

必須: はい

--trust ARRAY

この環境へのデプロイを実行するために信頼する必要がある AWS アカウント IDs。

ブートストラップを実行しているアカウントは常に信頼されます。

このオプションでは、 も指定する必要があります--cloudformation-execution-policies

このオプションは、1 つのコマンドで複数回指定できます。

このオプションは、最新のブートストラップにのみ適用されます。

既存のブートストラップスタックに信頼されたアカウントを追加するには、以前に提供したアカウントを含め、信頼するすべてのアカウントを指定する必要があります。信頼する新しいアカウントのみを指定すると、以前に信頼されたアカウントは削除されます。

以下は、2 つのアカウントを信頼する例です。

$ cdk bootstrap aws://123456789012/us-west-2 --trust 234567890123 --trust 987654321098 --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess ⏳ Bootstrapping environment aws://123456789012/us-west-2... Trusted accounts for deployment: 234567890123, 987654321098 Trusted accounts for lookup: (none) Execution policies: arn:aws:iam::aws:policy/AdministratorAccess CDKToolkit: creating CloudFormation changeset... ✅ Environment aws://123456789012/us-west-2 bootstrapped.
重要

最新のブートストラップテンプレートは、 が暗示するアクセス許可--cloudformation-execution-policies--trustリスト内の任意の AWS アカウントに効果的に付与します。デフォルトでは、これにより、ブートストラップされたアカウントの任意のリソースに対する読み取りおよび書き込みのアクセス許可が拡張されます。ブートストラップスタックには、使い慣れたポリシーと信頼できるアカウントを設定してください。

デフォルト値: []

--trust-for-lookup ARRAY

この環境で値を検索するために信頼する必要がある AWS アカウント IDs。

このオプションを使用して、環境にデプロイされるスタックを合成するアクセス許可をアカウントに付与します。実際には、これらのスタックを直接デプロイするアクセス許可は付与しません。

このオプションは、1 つのコマンドで複数回指定できます。

このオプションは、最新のブートストラップにのみ適用されます。

デフォルト値: []

prod プロファイルで指定された AWS 環境をブートストラップする

$ cdk bootstrap --profile prod

ブートストラップスタックを環境 foo と bar にデプロイする

$ cdk bootstrap --app='node bin/main.js' foo bar

ブートストラップテンプレートをエクスポートしてカスタマイズする

ブートストラップテンプレートで満たされていない特定の要件がある場合は、ニーズに合わせてカスタマイズできます。

ブートストラップテンプレートをエクスポートし、変更して、 を使用してデプロイできます AWS CloudFormation。既存のテンプレートをエクスポートする例を次に示します。

$ cdk bootstrap --show-template > bootstrap-template.yaml

カスタムテンプレートを使用するCLIように CDK に指示することもできます。以下に例を示します。

$ cdk bootstrap --template my-bootstrap-template.yaml

アクセス許可の境界を持つブートストラップ。次に、そのアクセス許可の境界を削除します。

カスタムアクセス許可の境界を使用してブートストラップするには、以下を実行します。

$ cdk bootstrap --custom-permissions-boundary my-permissions-boundary

アクセス許可の境界を削除するには、以下を実行します。

$ cdk bootstrap --no-previous-parameters

修飾子を使用して、開発環境用に作成されたリソースを区別する

$ cdk bootstrap --qualifier dev2024