코드형 인프라로 클라우드 프로비저닝 가속화
Witten by Minhyeok Cha
개요
AWS CloudFormation을 활용하면 인프라를 코드로 처리함으로써 손쉬운 방법으로 관련된 AWS 및 서드 파티 리소스 모음을 모델링하고, 일관된 방식으로 간단히 프로비저닝하고, 수명 주기 전반에 걸쳐 관리할 수 있습니다. CloudFormation 템플릿에는 원하는 리소스와 종속성이 설명되어 있으므로 이를 모두 하나의 스택으로 구성하고 시작할 수 있습니다. 리소스를 개별적으로 관리하는 대신 템플릿을 통해 전체 스택을 단일 단위로 처리하여 필요한 만큼 자주 생성 및 업데이트하고 삭제할 수 있습니다. 스택은 여러 AWS 계정 및 AWS 리전에 걸쳐 관리 및 프로비저닝할 수 있습니다.
AWS CloudFormation 작동 방식
이점
확장성
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에서는 위치에 관계없이 스택을 자동으로 안전하게 프로비저닝, 업데이트 또는 삭제합니다.
JSON/YAML로 작성
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에 대해 자세히 알아보세요.
SAM을 통해 서버리스 애플리케이션 구축
간편 구문을 통해 함수, API, 데이터베이스 및 이벤트 원본 매핑을 표현하는 오픈 소스 프레임워크인 AWS Serverless Application Model(SAM)을 활용하면 서버리스 애플리케이션을 더 빠른 속도로 구축할 수 있습니다. 리소스당 몇 줄만 있으면 원하는 애플리케이션을 정의하고 YAML을 사용하여 모델링할 수 있습니다. SAM은 배포 중에 SAM 구문을 CloudFormation 구문으로 변환 및 확장합니다.
안전 제어
CloudFormation은 안전하고 제어된 방식으로 인프라 프로비저닝 및 업데이트를 자동화합니다. 오류로 이어질 수 있는 수동 단계 또는 제어 항목이 없습니다. 롤백 트리거를 사용하여 스택 생성 및 업데이트 프로세스 동안 CloudFormation이 모니터링해야 하는 CloudWatch 경보를 지정할 수 있습니다. 트리거된 경보가 있는 경우 CloudFormation이 전체 스택 작업을 이전에 배포된 상태로 롤백합니다.
ChangeSets를 사용하면 CloudFormation이 인프라 및 애플리케이션 리소스에서 변경하도록 제안하는 내용을 실행 전에 미리 볼 수 있으므로 배포가 계획한 대로 정확하게 진행됩니다. CloudFormation은 수행하기에 적합한 작업을 결정하고, 리소스를 최대한 효율적으로 프로비저닝하고, 오류가 발생하면 자동으로 롤백합니다. 그리고 이를 통해 인프라 및 애플리케이션 리소스의 상태가 마지막으로 알려진 양호한 상태로 되돌려집니다. 드리프트 감지를 사용하면 CloudFormation 외부에 있는 리소스의 변경 사항을 추적하여 인프라를 항상 최신 상태로 유지할 수 있습니다.
※스마일샤크가 제공하는 모든 콘텐츠는 관련 법의 보호를 받습니다. 스마일샤크 콘텐츠를 사전허가 없이 무단으로 복사·배포·판매·전시·개작할 경우 민·형사상 책임이 따를 수 있습니다. 콘텐츠 사용과 관련해 궁금한 점이 있으면 전화(☎:0507-1485-2028) 또는 이메일(contact@smileshark.kr)로 문의하기 바랍니다.
Comments