AWS CloudFormation 기능

AWS CloudFormation을 사용해야 하는 이유는 무엇인가요?

AWS CloudFormation을 활용하면 코드형 인프라를 통해 손쉬운 방법으로 관련된 AWS 및 서드 파티 리소스 모음을 모델링하고, 일관된 방식으로 간단히 프로비저닝하며, 수명 주기 전반에 걸쳐 관리할 수 있습니다. CloudFormation 템플릿에는 원하는 리소스와 종속성이 설명되어 있으므로 이를 모두 하나의 스택으로 구성하고 시작할 수 있습니다. 리소스를 개별적으로 관리하는 대신 템플릿을 통해 전체 스택을 단일 단위로 처리하여 필요한 만큼 자주 생성 및 업데이트하고 삭제할 수 있습니다. 스택은 여러 AWS 계정 및 AWS 리전에서 관리 및 프로비저닝할 수 있습니다.

Page Topics

기능

기능

AWS CloudFormation 레지스트리를 사용하면 AWS 파트너 네트워크(APN) 파트너 및 개발자 커뮤니티에서 게시한 서드 파티 리소스 및 모듈을 모델링하고 프로비저닝할 수 있습니다. 서드 파티 리소스의 예로는, MongoDB, Datadog, Atlassian Opsgenie, JFrog, Trend Micro, Splunk, Aqua Security, FireEye, Sysdig, Snyk, Check Point, Spot by NetApp, Gremlin, Stackery, Iridium과 같은 AWS 파트너의 리소스와 함께 모니터링, 팀 생산성, 인시던트 관리 및 버전 제어 도구가 해당됩니다. 또한, AWS 빠른 시작에서 관리하는 항목과 함께 JFrog 및 Stackery의 사전 구축된 모듈 모음을 찾아보고 검색하며 선택할 수 있습니다.

로컬 테스트 및 코드 생성 기능을 포함하여 개발 프로세스를 간소화하는 오픈 소스 도구인 AWS CloudFormation CLI를 사용하여 리소스 공급자를 직접 구축할 수 있습니다.

CloudFormation StackSets를 사용하면 단일 CloudFormation 템플릿으로 여러 계정과 리전에 걸쳐 공통된 AWS 리소스 세트를 프로비저닝할 수 있습니다. StackSets에서는 위치에 관계없이 스택을 자동으로 안전하게 프로비저닝, 업데이트 또는 삭제합니다.

CloudFormation을 사용하면 텍스트 파일로 전체 클라우드 환경을 모델링할 수 있습니다. JSON 또는 YAML 같은 오픈 소스 선언 언어를 사용하여 생성 및 구성할 AWS 리소스를 설명할 수 있습니다. 시각적으로 설계하려면 AWS CloudFormation Designer를 통해 AWS CloudFormation 템플릿을 시작하면 됩니다.

AWS Cloud Development Kit(AWS CDK)에서 TypeScript, Python, Java 및 .NET을 사용하여 클라우드 환경을 정의할 수 있습니다. AWS CDK는 오픈 소스 소프트웨어 개발 프레임워크로, 이를 통해 친숙한 프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를 모델링한 후 사용자 IDE에서 직접 CloudFormation을 사용하여 인프라를 프로비저닝할 수 있습니다. CDK는 검증된 기본값으로 클라우드 리소스를 미리 구성하는 개괄적인 구성 요소를 제공하므로, 전문가의 도움 없이 클라우드 애플리케이션을 구축할 수 있습니다. AWS CDK에 대해 자세히 알아보세요.

간편 구문을 통해 함수, API, 데이터베이스 및 이벤트 소스 매핑을 표현하는 오픈 소스 프레임워크인 AWS Serverless Application Model(SAM)을 활용하면 서버리스 애플리케이션을 더 빠른 속도로 구축할 수 있습니다. 리소스당 몇 줄만 있으면 원하는 애플리케이션을 정의하고 YAML을 사용하여 모델링할 수 있습니다. SAM은 배포 중에 SAM 구문을 CloudFormation 구문으로 변환 및 확장합니다. 

CloudFormation은 안전하고 제어된 방식으로 인프라 프로비저닝 및 업데이트를 자동화합니다. 오류로 이어질 수 있는 수동 단계 또는 제어 항목이 없습니다. 롤백 트리거를 사용하여 스택 생성 및 업데이트 프로세스 동안 CloudFormation이 모니터링해야 하는 CloudWatch 경보를 지정할 수 있습니다. 트리거된 경보가 있는 경우 CloudFormation이 전체 스택 작업을 이전에 배포된 상태로 롤백합니다.

ChangeSets를 사용하면 CloudFormation이 인프라 및 애플리케이션 리소스에서 변경하도록 제안하는 내용을 실행 전에 미리 볼 수 있으므로 배포가 계획한 대로 정확하게 진행됩니다. CloudFormation은 수행하기에 적합한 작업을 결정하고, 리소스를 최대한 효율적으로 프로비저닝하고, 오류가 발생하면 자동으로 롤백합니다. 그리고 이를 통해 인프라 및 애플리케이션 리소스의 상태가 마지막으로 알려진 양호한 상태로 되돌려집니다. 드리프트 감지를 사용하면 CloudFormation 외부에 있는 리소스의 변경 사항을 추적하여 인프라를 항상 최신 상태로 유지할 수 있습니다.

AWS CloudFormation 변경 세트를 사용하면 스택에 대해 제안된 변경 사항이 실행 중인 리소스에 어떤 영향을 미칠 수 있는지 미리 확인하여 변경 사항으로 인해 중요한 리소스가 삭제되거나 교체될지 여부 등을 살펴볼 수 있습니다. 사용자가 변경 세트를 실행하기로 결정한 후에만 CloudFormation이 스택에 변경 사항을 적용합니다. 

AWS CloudFormation은 스택 관리 작업 중에 리소스 간 종속성을 자동으로 관리합니다. 리소스의 생성, 업데이트 또는 삭제 순서를 지정하기 위해 고민할 필요가 없습니다. CloudFormation에서 스택 작업을 수행할 때 각 리소스에 대해 실행할 작업의 올바른 순서를 결정하기 때문입니다. 

AWS CloudFormation은 원격 Git 리포지토리에 저장된 CloudFormation 템플릿에서 스택을 업데이트할 수 있도록 지원합니다. 이 기능을 사용하면 원격 리포지토리를 벗어나지 않고도 스택 배포의 성공 또는 실패 여부를 알 수 있으므로 컨텍스트 전환을 피할 수 있어 시간이 절약됩니다.