고객이 다음 사항을 파악하고자 합니다.
- 클라우드 인프라를 간편하게 구축하는 방법은 무엇입니까?
- 클라우드에서 애플리케이션을 배포, 유지 관리, 크기 조정하는 방법은 무엇입니까?
AWS CloudFormation 개요
클라우드 인프라를 간편하게 구축하는 방법은 무엇입니까?
코드형 인프라 (IaC / Infrastructure as Code)
IaC를 사용하면 AWS 리소스를 간편하게 배포할 수 있다. IaC 사용 시에는 코드를 사용하여 인프라 정의, 배포, 구성, 업데이트, 제거를 수행합니다.
템플릿은 환경에서 배포할 리소스를 설명 및 정의하는 텍스트 파일이다.
지정한 리소스를 프로비저닝 하는 엔진이 해당 템플릿을 처리한다.
- JSON 또는 YAML 템플릿 파일에서 전체 애플리케이션 스택(애플리케이션에 필요한 모든 리소스)를 정의한다.
템플릿은 코드로 간주하여 버전 제어 시스템을 통해 관리한다. - EC2 인스턴스 크기와 EC2 키페어 등 템플릿의 런타임 파라미터를 정의한다
- IaC 솔루션은 템플릿에 정의된 리소스를 프로비저닝한다.
IaC의 이점 - 재사용성
인프라를 코드형으로 구축하는 경우, 환경을 구축하면서 반복성과 재사용성의 이점을 활용할 수 있다.
템플릿 하나 또는 여러 템플릿의 조합으로 복잡한 동일 환경을 구축할 수 있다.
슬라이드의 예에서는 아키텍처 템플릿을 사용하여 여러 AWS 리전에서 동일한 리소스를 생성한다.
그중 하나는 개발 환경이고 다른 하나는 프로덕션 환경이다.
IaC의 이점 - 업데이트
이 시나리오에서는 인스턴스 스택에 새 보안 그룹을 추가하도록 템플릿이 업데이트 되었음.
이 기능을 사용하면 리소스를 일관된 방식으로 더 간편하게 유지 관리할 수 있으며, 작업을 병렬 처리할 수 잇으므로 작업량도 줄일 수 있다.
AWS CloudFormation
CloudFormation은 기본적으로 API 래퍼이다.
AWS 관리 콘솔에서 EC2 인스턴스를 생성하면 EC2 서비스에 대한 API 호출이 시작된다.
마법사를 통해 입력하는 정보는 파라미터로 전달된다.
CloudFormation은 이러한 API를 사용한다.
AWS 관리 콘솔에서와 같이, CloudFormation 템플릿에서 정의하는 리소스가 AWS 서비스로 전송되는 API 호출로 변환된다.
CloudFormation은 종속성과 관계를 정리한다.
CloudFormation의 이해
- JSON이나 YAML로 작성됨
- 생성하거나 수정할 리소스를 기술
- 소스 코드로 처리됨
- 코드 검토
- 버전 제어
스택
- 단일 단위로 관리되는 AWS 리소스 모음
- 리소스를 하나의 단위로 배포 및 삭제할 수 있음
- 실행 중의 스택에서 리소스 및 설정 업데이트 가능
- 중첩된 스택 및 교차스택 참조 지원
AWS Elastic Beanstalk
웹 어플리케이션 / 웹 서비스를 배포하고, 확장하고, 관리하는데 있어 쉽고 빠르게 할 수 있도록 돕는 완전 관리형 서비스
완전 관리형 서비스란?
- 인프라 레벨 쪽으로는 신경쓰지 않아도 되는 서비스 ( 코드-애플리케이션 기능 외에는 AWS가 관리해준다.)
- 사용자들은 코드/애플리케이션 래밸에서만 집중해서 사용하면 된다.
ex) dynamo db, elastic beanstalk
Elastic Beanstalk의 등장 배경 및 장점
- 코드 배포, 프로비저닝, 관리가 복잡
- 서버, DB, 로드 밸런서, 방화벽, 네트워크의 구성 및 관리에 전문성과 시간이 필요하다.
- 스케일 아웃/인의 자동화
- 쌩 EC2를 설치하면 OS까지는 그래도 AWS가 처리해주지만 다른 부분들은 개발자가 직접 해야 하는데,
beanstalk은 그 외 배포, 버저닝, 관리 하는 과정 들도 간소화해준다.
https://velog.io/@pilyeooong/AWS-ElasticBeanstalk%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90
'AWS(강의) > Architecting on AWS' 카테고리의 다른 글
10. 네트워킹2 (0) | 2024.05.12 |
---|---|
컨테이너, 마이크로서비스 (0) | 2024.05.07 |
로드 밸런싱 & 오토 스케일 (0) | 2024.05.04 |
모니터링 (0) | 2024.05.04 |
RDS, 관리형 서비스와 비관리형 서비스 (0) | 2024.05.03 |
댓글