AWS CDK

Wonjun Hwang
Wonjun HwangCEO @Kit Works Inc. en Kit Works inc.
AWS - CDK
Cloud Development Kit
Part 1, AWS CDK 소개
AWS Cloud Development Kit (AWS CDK) 란?
프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를
모델링 및 프로비저닝 해주는 도구 입니다.
AWS CDK를 사용하면 인프라를 코드로 정의하고 AWS CloudFormation을
통해 프로비저닝 할 수 있습니다.
기존의 yaml, json 형태의 선언적 접근 방식보다 더 개발자에게 친화적인
언어를 사용해서 작성할 수 있습니다.
AWS CloudFormation을 추상화 시켜서 한 단계 상위 레벨로 만들었고,
조금 더 개발자 친화적으로 만든 IaC(Infrastructure as Code) 도구 입니다.
Part
1
# CDK 구조
App Stack Construct
CDK CLI를 통해 AWS
CloudFormation 템플릿을
렌더링하고 배포할 수
있는 기능을 제공
리전 및 계정에 대한
정보가 포함된 하나
이상의 Stack으로 구성
AWS CDK에서 배포 단위
AWS 람다, AWS ECS와
같이 AWS 리소스를 표현
하는 구문이 포함
CDK 앱을 만들기 위해 가
장 기본적인 블록
ex) S3 의 버 킷 , 복 수 의
AWS CDK 리소스로 구성
된 보다 고 수준의 리소스
단위
Part
1
# CDK 구조
Part
1
# CDK 장점
익숙한 개발 언어로
인프라를 관리
2022년 기준 Typescript, Javascript,
Python, Java, .net 을 지원하고 있습니다.
주로 사용하는 프로그래밍 언어로 AWS
CDK를 사용 할 수 있습니다.
IaC 의 테스트가
쉬워짐
git 등을 사용하며 인프라 버전관리,
코드리뷰, 문제 발생시 실수없는 빠른 롤백
등의 작업이 가능해 집니다.
Part
1
# Terraform VS AWS CDK
Part
1
- Terraform CDK
프로그래밍 기술
Yaml 혹은 HCL로 구현, 기존과 다른 새로운 언어
를 익혀야함, 심플하나 완벽한 OOP언어가 아니
므로 확장성면에서의 제약이 있음, 보조툴을 설
치하여 자동완성에 대한 기능을 사용가능하나 완
벽하지 않음, 컴파일 에러등으로 사전확인 등 안
전한 구현이 힘듬
5가지의 기존 프로그래밍 언어를 이용(확
장중), OOP를 이용하여 다양하게 확장가
능, Pattern을 이용해여 유연한 구조 및
재사용성 제고가능, 작성자의 프로그래밍
능력에 의해 무한한 확장 가능성 을 가짐,
IDE를 통한 자동완성, 컴파일 에러를 통
해 안전한 구현
인프라구성의 워크로드
IaaS부터의 접근방식으로 이러한 인프라 구성 관
련한 레퍼런스가 많음
IaaS보다는 Container/Serverless에 최신
기술들이 접목 되어 최적의 시너지를 발
휘할 수 있음. IaaS도 완벽히 지원,
Public Cloud 지원 Public Cloud를 다양하게 지원
AWS에 특화 된 IaC, CDK for
Terraform 과 CDK8S 와 같은 생태계가
만들어 지고 있기 때문에 성장가능성 높
음.
라이센스, 기술성숙도 및
배포안정성
특정기능 이상 엔트프라이즈 계약 필요, SDK로
직접 배포하기 때문에 배포의 안정성이 조금 떨
어질수 있음
CloudFormation, ParameterStore등을 무
료로 사용가능, 배포의 백엔드로
CloudFormation을 사용 하여 성숙된 배
포완성도를 가짐
Part 2, CDK 프로젝트
# CDK 사전 요구 사항
2 AWSCLI설치
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
3 AWSIAM사용자&AWSCLI자격증명구성
aws configure
4 AWSCDKCLI설치
npm install -g aws-cdk
1 Node.js
(>=10.13.0, 버전 13.0.0~13.6.0 제외)
Part
2
Part
2
1
2
폴더 생성
mkdir cdk-test
cd cdk-test
CDK 프로젝트 생성
cdk init --language typescript
# CDK 프로젝트 생성
Part
2
• bin/cdk-test.ts -
CDK 애플리케이션에 대한 진입 포인트입니다.
lib/* 하위에 정의한 모든 스택을 로드/생성합니다.
• lib/cdk-test-stack.ts -
주요 CDK 애플리케이션이 정의되는 지점입니다.
리소스 및 그 속성이 여기로 이동할 수 있습니다.
• package.json -
프로젝트 종속 파일, 그리고 일부 추가 정보를 정의하고
스크립트를 구축하는 지점입니다(npm build, npm test,
npm watch).
• cdk.json -
이 파일은 애플리케이션은 물론 CDK 및 프로젝트에
관련된 일부 추가 설정 및 파라미터를 실행하는 방법에
대한 도구 키트를 알려줍니다.
# CDK 프로젝트 구조
Part
2
cdk ls Stack 리스트 확인 가능
cdk synthesize Stack을 CloudFormation 템플릿으로 변환 후 출력
cdk bootstrap AWS 환경에 CDK Toolkit을 위한 Stack을 배포(처음 deploy 전 필요한 사전 작업)
cdk deploy CloudFormation을 통해 프로덕션에 AWS CDK 애플리케이션을 배포
cdkdestroy CDK Stack(배포된 CloudFromation과 AWS Resource) 삭제
cdk diff 배포된 Stack과 현재 Stack의 변경 사항 확인
cdk metadata Stack에 대한 메타데이터를 표시
cdk init 현재 디렉터리에 새 CDK 프로젝트 생성
cdk context 캐시된 컨텍스트 값 관리
cdk doc CDK API Reference
cdk doctor CDK 프로젝트에 문제가 있는지 체크
# CDK 명령어
# CDK 프로젝트 ex)
시스템 구성도
Part
2
AWS Cloud
VPC
Availability Zone 1 Availability Zone 2
10.0.1.0/24
Public subnet
10.0.3.0/24
Public subnet
- 두 개의 퍼블릭 서브넷이 있는 VPC를 두 개의 가용성 영역에 걸쳐 분산되도록 생성
S3 Bucket SNS USER
PUT Event Email Subscription
# CDK 프로젝트 ex)
시스템 구성도
- AWS CDK로 S3 버킷에 파일이 업로드 되면 알림을 전송하는 시스템
Part
2
「
」
AWS CDK 사용
Part
2
감사합니다
1 de 16

Recomendados

오픈소스와 개발환경 por
오픈소스와 개발환경오픈소스와 개발환경
오픈소스와 개발환경rockplace
109 vistas23 diapositivas
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성 por
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성OpenStack Korea Community
1.3K vistas16 diapositivas
애플리케이션 최적화를 위한 컨테이너 인프라 구축 por
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축rockplace
339 vistas40 diapositivas
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례 por
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례rockplace
428 vistas28 diapositivas
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축 por
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축rockplace
159 vistas54 diapositivas
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 por
DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 Amazon Web Services Korea
3.6K vistas31 diapositivas

Más contenido relacionado

La actualidad más candente

[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native por
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud nativeOpenStack Korea Community
401 vistas23 diapositivas
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항 por
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항rockplace
1.1K vistas51 diapositivas
DB Migration to Azure Database for PostgreSQL por
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLrockplace
174 vistas28 diapositivas
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day por
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container DayAmazon Web Services Korea
17.9K vistas48 diapositivas
Open infradays 2019_msa_k8s por
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8sHyoungjun Kim
5.2K vistas41 diapositivas
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점 por
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점rockplace
336 vistas42 diapositivas

La actualidad más candente(20)

왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항 por rockplace
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
rockplace1.1K vistas
DB Migration to Azure Database for PostgreSQL por rockplace
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQL
rockplace174 vistas
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day por Amazon Web Services Korea
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
Open infradays 2019_msa_k8s por Hyoungjun Kim
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
Hyoungjun Kim5.2K vistas
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점 por rockplace
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
rockplace336 vistas
[OpenInfra Days Korea 2018] (오픈소스컨설팅) 키노트 - 최지웅 이사님 por OpenStack Korea Community
[OpenInfra Days Korea 2018] (오픈소스컨설팅) 키노트 - 최지웅 이사님[OpenInfra Days Korea 2018] (오픈소스컨설팅) 키노트 - 최지웅 이사님
[OpenInfra Days Korea 2018] (오픈소스컨설팅) 키노트 - 최지웅 이사님
Cloud for Kubernetes : Session1 por WhaTap Labs
Cloud for Kubernetes : Session1Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1
WhaTap Labs499 vistas
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안 por rockplace
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
rockplace234 vistas
성공적인 하이브리드 클라우드를 위한 레드햇의 전략 por rockplace
성공적인 하이브리드 클라우드를 위한 레드햇의 전략성공적인 하이브리드 클라우드를 위한 레드햇의 전략
성공적인 하이브리드 클라우드를 위한 레드햇의 전략
rockplace542 vistas
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다. por Open Source Consulting
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.
쿠버네티스 기반 PaaS 솔루션 - Playce Kube를 소개합니다.
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020 por AWSKRUG - AWS한국사용자모임
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
[OpenInfra Days Korea 2018] (Track 1) IaaS에서 PaaS로의 고도화 여정 por OpenStack Korea Community
[OpenInfra Days Korea 2018] (Track 1) IaaS에서 PaaS로의 고도화 여정[OpenInfra Days Korea 2018] (Track 1) IaaS에서 PaaS로의 고도화 여정
[OpenInfra Days Korea 2018] (Track 1) IaaS에서 PaaS로의 고도화 여정
Pivotal 101세미나 발표자료 (PAS,PKS) por VMware Tanzu Korea
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
VMware Tanzu Korea3.9K vistas
공개소프트웨어 기반 클라우드 네이티브 por rockplace
공개소프트웨어 기반 클라우드 네이티브공개소프트웨어 기반 클라우드 네이티브
공개소프트웨어 기반 클라우드 네이티브
rockplace400 vistas
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021) por Jin Sol Kim 김진솔
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)
[HashiCorp] IaC로 시작하는 하이브리드 클라우드 관리 전략 with Terraform, Consul, Nomad (June 2021)
Deployment techniques for cloud native por Alex Jeong
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud native
Alex Jeong69 vistas
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인 por VMware Tanzu Korea
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
VMware Tanzu Korea1.7K vistas
Google Cloud NEXT'17 정리 por Yongyoon Shin
Google Cloud NEXT'17 정리Google Cloud NEXT'17 정리
Google Cloud NEXT'17 정리
Yongyoon Shin1.9K vistas

Similar a AWS CDK

Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou... por
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon Web Services Korea
945 vistas47 diapositivas
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :... por
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...Amazon Web Services Korea
2.2K vistas59 diapositivas
[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중... por
[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중...[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중...
[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중...Amazon Web Services Korea
2.7K vistas63 diapositivas
[웨비나] 다중 AWS 계정에서의 CI/CD 구축 por
[웨비나] 다중 AWS 계정에서의 CI/CD 구축[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축BESPIN GLOBAL
598 vistas29 diapositivas
Spring cloud on kubernetes por
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetesSangSun Park
4.1K vistas135 diapositivas
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes por
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetesNAVER D2
3.5K vistas49 diapositivas

Similar a AWS CDK(20)

Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou... por Amazon Web Services Korea
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :... por Amazon Web Services Korea
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
데브옵스 엔지니어를 위한 신규 운영 서비스 - 김필중, AWS 개발 전문 솔루션즈 아키텍트 / 김현민, 메가존클라우드 솔루션즈 아키텍트 :...
[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중... por Amazon Web Services Korea
[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중...[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중...
[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중...
[웨비나] 다중 AWS 계정에서의 CI/CD 구축 por BESPIN GLOBAL
[웨비나] 다중 AWS 계정에서의 CI/CD 구축[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축
BESPIN GLOBAL598 vistas
Spring cloud on kubernetes por SangSun Park
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
SangSun Park4.1K vistas
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes por NAVER D2
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
NAVER D23.5K vistas
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series por Amazon Web Services Korea
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
DevOps - CI/CD 알아보기 por SeungYong Baek
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
SeungYong Baek199 vistas
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S... por Amazon Web Services Korea
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트::  AWS S...AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트::  AWS S...
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017 por Amazon Web Services Korea
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc... por Cloud-Barista Community
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali... por Amazon Web Services Korea
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
SOSCON 2017 - Backend.AI por Joongi Kim
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
Joongi Kim327 vistas
AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다... por JooHyung Kim
AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다...AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다...
AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다...
JooHyung Kim57 vistas
락플레이스 OpenShift Q&A 토크쇼 발표자료 por rockplace
락플레이스 OpenShift Q&A 토크쇼 발표자료락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료
rockplace88 vistas
델파이 소스코드의재발견 por Devgear
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견
Devgear3.4K vistas
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C... por Amazon Web Services Korea
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...
마이크로소프트웨어2014년1월 s dx_ian por Ian Choi
마이크로소프트웨어2014년1월 s dx_ian마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian
Ian Choi909 vistas

Más de Wonjun Hwang

상속과 구현 por
상속과 구현상속과 구현
상속과 구현Wonjun Hwang
5 vistas77 diapositivas
오버라이딩 조금 더 알아보기 por
오버라이딩 조금 더 알아보기오버라이딩 조금 더 알아보기
오버라이딩 조금 더 알아보기Wonjun Hwang
7 vistas22 diapositivas
컴포넌트 설계 por
컴포넌트 설계컴포넌트 설계
컴포넌트 설계Wonjun Hwang
17 vistas21 diapositivas
성능 테스트 por
성능 테스트성능 테스트
성능 테스트Wonjun Hwang
15 vistas13 diapositivas
WebRTC por
WebRTCWebRTC
WebRTCWonjun Hwang
24 vistas18 diapositivas
Flutter & Firebase por
Flutter & FirebaseFlutter & Firebase
Flutter & FirebaseWonjun Hwang
20 vistas16 diapositivas

Más de Wonjun Hwang(20)

오버라이딩 조금 더 알아보기 por Wonjun Hwang
오버라이딩 조금 더 알아보기오버라이딩 조금 더 알아보기
오버라이딩 조금 더 알아보기
Wonjun Hwang7 vistas
프론트엔드 비동기 프로그래밍 por Wonjun Hwang
프론트엔드 비동기 프로그래밍프론트엔드 비동기 프로그래밍
프론트엔드 비동기 프로그래밍
Wonjun Hwang29 vistas
트렌디 앱 - ARC & OBSIDIAN por Wonjun Hwang
트렌디 앱 - ARC & OBSIDIAN트렌디 앱 - ARC & OBSIDIAN
트렌디 앱 - ARC & OBSIDIAN
Wonjun Hwang30 vistas
차이나는 개발자 클라스 por Wonjun Hwang
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스
Wonjun Hwang6 vistas
차이나는 개발자 클라스 por Wonjun Hwang
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스
Wonjun Hwang38 vistas
스터디모아 인프라 por Wonjun Hwang
스터디모아 인프라스터디모아 인프라
스터디모아 인프라
Wonjun Hwang38 vistas

AWS CDK

  • 1. AWS - CDK Cloud Development Kit
  • 2. Part 1, AWS CDK 소개
  • 3. AWS Cloud Development Kit (AWS CDK) 란? 프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를 모델링 및 프로비저닝 해주는 도구 입니다. AWS CDK를 사용하면 인프라를 코드로 정의하고 AWS CloudFormation을 통해 프로비저닝 할 수 있습니다. 기존의 yaml, json 형태의 선언적 접근 방식보다 더 개발자에게 친화적인 언어를 사용해서 작성할 수 있습니다. AWS CloudFormation을 추상화 시켜서 한 단계 상위 레벨로 만들었고, 조금 더 개발자 친화적으로 만든 IaC(Infrastructure as Code) 도구 입니다. Part 1
  • 4. # CDK 구조 App Stack Construct CDK CLI를 통해 AWS CloudFormation 템플릿을 렌더링하고 배포할 수 있는 기능을 제공 리전 및 계정에 대한 정보가 포함된 하나 이상의 Stack으로 구성 AWS CDK에서 배포 단위 AWS 람다, AWS ECS와 같이 AWS 리소스를 표현 하는 구문이 포함 CDK 앱을 만들기 위해 가 장 기본적인 블록 ex) S3 의 버 킷 , 복 수 의 AWS CDK 리소스로 구성 된 보다 고 수준의 리소스 단위 Part 1
  • 6. # CDK 장점 익숙한 개발 언어로 인프라를 관리 2022년 기준 Typescript, Javascript, Python, Java, .net 을 지원하고 있습니다. 주로 사용하는 프로그래밍 언어로 AWS CDK를 사용 할 수 있습니다. IaC 의 테스트가 쉬워짐 git 등을 사용하며 인프라 버전관리, 코드리뷰, 문제 발생시 실수없는 빠른 롤백 등의 작업이 가능해 집니다. Part 1
  • 7. # Terraform VS AWS CDK Part 1 - Terraform CDK 프로그래밍 기술 Yaml 혹은 HCL로 구현, 기존과 다른 새로운 언어 를 익혀야함, 심플하나 완벽한 OOP언어가 아니 므로 확장성면에서의 제약이 있음, 보조툴을 설 치하여 자동완성에 대한 기능을 사용가능하나 완 벽하지 않음, 컴파일 에러등으로 사전확인 등 안 전한 구현이 힘듬 5가지의 기존 프로그래밍 언어를 이용(확 장중), OOP를 이용하여 다양하게 확장가 능, Pattern을 이용해여 유연한 구조 및 재사용성 제고가능, 작성자의 프로그래밍 능력에 의해 무한한 확장 가능성 을 가짐, IDE를 통한 자동완성, 컴파일 에러를 통 해 안전한 구현 인프라구성의 워크로드 IaaS부터의 접근방식으로 이러한 인프라 구성 관 련한 레퍼런스가 많음 IaaS보다는 Container/Serverless에 최신 기술들이 접목 되어 최적의 시너지를 발 휘할 수 있음. IaaS도 완벽히 지원, Public Cloud 지원 Public Cloud를 다양하게 지원 AWS에 특화 된 IaC, CDK for Terraform 과 CDK8S 와 같은 생태계가 만들어 지고 있기 때문에 성장가능성 높 음. 라이센스, 기술성숙도 및 배포안정성 특정기능 이상 엔트프라이즈 계약 필요, SDK로 직접 배포하기 때문에 배포의 안정성이 조금 떨 어질수 있음 CloudFormation, ParameterStore등을 무 료로 사용가능, 배포의 백엔드로 CloudFormation을 사용 하여 성숙된 배 포완성도를 가짐
  • 8. Part 2, CDK 프로젝트
  • 9. # CDK 사전 요구 사항 2 AWSCLI설치 msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi 3 AWSIAM사용자&AWSCLI자격증명구성 aws configure 4 AWSCDKCLI설치 npm install -g aws-cdk 1 Node.js (>=10.13.0, 버전 13.0.0~13.6.0 제외) Part 2
  • 10. Part 2 1 2 폴더 생성 mkdir cdk-test cd cdk-test CDK 프로젝트 생성 cdk init --language typescript # CDK 프로젝트 생성
  • 11. Part 2 • bin/cdk-test.ts - CDK 애플리케이션에 대한 진입 포인트입니다. lib/* 하위에 정의한 모든 스택을 로드/생성합니다. • lib/cdk-test-stack.ts - 주요 CDK 애플리케이션이 정의되는 지점입니다. 리소스 및 그 속성이 여기로 이동할 수 있습니다. • package.json - 프로젝트 종속 파일, 그리고 일부 추가 정보를 정의하고 스크립트를 구축하는 지점입니다(npm build, npm test, npm watch). • cdk.json - 이 파일은 애플리케이션은 물론 CDK 및 프로젝트에 관련된 일부 추가 설정 및 파라미터를 실행하는 방법에 대한 도구 키트를 알려줍니다. # CDK 프로젝트 구조
  • 12. Part 2 cdk ls Stack 리스트 확인 가능 cdk synthesize Stack을 CloudFormation 템플릿으로 변환 후 출력 cdk bootstrap AWS 환경에 CDK Toolkit을 위한 Stack을 배포(처음 deploy 전 필요한 사전 작업) cdk deploy CloudFormation을 통해 프로덕션에 AWS CDK 애플리케이션을 배포 cdkdestroy CDK Stack(배포된 CloudFromation과 AWS Resource) 삭제 cdk diff 배포된 Stack과 현재 Stack의 변경 사항 확인 cdk metadata Stack에 대한 메타데이터를 표시 cdk init 현재 디렉터리에 새 CDK 프로젝트 생성 cdk context 캐시된 컨텍스트 값 관리 cdk doc CDK API Reference cdk doctor CDK 프로젝트에 문제가 있는지 체크 # CDK 명령어
  • 13. # CDK 프로젝트 ex) 시스템 구성도 Part 2 AWS Cloud VPC Availability Zone 1 Availability Zone 2 10.0.1.0/24 Public subnet 10.0.3.0/24 Public subnet - 두 개의 퍼블릭 서브넷이 있는 VPC를 두 개의 가용성 영역에 걸쳐 분산되도록 생성
  • 14. S3 Bucket SNS USER PUT Event Email Subscription # CDK 프로젝트 ex) 시스템 구성도 - AWS CDK로 S3 버킷에 파일이 업로드 되면 알림을 전송하는 시스템 Part 2