AWS CDK 스택을 CDKv1에서 v2로 업그레이드하는 방법
배경
2023년 6월 1일에 AWS CDK 버전 1의 지원이 종료됩니다. AWS CDK Maintenance Policy
옛날 방식
CDKv1에서는 requirements.txt 파일을 통해 CDK 앱 패키지를 정의했습니다.
aws-cdk.core=={cdk_version1}",
aws-cdk.aws_codebuild=={cdk_version1}",
aws-cdk.aws_cloudtrail=={cdk_version1}",
aws-cdk.aws_codepipeline=={cdk_version1}",
aws-cdk.aws_codepipeline_actions=={cdk_version1}",
aws-cdk.aws_events=={cdk_version1}",
aws-cdk.aws_events_targets=={cdk_version1}",
aws-cdk.aws_iam=={cdk_version1}",
aws-cdk.aws_lambda_event_sources=={cdk_version1}",
aws-cdk.aws_lambda=={cdk_version1}",
aws-cdk.aws_s3=={cdk_version1}",
aws-cdk.aws_kms=={cdk_version1}
aws-cdk.aws-ec2==cdk_version1
aws-cdk.aws-elasticloadbalancingv2==cdk_version1
aws-cdk.aws-lambda==cdk_version1
boto3
pytest
-e .
패키지 관리자에 의해 잠재적으로 차단될 수 있으며 aws-cdk 패키지 이름에 압도될 수 있습니다.
CDK 버전 2
이제 CDK와 모든 안정적인 구성이 하나의 패키지/모듈로 결합됩니다. 실험용 모듈은 여전히 하나씩 설치해야 합니다.
aws-cdk-lib를 사용하면 작업이 훨씬 쉬워집니다.
준비
대부분의 CDK 앱이 Python으로 작성되었기 때문에 변경을 더 쉽게 하기 위해 CDKv1에서 격리된 가상 환경을 만들 것입니다.
python3 -m venv .cdkv2
새 가상 환경을 활성화하고 pip install을 실행하여 cdk v2 lib를 설치합니다.
source .cdkv2/bin/activate
참고: 모든 이전 aws-cdk v1 패키지를 다른 txt 파일(예: requirements-dev.txt)로 이동합니다.
requirements.txt는 CDK 버전에 따라 아래와 유사합니다. cdk --version을 사용하여 확인하십시오.
aws-cdk-lib==2.15.0
constructs>=10.0.0,<11.0.0
cdk.json도 조정해야 합니다. CDK v1의 일부 옵션은 이제 더 이상 사용되지 않으며 cdk.json 파일의 많은 부분도 단순화됩니다.
전체적으로 보면 아래와 같습니다.
{
"app": "python app.py",
"context": {
"@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": false,
"@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": false,
"@aws-cdk/aws-rds:lowercaseDbIdentifier": false,
"@aws-cdk/core:stackRelativeExports": false,
}
}
## 가져오기 변경
성숙하고 안정적인 모든 릴리스는 aws-cdk-lib에 있습니다. 대부분의 cdk 앱은 import 문만 변경하면 됩니다.
내가 가진 예 -
from aws_cdk import core
from aws_cdk.core import Tags
import aws_cdk.aws_iam as iam
import aws_cdk.aws_lambda as _lambda
로 변경
from constructs import Construct
from aws_cdk import (
aws_iam as iam,
aws_lambda as _lambda,
Stack,
CfnOutput,
Tags
)
이제 간단히 실행하여 환경을 계정으로 재부팅하십시오.
cdk bootrap
나는 오류가 없어서 다른 사람들이 cdk bootrap 버전 충돌에 문제가 있는 것을 보았습니다.
Reference
이 문제에 관하여(AWS CDK 스택을 CDKv1에서 v2로 업그레이드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/desawsume/upgrading-aws-cdk-stacks-from-cdkv1-to-v2-gjl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)