Amazon Web Services 한국 블로그

AWS CloudFormation Express 모드: 인프라 배포 최대 4배 가속

오늘 인프라에서 반복적인 개발자 및 AI 도구 배포를 가속화하는 새로운 배포 모드인 AWS CloudFormation Express 모드를 발표합니다. Express 모드는 CloudFormation에서 리소스 구성이 적용되었음을 확인할 때 추가적인 안정화 검사를 기다리지 않고 완료하여 배포를 가속화합니다. 이를 통해 반복적인 개발 워크플로와 프로덕션 시나리오의 배포 시간이 최대 4배까지 단축됩니다.

작동 방식
모든 CloudFormation 배포는 리소스 구성이 적용된 후 안정화 검사를 수행합니다. 이러한 검사는 부하를 전환하기 전에 리소스가 트래픽을 처리할 수 있는지 확인해야 할 때 중요한 역할을 합니다.

그러나 많은 워크플로는 진행하기 위해 완전한 안정화가 필요하지 않습니다. Express 모드는 반복적인 개발 워크플로와 최종 안정화에 익숙한 프로덕션 시나리오라는 두 가지 주요 사용 사례에 도움이 됩니다. 이러한 사용 사례에는 개발 중 인프라 구성을 반복하고, 애플리케이션의 개별 구성 요소를 테스트하고, 1분 미만의 피드백 루프를 활용하는 AI 지원 인프라 개발도 포함됩니다.

Express 모드에서 CloudFormation은 리소스 구성이 적용되면 안정화 검사를 기다리지 않고 배포를 완료합니다. 리소스는 백그라운드에서 계속 운영 가능 상태가 됩니다. CloudFormation은 동일한 스택 내에서 프로비저닝하는 동안 일시적인 장애가 발생하는 종속 리소스를 고객의 개입 없이 자동으로 재시도합니다. 이 기본 복원력은 리소스가 안정화되는 동안 리소스 간의 타이밍 문제를 처리합니다. Express 모드는 리소스가 프로비저닝되는 방식이 아니라 배포가 완료되는 시점을 변경합니다.

예를 들어 Dead Letter Queue(DLQ)를 사용하여 Amazon Simple Queue Service(SQS) 대기열을 생성할 때 표준 모드에서는 64초가 걸리지만 Express 모드에서는 최대 10초 만에 완료됩니다. 벤치마킹 테스트에 따르면 네트워크 인터페이스가 연결된 AWS Lambda 함수를 삭제하는 경우, 표준 모드에서는 20~30분이 걸리지만 Express 모드에서는 최대 10초 안에 완료됩니다.

CloudFormation Express 모드 시작하기
AWS Management Console에서 CloudFormation 스택을 생성할 때 스택 배포 옵션 아래의 Express 모드에서 활성화를 선택합니다.

또는 AWS Command Line Interface(AWS CLI), AWS SDK 또는 AWS Cloud Development Kit(CDK)와 같은 IaC 도구, Kiro와 같은 AI 도구를 사용할 수 있습니다.

스택을 생성, 업데이트 또는 삭제할 때 --deployment-config 매개 변수를 EXPRESS로 설정하여 Express 모드를 활성화합니다. 템플릿을 변경할 필요가 없습니다. Express 모드에서는 가장 빠른 반복 경험을 위해 기본적으로 롤백이 비활성화됩니다. 롤백을 다시 활성화하려면 프로덕션 환경의 deployment-config에서 disableRollbackfalse로 설정하거나 실패한 배포에 대한 모니터링/정리 메커니즘을 구현하세요.

aws cloudformation create-stack \ 
   --stack-name my-app \ 
   --template-body file://template.yaml \ 
   --deployment-config '{"mode": "EXPRESS", "disableRollback": true}' \

예를 들어 인프라를 점진적으로 구축하고 리소스를 한 번에 하나씩 추가하는 경우 Express 모드를 사용하세요. IAM 역할 템플릿이 최소 권한 원칙을 따르는지 확인하세요.

# Iteration 1: Deploy IAM role
aws cloudformation create-stack \
--stack-name my-microservice \
--template-body file://iteration1-iam.yaml \
--deployment-config '{"mode": "EXPRESS"}' \
--capabilities CAPABILITY_IAM
--role-arn arn:aws:iam::123456789012:role/CloudFormationDeployRole

# Iteration 2: Add Lambda function
aws cloudformation update-stack \
--stack-name my-microservice \
--template-body file://iteration2-lambda.yaml \
--deployment-config '{"mode": "EXPRESS"}' \
--capabilities CAPABILITY_IAM
--role-arn arn:aws:iam::123456789012:role/CloudFormationDeployRole

# Iteration 3: Add SQS queue and event source mapping
aws cloudformation update-stack \
--stack-name my-microservice \
--template-body file://iteration3-sqs.yaml \
--deployment-config '{"mode": "EXPRESS"}' \
--capabilities CAPABILITY_IAM
--role-arn arn:aws:iam::123456789012:role/CloudFormationDeployRole

AWS CDK의 경우 CDK 스택을 배포할 때 cdk deploy --express 명령을 사용하여 Express 모드를 활성화합니다. 이 명령은 생성된 CloudFormation 템플릿을 검색하고 CloudFormation Express 모드를 통해 이를 배포하며 리소스를 CloudFormation 스택의 일부로 프로비저닝합니다.

Express 모드는 기존의 모든 CloudFormation 템플릿과 함께 작동하며 변경 세트 및 중첩된 스택을 비롯한 모든 CloudFormation 기능을 지원합니다. 상위 스택에서 Express 모드를 활성화하면 모든 중첩된 스택도 Express 모드를 사용합니다. 트래픽이나 테스트를 진행하기 전에 리소스를 완전히 작동시켜야 하는 경우 완료 전에 안정화 검사를 수행하는 기본 배포 동작을 계속 사용하세요.

정식 출시
AWS CloudFormation Express 모드는 현재 모든 AWS 상용 리전에서 추가 비용 없이 사용할 수 있습니다. 리전별 가용 여부와 향후 로드맵은 리전별 AWS 기능을 참조하세요. API를 호출하고, 문서를 검색하고, 지역별 가용성을 확인하고, 이 새로운 기능에 대한 문제 해결을 확인하려면 선호하는 AI 도구를 사용하여 AWS MCP Server플러그인을 활용하세요. 자세한 내용은 CloudFormation 설명서를 참조하세요.

지금 바로 배포를 가속화하고 AWS CloudFormation용 AWS re:Post 또는 평소 이용하시는 AWS Support 채널을 통해 피드백을 보내주세요.

Channy