

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

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

# `cdk bootstrap`
<a name="ref-cli-cmd-bootstrap"></a>

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

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

## 使用
<a name="ref-cli-cmd-bootstrap-usage"></a>

```
$ cdk bootstrap <arguments> <options>
```

## 引数
<a name="ref-cli-cmd-bootstrap-args"></a><a name="ref-cli-cmd-bootstrap-args-env"></a>

 **AWS 環境**   
ブートストラップスタックを `aws://<account-id>/<region>` の形式で対象の AWS 環境にデプロイします。  
例:`aws://123456789012/us-east-1`   
ブートストラップスタックを複数の環境にデプロイするため、この引数は 1 つのコマンドで複数回指定できます。  
デフォルトでは、CDK CLI は CDK アプリで参照されるすべての環境をブートストラップするか、デフォルトのソースから環境を決定します。`--profile` オプション、環境変数、デフォルトの AWS CLI ソースを使用して指定される環境の場合があります。

## オプション
<a name="ref-cli-cmd-bootstrap-options"></a>

すべての CDK CLI コマンドで動作するグローバルオプションのリストについては、「[グローバルオプション](ref-cli-cmd.md#ref-cli-cmd-options)」を参照してください。<a name="ref-cli-cmd-bootstrap-options-bootstrap-bucket-name"></a>

 `--bootstrap-bucket-name, --toolkit-bucket-name, -b <STRING>`   
CDK CLI で使用される Amazon S3 バケットの名前。このバケットは作成され、現在存在することはできません。  
このオプションを指定し、Amazon S3 バケットのデフォルト名を上書きします。  
このオプションを使用すると、合成のカスタマイズが必要な場合があります。詳細については、「[CDK スタック合成をカスタマイズする](configure-synth.md#bootstrapping-custom-synth)」を参照してください。  
 *デフォルト値*: 未定義<a name="ref-cli-cmd-bootstrap-options-bootstrap-customer-key"></a>

 `--bootstrap-customer-key <BOOLEAN>`   
ブートストラップバケットのカスタマーマスターキー (CMK) を作成します (課金されますが、アクセス許可をカスタマイズできます。最新のブートストラップのみ適用されます)。  
このオプションは `--bootstrap-kms-key-id` と互換性がありません。  
 *デフォルト値*: 未定義<a name="ref-cli-cmd-bootstrap-options-bootstrap-kms-key-id"></a>

 `--bootstrap-kms-key-id <STRING>`   
`SSE-KMS` の暗号化に使用する AWS KMS マスターキー ID。  
このオプションを指定し、Amazon S3 バケットの暗号化に使用されるデフォルト AWS KMS キーを上書きします。  
このオプションは `--bootstrap-customer-key` と互換性がありません。  
 *デフォルト値*: 未定義<a name="ref-cli-cmd-bootstrap-options-cloudformation-execution-policies"></a>

 `--cloudformation-execution-policies <ARRAY>`   
スタックのデプロイ中に AWS CloudFormation が引き受けるデプロイロールにアタッチする必要があるマネージド IAM ポリシー ARN。  
デフォルトでは、スタックは `AdministratorAccess` ポリシーを使用して、完全な管理者アクセス許可でデプロイされます。  
このオプションは、1 つのコマンドで複数回指定できます。個々の ARNs をカンマで区切った状態で、複数の ARN を 1 つの文字列として指定することもできます。以下に例を示します。  

```
$ cdk bootstrap --cloudformation-execution-policies "arn:aws:iam::aws:policy/AWSLambda_FullAccess,arn:aws:iam::aws:policy/AWSCodeDeployFullAccess"
```
デプロイの失敗を回避するには、指定したポリシーが、ブートストラップされる環境に実行するデプロイに対して十分であることを確認してください。  
このオプションは、最新のブートストラップにのみ適用されます。  
最新のブートストラップテンプレートは、`--trust` リストで任意の AWS アカウントに `--cloudformation-execution-policies` が暗示するアクセス許可を効果的に付与します。デフォルトでは、ブートストラップされたアカウントに任意のリソースへの読み取りおよび書き込みのアクセス許可が拡張されます。使い慣れたポリシーおよび信頼されたアカウントを使用して[ブートストラップスタックを設定](bootstrapping-customizing.md)することを確認してください。
 *デフォルト値*: `[]` <a name="ref-cli-cmd-bootstrap-options-custom-permissions-boundary"></a>

 `--custom-permissions-boundary, -cpb <STRING>`   
使用するアクセス許可の境界の名前を指定します。  
このオプションは `--example-permissions-boundary` と互換性がありません。  
 *デフォルト値*: 未定義<a name="ref-cli-cmd-bootstrap-options-example-permissions-boundary"></a>

 `--example-permissions-boundary, -epb <BOOLEAN>`   
AWS CDK が提供するアクセス許可の境界の例を使用します。  
このオプションは `--custom-permissions-boundary` と互換性がありません。  
CDK が提供するアクセス許可の境界ポリシーを例として扱う必要があります。機能をテストする場合、コンテンツを編集してポリシーの例を参照してください。デプロイがまだ存在しない場合、実際のデプロイのために新しいポリシーに変換します。懸念事項はドリフトを避けることです。ほとんどの場合、アクセス許可の境界は維持され、命名規則を含む専用の規則があります。  
アクセス許可の境界の使用など、アクセス許可の設定の詳細については、「[セキュリティと安全開発ガイド](https://github.com/aws/aws-cdk/wiki/Security-And-Safety-Dev-Guide)」を参照してください。  
 *デフォルト値*: 未定義<a name="ref-cli-cmd-bootstrap-options-execute"></a>

 `--execute <BOOLEAN>`   
変更セットを実行するかどうかを設定します。  
 *デフォルト値*: `true` <a name="ref-cli-cmd-bootstrap-options-force"></a>

 `--force, -f <BOOLEAN>`   
ブートストラップテンプレートのバージョンがダウングレードされる場合でも、必ずブートストラップしてください。  
 *デフォルト値*: `false` <a name="ref-cli-cmd-bootstrap-options-help"></a>

 `--help, -h <BOOLEAN>`   
`cdk bootstrap` コマンドのコマンドリファレンス情報を表示します。<a name="ref-cli-cmd-bootstrap-options-previous-parameters"></a>

 `--previous-parameters <BOOLEAN>`   
既存のパラメータに以前の値を使用します。  
一連のパラメータを使用してブートストラップテンプレートをデプロイしたら、このオプションを `false` に設定し、今後のデプロイにパラメータを変更する必要があります。`false` のとき、以前に提供されたすべてのパラメータを再供給する必要があります。  
 *デフォルト値*: `true` <a name="ref-cli-cmd-bootstrap-options-public-access-block-configuration"></a>

 `--public-access-block-configuration <BOOLEAN>`   
CDK CLI によって作成および使用される Amazon S3 バケットにパブリックアクセス設定をブロックします。  
 *デフォルト値*: `true` <a name="ref-cli-cmd-bootstrap-options-qualifier"></a>

 `--qualifier <STRING>`   
ブートストラップスタックごとに一意の 9 桁の文字列値。この値は、ブートストラップスタックのリソースの物理 ID に追加されます。  
修飾子を指定することにより、同じ環境で複数のブートストラップスタックをプロビジョニングするときにリソース名の衝突を回避できます。  
修飾子を変更するとき、CDK アプリは変更された値をスタックシンセサイザーに渡す必要があります。詳細については、「[CDK スタック合成をカスタマイズする](configure-synth.md#bootstrapping-custom-synth)」を参照してください。  
 *デフォルト値*: `hnb659fds`。この値には重要性がありません。<a name="ref-cli-cmd-bootstrap-options-show-template"></a>

 `--show-template <BOOLEAN>`   
ブートストラップの代わりに、現在のブートストラップテンプレートを標準出力 (`stdout`) に出力します。次に、必要に応じてテンプレートをコピーおよびカスタマイズできます。  
 *デフォルト値*: `false` <a name="ref-cli-cmd-bootstrap-options-tags"></a>

 `--tags, -t <ARRAY>`   
`KEY=VALUE` の形式でブートストラップスタックに追加するタグ。  
 *デフォルト値*: `[]` <a name="ref-cli-cmd-bootstrap-options-template"></a>

 `--template <STRING>`   
ビルトインのテンプレートではなく、指定されたファイルのテンプレートを使用します。<a name="ref-cli-cmd-bootstrap-options-termination-protection"></a>

 `--termination-protection <BOOLEAN>`   
ブートストラップスタックの AWS CloudFormation 終了保護を切り替えます。  
`true` のとき、終了保護が有効になります。ブートストラップスタックが誤って削除されることを防止ます。  
終了保護の詳細については、「*AWS CloudFormation ユーザーガイド*」の「[スタックを削除から保護](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)」を参照してください。  
 *デフォルト値*: 未定義<a name="ref-cli-cmd-bootstrap-options-toolkit-stack-name"></a>

 `--toolkit-stack-name <STRING>`   
作成するブートストラップスタックの名前。  
デフォルトでは、`cdk bootstrap` は指定された AWS 環境に `CDKToolkit` という名前のスタックをデプロイします。このオプションを使用し、ブートストラップスタックに別の名前を指定します。  
CDK CLI はこの値を使用してブートストラップスタックのバージョンを検証します。  
 *デフォルト値*: `CDKToolkit`   
 *必須:* はい<a name="ref-cli-cmd-bootstrap-options-trust"></a>

 `--trust <ARRAY>`   
この環境にデプロイを実行するために信頼される AWS アカウント ID。  
ブートストラップを実行するアカウントは常に信頼されます。  
このオプションでは、`--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.
```
最新のブートストラップテンプレートは、`--trust` リストで任意の AWS アカウントに `--cloudformation-execution-policies` が暗示するアクセス許可を効果的に付与します。デフォルトでは、ブートストラップされたアカウントに任意のリソースへの読み取りおよび書き込みのアクセス許可が拡張されます。使い慣れたポリシーおよび信頼されたアカウントを使用して[ブートストラップスタックを設定](bootstrapping-customizing.md)することを確認してください。
 *デフォルト値*: `[]` <a name="ref-cli-cmd-bootstrap-options-trust-for-lookup"></a>

 `--trust-for-lookup <ARRAY>`   
この環境で値を検索するために信頼される AWS アカウント ID。  
このオプションを使用し、スタックを直接デプロイするアクセス許可を実際に付与することなく、環境にデプロイされるスタックを合成するアクセス許可を付与します。  
このオプションは、1 つのコマンドで複数回指定できます。  
このオプションは、最新のブートストラップにのみ適用されます。  
 *デフォルト値*: `[]` 

## 例
<a name="ref-cli-cmd-bootstrap-examples"></a>

### 製品プロファイルで指定された AWS 環境のブートストラップ
<a name="ref-cli-cmd-bootstrap-examples-1"></a>

```
$ cdk bootstrap --profile prod
```

### ブートストラップスタックを環境の foo と bar にデプロイ
<a name="ref-cli-cmd-bootstrap-examples-2"></a>

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

### ブートストラップテンプレートをエクスポートしてカスタマイズ
<a name="ref-cli-cmd-bootstrap-examples-3"></a>

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

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

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

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

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

### アクセス許可の境界を持つブートストラップ。次に、そのアクセス許可の境界を削除します
<a name="ref-cli-cmd-bootstrap-examples-4"></a>

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

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

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

```
$ cdk bootstrap --no-previous-parameters
```

### 修飾子を使用し、開発環境用に作成されたリソースを区別します
<a name="ref-cli-cmd-bootstrap-examples-5"></a>

```
$ cdk bootstrap --qualifier dev2024
```