AWS CDK를 해봤어요.
12431 단어 AWSTypeScriptS3CloudFormationCDKtech
install
설치 가능한 버전 확인
work $ npm info aws-cdk versions
CDK는 버전이 완비되지 않으면 원활하게 설치할 수 없으므로 지정된 버전으로 설치work $ npm install -g [email protected]
work $ cdk --version
1.134.0 (build dd5e12d)
init
work $ cdk init sample-app --language typescript
생성된 상태의 파일 내용두 파일을 편집하여 구성
작업 디렉터리의work와 관련된 이름입니다
bin/work.ts
#!/usr/bin/env node
import * as cdk from '@aws-cdk/core';
import { WorkStack } from '../lib/work-stack';
const app = new cdk.App();
new WorkStack(app, 'WorkStack');
lib/work-stack.tsimport * as sns from '@aws-cdk/aws-sns';
import * as subs from '@aws-cdk/aws-sns-subscriptions';
import * as sqs from '@aws-cdk/aws-sqs';
import * as cdk from '@aws-cdk/core';
export class WorkStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const queue = new sqs.Queue(this, 'WorkQueue', {
visibilityTimeout: cdk.Duration.seconds(300)
});
const topic = new sns.Topic(this, 'WorkTopic');
topic.addSubscription(new subs.SqsSubscription(queue));
}
}
diff
cdk diff
이 명령을 통해 로컬 환경과 AWS의 차이를 확인할 수 있습니다.기본 상태에서 CDKMetadata의 차이가 매우 뚜렷하다
이걸 잃어버리기 위해 한 줄 설정을 추가합니다.
cdk.json
{
"app": "npx ts-node --prefer-ts-exts bin/work.ts",
"versionReporting": false, <- この行追加
"watch": {
"include": [
"**"
],
"exclude": [
"README.md",
"cdk*.json",
"**/*.d.ts",
"**/*.js",
"tsconfig.json",
"package*.json",
"yarn.lock",
"node_modules",
"test"
]
},
"context": {
"@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": true,
"@aws-cdk/core:enableStackNameDuplicates": true,
"aws-cdk:enableDiffNoFail": true,
"@aws-cdk/core:stackRelativeExports": true,
"@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true,
"@aws-cdk/aws-secretsmanager:parseOwnedSecretName": true,
"@aws-cdk/aws-kms:defaultKeyPolicies": true,
"@aws-cdk/aws-s3:grantWriteWithoutAcl": true,
"@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": true,
"@aws-cdk/aws-rds:lowercaseDbIdentifier": true,
"@aws-cdk/aws-efs:defaultEncryptionAtRest": true,
"@aws-cdk/aws-lambda:recognizeVersionProps": true,
"@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": true
}
}
deploy
CloudFormation 형식으로 변환할 수 있으므로 의도에 맞는지 확인할 수 있습니다
work $ cdk synth
프로그램을 풀 때 임시로 저장된 S3을 만드는 명령을 처음 실행하면 됩니다CloudFormation에서 CDKtoolKit 스택이 생성됨
cdtoolkit-stagingbucket-xxxx라는 S3 공정이 만들어졌습니다.
work $ cdk bootstrap
해제가 실행되면 클라우드Formation 스택을 생성하여 해제 처리work $ cdk bootstrap
clean
CloudFormation 스택이 삭제되고 depro 스택이 모두 사라짐(S3 등 잔류)
컴퓨터의 파일은 원형을 유지한다
work $ cdk ls
WorkStack
work $ cdk destroy WorkStack
Are you sure you want to delete: WorkStack (y/n)? y
Reference
이 문제에 관하여(AWS CDK를 해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/marumarumeruru/articles/e4255f20042b9b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)