brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Sep 06. 2022

16탄-12. DevOps!! AWS CDK

DevOps!! AWS CDK를 통해 코드로 안전하게 직접 만들어보기


<1> DevOps 알아보기

<2> AWS Cloud Development Kit (CDK)

<3> CDK 구성요소 3가지?

<4> 실습




<1> DevOps 알아보기


1

개발-검증-배포-운영 단계로 사용된다.

개발 조직

검증 조직

배포조직

운영조직


2

목표?

애플리케이션, 서비스를 빠른 속도로 제공하는 것이다.


3

문화, 방식, 도구를 통해 구현한다.


4

문화?

개발과 운영은 함께해야 한다.  

단일팀이 될 수도 있다.


5

방법?

마이크로 서비스 기반 개발 -> 자율, 빠름

코드 기반 인프라 운영 -> 재사용, 자동화

지속적인 통합, 배포 -> 품질, 속도

모니터링 및 로깅 - 통찰력 , 잘 돌고 있는지?


6

도구?

CI CD Pipeline 사용

개발자 도구 제공 - 콘솔, CLI , SDK ,  테라폼, 클라우드 포메이션, CDK  사용




<2>  AWS Cloud Development Kit (CDK)


1

Infrastructure as Code (IaC)?

클라우드 리소스들에 대한 구성과 배포를 코드로 관리하는  방법.

대상 : 네트워크, 컴퓨팅, 데이터베이스, 보안, 모니터링, IOT, AI/ML 

자동화하는 것

휴먼 에러 제거


2

AWS IaC 도구는?

AWS Cloudformation - yaml, jason로 클라우드 리소스들을 표현함

AWS Serverless Application Model (SAM) - 서버 리스 애플리케이션 개발을 더 간결하게, Cloudformation의 확장판.

AWS Cloud Development Kit (AWS CDK) - 친숙한 프로그래밍 언어를 활용하여 클라우드 리소스들을 쉽게 표현함.


3

AWS 리소스들의 구성과 배포를 익숙한 프로그래밍 언어로 정의한 것.

파이썬이나 자바 등으로 구현


4

이점?

https://aws.amazon.com/ko/cdk/


검증된 기본값으로 클라우드 리소스를 사전에 구성

더 빠른 개발 프로세스

조직의 보안, 규정 준수 및 거버넌스 요구 충족, 재사용 가능한 구성요소

애플리케이션 개발과  AWS 리소스 생성을 같은 IDE에서 할 수 있다.


5

CDK 동작 방식?

Stack가 Constructs로 코딩한다.

CLI라는 도구로 컴파일한다.

템플릿 만들어짐

Cloudformation으로 배포한다.




<3> CDK 구성요소 3가지?


1

3개로 구성된다.

Core Framework  

AWS Construct Library

AWS CDK CLI


2

Core Framework?

Construct  -  기본적인 리소스 블록 정의  

Stack -  배포의 최소 단위

App -  스택들을 묶어 놓은 그룹

환경 -  환경을 설정, 타깃이 되는 계정이나 리전 정보를 가진다.


3

AWS Construct Library?

200여 개 서비스를 서비스를 클래스로 구현해 놓았다.

https://docs.aws.amazon.com/cdk/api/v1/docs/aws-construct-library.html


4

AWS CDK  - CLI?

cdk init -   프로젝트를 생성하고

npm install

cdk list - 컴파일 이상 유무 확인하고, 스택을 확인

cdk synth 

cdk diff  - 변경사항이 있을 때 , 현재 추가한 기능과 배포의 차이

cdk deploy - 배포  

cdk destroy - 잘못 배포된 것들 삭제


5

AWS CDK  개발 환경은?

 AWS IAM user

CLI , 크리덴셜

node.js 설치  (노드로 되어 있다)

cdk toolkit  

원하는 언어(파이썬 등)로 환경을 설정하면 된다.


6

CDK Version 2로 변경됨.

CDK version1은 2로 마이그레이션 해야 함.

https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html


7

AWS CDK -Ecosystem  3가지?

AWS CDK

Cloud Development Kit for Terraform

CDK for K8s 


8

레파이토리 사이트들?


CDK  레파지토리?

https://aws.amazon.com/ko/solutions/constructs/patterns


AWS CDK, Cloud Development Kit for Terraform 등 모두 통합해서 모두 검색 가능

https://constructs.dev/




<4> 실습


1

https://github.com/aws-samples/aws-ecs-devops-using-aws-cdk


2

같이 볼만한 자료

https://www.youtube.com/watch?v=6i7DgQzYYAo


https://www.twitch.tv/videos/1070023684?collection=4wZXJvncHRaoEg


https://www.youtube.com/watch?v=kn2DBjZW5W8





다음 과정

https://brunch.co.kr/@topasvga/2694



https://brunch.co.kr/@topasvga/2678



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari