7. “리소스의 히스토리 파악”
- 리소스의 생성이나 변경 이유
- 리소스를 관리하거나 사용하는 서비스 현황
- 리소스의 대한 권한 정책이나 설정에 이유
8. “리소스의 복제/롤백”
- 특정 리소스를 동일한 설정으로 복제
- RDS의 버전, Container 런타임, CF 설정 등 복제가 되지 않는 부분이 존재
- 동일한 환경이 보장되지 않는다면 사이드 이펙트가 존재할 수 있음.
- 이전 설정으로 되돌리는 경우도 매뉴얼 작업으론 한계 존재
9. “검토 가능성”
- 리소스 생성시 리소스의 Subnet, IAM Role/Permission,
공통 태그 등의 조직 규정을 따라야하는 경우
- 리소스 생성/변경 전 장애 등과 같은 이유로 다양한 시점에서
검토되어야 하는 경우
15. AWS CDK무엇인가
코드로 클라우드 인프라를 정의할 수 있으며
CloudFormation*을 통해 Provisioning*하는 프레임워크
*CloudFormation : JSON/YAML형태로 AWS 인프라를 정의할 수 있도록 지원하는 도구
*Provisioning : 서비스를 제공하기 위해 미리 준비해주는 것
18. AWS CDK History
2018.06 – v0.7.0
AWS 기본 Construct 개발 시작
- S3/ACM/CloudFormation/CodeBuild/SNS +
2019.07 – v1.0.0 release
CF 변환 도구 및 CLI 지원
다양한 언어(C#/Java/Python) 지원
기본적인 AWS서비스에 대한 Construct 컴포넌트 제공
2021.01 – v2.0.0-alpha
단일 패키지 통합
V1 Deprecated 제거
레가시 부트스트래핑 제거
라이브러리 개발/배포 방식 변경
29. VPC/Subnet(with Multi-AZ) 구현 😀😀
VPC
Availability Zone 1 Availability Zone 2
Private subnet - server
Public subnet - public
isolated subnet - database
NAT gateway
Router
Internet gateway
44. Multi-Environment란,
어플리케이션이 있어서 여러 환경이 존재한다는 것
Multi Environment
Test Environment Staging Environment Production Environment
ALB ECS Cluster
Fargate Task RDS Instance
ALB ECS Cluster
Fargate Task RDS Instance
ALB ECS Cluster
Fargate Task RDS Instance
52. Limitations – Code와 인프라간 불일치 존재
모든 Construct가 코드에서 삭제했다고 삭제되지 않음
Amazon Simple Storage
Service (Amazon S3)
Amazon Relational Database
Service (Amazon RDS)
53. Limitations – 리전 제한
해당 리전에 출시되지 않거나 제한적인 리소스 사용의 경우
배포 시 실패할 수 있음
54. L2 Coverage
Limitations – CFN Coverage
CDK L2 Construct는 수많은 모든 서비스에 대해서 모두 지원하지 않음.
(단, 일반적으로 사용되는 대부분의 서비스는 지원)
AWS Elastic Beanstalk
AWS Cloud Development Kit
(AWS CDK)
Amazon Elastic Container
Service (Amazon ECS)
55. Limitations – Don’t use to deploy newer version
CDK는 인프라를 작성하는 것에 사용되므로
어플리케이션의 새로운 버전/업데이트를 배포하는 용도로는 적합하지 않음