이는 AWS CDK v2 개발자 안내서입니다. 이전 CDK v1은 2022년 6월 1일에 유지 관리에 들어갔으며 2023년 6월 1일에 지원이 종료되었습니다.
cdk bootstrap
CDKToolkit
이라는 CDK 부트스트랩 스택을 AWS 환경에 배포하여 CDK 배포를 위한 AWS 환경을 준비합니다.
부트스트랩 스택은 AWS 환경의 Amazon S3 버킷과 Amazon ECR 리포지토리를 프로비저닝하는 CloudFormation 스택입니다. 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 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 정책 ARN입니다.
기본적으로 스택은
AdministratorAccess
정책을 사용하여 전체 관리자 권한으로 배포됩니다.단일 명령에서 이 옵션을 여러 번 제공할 수 있습니다. 여러 개의 ARN을 쉼표로 구분하여 단일 문자열로 제공할 수도 있습니다. 다음은 그 예제입니다.
$
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 제공 권한 경계 정책은 예로 봐야 합니다. 콘텐츠를 편집하고 기능을 테스트하는 경우 예제 정책을 참조하세요. 아직 정책이 없는 경우 실제 배포를 위한 새 정책으로 변환합니다. 문제는 드리프트를 방지하는 것입니다. 권한 경계가 유지되고 이름 지정을 포함한 전용 규칙이 있을 가능성이 높습니다.
권한 경계 사용을 포함한 권한 구성에 대한 자세한 내용은 Security and Safety Dev Guide
를 참조하세요. 기본값: 정의되지 않음
--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
-
KEY=VALUE
형식으로 부트스트랩 스택에 추가할 태그입니다.기본값:
[]
--template
STRING
-
기본 제공 파일 대신 지정된 파일의 템플릿을 사용합니다.
--termination-protection
BOOLEAN
-
부트스트랩 스택에서 AWS CloudFormation 종료 방지를 전환합니다.
true
이면 종료 방지가 활성화됩니다. 이렇게 하면 부트스트랩 스택이 실수로 삭제되는 것을 방지할 수 있습니다.종료 방지에 대해 자세히 알아보려면 AWS CloudFormation 사용 설명서의 CloudFormation 스택 삭제 방지를 참조하세요.
기본값: 정의되지 않음
--toolkit-stack-name
STRING
-
생성할 부트스트랩 스택의 이름입니다.
기본적으로
cdk bootstrap
은 지정된 AWS 환경에CDKToolkit
이라는 스택을 배포합니다. 부트스트랩 스택에 다른 이름을 지정하려면 이 옵션을 사용합니다.CDK CLI는 이 값을 사용하여 부트스트랩 스택 버전을 확인합니다.
기본값:
CDKToolkit
필수 항목 여부: 예
--trust
ARRAY
-
이 환경으로 배포를 수행하는 데 있어 신뢰할 수 있어야 하는 AWS 계정 ID입니다.
부트스트래핑을 수행하는 계정은 항상 신뢰할 수 있습니다.
이 옵션을 사용하려면
--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
중요
최신 부트스트랩 템플릿은
--cloudformation-execution-policies
에 포함된 권한을--trust
목록에 있는 모든 AWS 계정에 효과적으로 부여합니다. 기본적으로 이는 부트스트래핑된 계정의 모든 리소스에 대한 읽기 및 쓰기 권한을 확장합니다. 익숙한 정책과 신뢰할 수 있는 계정으로 부트스트래핑 스택을 구성하세요.기본값:
[]
--trust-for-lookup
ARRAY
-
이 환경에서 값을 조회하는 데 있어 신뢰할 수 있어야 하는 AWS 계정 ID입니다.
계정에 실제로 스택을 직접 배포할 권한을 부여하지 않고 환경에 배포될 스택을 합성할 수 있는 권한을 부여하려면 이 옵션을 사용합니다.
단일 명령에서 이 옵션을 여러 번 제공할 수 있습니다.
이 옵션은 최신 부트스트래핑에만 적용됩니다.
기본값:
[]
예시
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