這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
cdk bootstrap
將名為 的 CDK 引導堆疊部署到 AWS 環境中CDKToolkit
,以準備 CDK 部署 AWS 的環境。
引導堆疊是 CloudFormation 堆疊,可在 AWS 環境中佈建 Amazon S3 儲存貯體和 Amazon ECR 儲存庫。在 AWS CDK CLI部署期間, 使用這些資源來存放合成範本和相關資產。
用量
$
cdk bootstrap
<arguments>
<options>
引數
- AWS 環境
-
以下列格式將引導堆疊部署到 的目標 AWS 環境:
aws://<account-id>/<region>
。範例:
aws://123456789012/us-east-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
-
受管 IAM 政策 ARNs,應連接到部署堆疊 AWS CloudFormation 期間由 擔任的部署角色。
根據預設,堆疊會使用
AdministratorAccess
政策,以完整的管理員許可進行部署。您可以在單一命令中多次提供此選項。您也可以提供多個 ARNs 做為單一字串,並以逗號分隔個別 ARNs。以下是範例:
$
cdk bootstrap --cloudformation-execution-policies
"arn:aws:iam::aws:policy/AWSLambda_FullAccess,arn:aws:iam::aws:policy/AWSCodeDeployFullAccess"
為了避免部署失敗,請確定您指定的政策足以讓您對要引導的環境執行任何部署。
此選項僅適用於現代引導。
重要
現代引導範本可有效地將 隱含的許可授予
--trust
清單中--cloudformation-execution-policies
的任何 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
-
要新增至引導堆疊的標籤,格式為
KEY=VALUE
。預設值:
[]
--template
STRING
-
使用指定檔案的 範本,而非內建的範本。
--termination-protection
BOOLEAN
-
在引導堆疊上切換 AWS CloudFormation 終止保護。
當 時
true
,啟用終止保護。這可防止不小心刪除引導堆疊。若要進一步了解終止保護,請參閱AWS CloudFormation 《 使用者指南》中的保護堆疊不會被刪除。
預設值:未定義
--toolkit-stack-name
STRING
-
要建立的引導堆疊名稱。
根據預設, 會將名為
cdk bootstrap
的堆疊部署CDKToolkit
到指定的 AWS 環境中。使用此選項為您的引導堆疊提供不同的名稱。CDK CLI使用此值來驗證您的引導堆疊版本。
預設值:
CDKToolkit
必要:是
--trust
ARRAY
-
應信任的 AWS 帳戶 IDs,才能在此環境中執行部署。
執行引導的 帳戶一律會受信任。
此選項要求您也提供
--cloudformation-execution-policies
。您可以在單一命令中多次提供此選項。
此選項僅適用於現代引導。
若要將信任的帳戶新增至現有的引導堆疊,您必須指定要信任的所有帳戶,包括您先前可能提供的帳戶。如果您只提供新帳戶來信任,先前信任的帳戶將被移除。
以下是信任兩個帳戶的範例:
$
cdk bootstrap
⏳ 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.aws://123456789012/us-west-2
--trust234567890123
--trust987654321098
--cloudformation-execution-policiesarn:aws:iam::aws:policy/AdministratorAccess
重要
現代引導範本可有效地將 隱含的許可授予
--trust
清單中--cloudformation-execution-policies
的任何 AWS 帳戶。根據預設,這會擴展讀取和寫入引導帳戶中任何資源的許可。請務必使用您熟悉的政策和信任帳戶來設定引導堆疊。預設值:
[]
--trust-for-lookup
ARRAY
-
應信任的 AWS 帳戶 IDs 可在此環境中查詢值。
使用此選項可授予帳戶許可,以合成要部署到環境中的堆疊,而不需要實際授予他們直接部署這些堆疊的許可。
您可以在單一命令中多次提供此選項。
此選項僅適用於現代引導。
預設值:
[]
範例
引導產品描述檔中指定的 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