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

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

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

cdk bootstrap

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

ブートストラップスタックは、 AWS 環境内の Amazon S3 バケットおよび Amazon ECR リポジトリをプロビジョニングする 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 CLI で使用される Amazon S3 バケットの名前。このバケットは作成され、現在存在することはできません。

このオプションを指定し、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 中に が引き受けるデプロイロールにアタッチする必要があるマネージド IAM ポリシー ARNs。

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

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

$ 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 CLI によって作成および使用される Amazon S3 バケットにパブリックアクセス設定をブロックします。

デフォルト値: true

--qualifier STRING

ブートストラップスタックごとに一意の 9 桁の文字列値。この値は、ブートストラップスタックのリソースの物理 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デプロイします。このオプションを使用し、ブートストラップスタックに別の名前を指定します。

CDK CLI はこの値を使用してブートストラップスタックのバージョンを検証します。

デフォルト値: 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

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

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

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

カスタムアクセス許可の境界でブートストラップするには、次の内容を実行します。

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

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

$ cdk bootstrap --no-previous-parameters

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

$ cdk bootstrap --qualifier dev2024