8. 자동화
AWS CloudFormation
코드형 인프라 (IaC)
- AWS 리소스를 간편하게 배포할 수 있음
- 템플릿 - 환경에서 배포할 리소스를 설명 및 정의
- JSON, YAML로 애플리케이션에 필요한 모든 리소스 정의
- CloudFormation이 읽고 인프라를 프로비저닝 해 줌
- 상태 변경 탐지 (드리프트)
IaC의 이점 - 재사용성
- 개발 환경, 프로덕션 환경 등 여러 환경을 구축할 때 편하게 구축할 수 있음
- 이를 템플릿화 해 놓으면 템플릿만 수정해서 배포하면 됨
AWS CloudFormation
- 템플릿 생성
- 템플릿 업로드
- CloudFormation에서 템플릿을 API 요청으로 변환
- CloudFormation에서 리소스 스택 작성
- 생성하거나 수정할 리소스 기술
- 소스 코드로 처리되기 때문에 코드 검토, 버전 관리 가능
스택
- 단일 단위로 관리되는 AWS 리소스 모음
- 리소스를 하나의 단위로 배포 및 삭제 가능
- 실행 중인 스택에서 리소스 및 설정 업데이트 가능
여러 템플릿 사용
계층형 아키텍쳐 구성 가능
인프라 관리
AWS Beanstalk
- 인프라 프로비저닝 및 운영
- 애플리케이션 스택 자동 관리
- 애플리케이션 자동 확장 및 축소
AWS 솔루션 라이브러리
- 사전 구축된 참조 아키텍쳐
- AWS 아키텍트가 승인한 솔루션
- 많이 참고하도록 하자
AWS CDK
- Python, JS, TS 등 개발자가 편리하게 템플릿을 생성할 수 있음
- 자동 완성, 인라인 설명서 지원
- 결국 CloudFormation
AWS System Manager
- 프로비저닝 및 권한 부여
- 구성 관리
- 운영 및 규정 준수 관리
- 모니터링