Q: AWS CloudFormation이란 무엇입니까?

AWS CloudFormation은 개발자와 기업이 손쉽게 관련 AWS 리소스의 모음을 생성하고 이를 질서정연하고 예측 가능한 방식으로 프로비저닝할 수 있는 방법을 제공하는 서비스입니다.

Q: 개발자가 이전에는 할 수 없었지만 이제 AWS CloudFormation을 사용해 할 수 있는 작업은 무엇입니까?

AWS CloudFormation은 애플리케이션을 실행하는 반복적이고 예측 가능한 관련 리소스의 그룹 생성 태스크를 자동화 및 간소화합니다. 이제 단일 EC2 또는 RDS 인스턴스를 생성하는 것만큼이나 간단하게 애플리케이션을 실행하는 데 필요한 모든 리소스를 생성하고 상호 연결할 수 있습니다.

무료로 AWS 시작하기

무료 계정 생성
또는 콘솔에 로그인

AWS 프리 티어에는 Amazon ElastiCache와 함께 750시간의 마이크로 캐시 노드가 포함되어 있습니다.

AWS 프리 티어 세부 정보 보기 »

Q: AWS CloudFormation은 AWS Elastic Beanstalk와 어떻게 다릅니까?

이러한 서비스는 상호 보완할 수 있도록 설계되었습니다. AWS Elastic Beanstalk는 클라우드에서 손쉽게 애플리케이션을 배포하고 실행할 수 있는 환경을 제공합니다. 개발자 도구와 통합되며 애플리케이션의 수명 주기를 한 곳에서 관리할 수 있는 환경을 제공합니다. AWS CloudFormation은 광범위한 AWS 리소스를 편리하게 배포할 수 있는 메커니즘입니다. 기존의 엔터프라이즈 애플리케이션, 레거시 애플리케이션, 다양한 AWS 리소스 및 컨테이너 기반 솔루션을 사용해 구축된 애플리케이션(AWS Elastic Beanstalk를 사용해 구축된 애플리케이션 포함)과 같은 각종 애플리케이션의 인프라 요구를 지원합니다.

AWS CloudFormation은 AWS 리소스 유형 중 하나로 Elastic Beanstalk 애플리케이션 환경을 지원합니다. 따라서 애플리케이션 데이터를 저장하는 RDS 데이터베이스와 함께 AWS Elastic Beanstalk에서 호스팅되는 애플리케이션을 생성하고 관리할 수 있습니다. RDS 인스턴스뿐만 아니라, 지원되는 모든 AWS 리소스를 그룹에 추가할 수 있습니다.

Q: AWS CloudFormation이 도입한 새로운 개념은 무엇입니까?

AWS CloudFormation에서는 두 가지 개념을 도입하였습니다. 애플리케이션을 실행하기 위해 배포해야 하는 모든 AWS 리소스를 설명하는 JSON 또는 YAML 형식의 텍스트 기반 파일인 템플릿과 AWS CloudFormation에서 템플릿을 인스턴스화할 때 단일 유닛으로 생성 및 관리되는 AWS 리소스 세트인 스택이 바로 그것입니다.

Q: AWS CloudFormation을 시작하려면 어떻게 해야 합니까?

스택을 배포 및 관리하는 포인트 앤 클릭 방식의 웹 기반 인터페이스인 AWS Management Console을 통해 AWS CloudFormation에 손쉽게 액세스할 수 있습니다. AWS Management Console에서 다음과 같은 몇 가지 단계를 거쳐 새 스택을 생성할 수 있습니다.

  1. 스택 이름 지정: 스택에 고유한 이름을 지정합니다.
  2. 템플릿 선택: 로컬 파일 시스템 또는 Amazon S3 URL에서 템플릿을 선택합니다. 샘플 AWS CloudFormation 템플릿, 사용자 지정 템플릿, 소스 제어 리포지토리에서 관리하는 템플릿, 타사 템플릿 중 하나를 선택할 수 있습니다.
  3. 파라미터 지정: 템플릿에서 사용자가 배포를 구성할 수 있는 경우, 원하는 파라미터를 작성하거나 지정된 기본값을 사용할 수 있습니다.
  4. "Create" 클릭: 배포를 시작합니다. AWS Management Console에서 모든 리소스 이름 및 스택 이벤트를 포함한 배포의 현재 상태를 볼 수 있습니다.

Q: AWS CloudFormation에서는 어떤 리소스를 지원합니까?

지원되는 AWS 리소스 및 해당 기능의 전체 목록을 보려면, 설명서의 릴리스 기록에서 Supported AWS Services 페이지를 참조하십시오.

AWS CloudFormation 사용자 지정 리소스를 사용하면 AWS에서 제공하거나 제공하지 않는 추가 리소스를 관리할 수 있습니다.

Q: AWS CloudFormation 스택의 일부인 개별 AWS 리소스를 관리할 수 있습니까?

예. AWS CloudFormation은 리소스 관리에 지장을 주지 않으므로 인프라의 모든 요소에 대한 권한이 유지됩니다. 계속해서 기존의 모든 AWS 및 타사 도구를 사용해 AWS 리소스를 관리할 수 있습니다.

Q: AWS CloudFormation 템플릿의 요소는 무엇입니까?

AWS CloudFormation 템플릿은 다음과 같은 다섯 가지 유형의 요소로 구성된 JSON 또는 YAML 형식의 텍스트 파일입니다.

  1. 템플릿 매개 변수 목록(옵션이며 스택 생성 시 입력 값 제공)
  2. 출력 값(예: 웹 애플리케이션에 대한 전체 URL) 목록(옵션)
  3. 정적 구성 값(예: AMI 이름)을 조회하는 데 사용되는 데이터 테이블 목록(옵션)
  4. AWS 리소스 및 해당 구성 값 목록
  5. 템플릿 파일 형식 버전 번호

스택이 구축될 때, 파라미터를 사용하면 런타임 시 템플릿이 어떻게 작동할 지 사용자 지정할 수 있습니다. 예를 들어, 스택이 생성되면 Amazon RDS 데이터베이스 크기, Amazon EC2 인스턴스 유형, 데이터베이스 및 웹 서버 포트 번호를 AWS CloudFormation으로 전달할 수 있습니다. 각 매개 변수에는 기본값과 설명이 포함될 수 있으며 화면에 입력한 실제 값을 숨기기 위해 이벤트 로그에 “NoEcho”로 표시될 수 있습니다. AWS CloudFormation 스택을 생성하면 AWS Management Console에서 자동으로 사용자가 매개 변수 값을 편집할 수 있는 팝업 대화 상자 양식을 구성하여 표시합니다.

출력 값은 AWS Management Console 또는 명령줄 도구를 통해 스택의 주요 리소스(예: Elastic Load Balancing 로드 밸런서 또는 RDS 데이터베이스의 주소)를 사용자에게 제공할 수 있는 매우 편리한 방법입니다. 단순 기능을 사용해 실제 AWS 리소스와 관련된 문자열 리터럴 및 속성 값을 연결할 수 있습니다.

Q: AWS CloudFormation에서 실제 리소스 이름을 선택하려면 어떻게 해야 합니까?

템플릿에서 AWS 리소스에 논리적 이름을 할당할 수 있습니다. 스택이 생성되면 AWS CloudFormation은 논리적 이름을 해당하는 실제 AWS 리소스의 이름에 바인딩합니다. 실제 리소스 이름은 스택 및 논리적 리소스 이름의 조합입니다. 따라서 AWS 리소스 간의 이름 충돌을 염려할 필요 없이 하나의 템플릿에서 여러 스택을 생성할 수 있습니다.

Q: 모든 리소스에 이름을 지정할 수 없는 이유는 무엇입니까?

AWS CloudFormation에서는 Amazon S3 버킷 등 일부 리소스에 이름을 지정할 수 있지만 모든 리소스에 이름을 지정할 수는 없습니다. 리소스에 이름을 지정하면 템플릿을 재사용하기 힘들고 업데이트하기 위해 리소스를 교체할 때 이름에 충돌이 생깁니다. CloudFormation에서는 이러한 문제를 최소화하기 위해 리소스 이름 지정을 개개의 사례에 따라 지원합니다.

Q: AWS CloudFormation을 사용해 스택을 생성할 때 소프트웨어를 설치할 수 있습니까?

예. AWS CloudFormation은 애플리케이션 부트스트랩 스크립트 세트를 제공하므로 CloudFormation 템플릿에 설명을 입력하는 간단한 방식으로 EC2 인스턴스에 패키지, 파일 및 서비스를 설치할 수 있습니다. 자세한 내용과 방법은 Bootstrapping Applications via AWS CloudFormation을 참조하십시오.

Q: AWS CloudFormation을 Chef와 함께 사용할 수 있습니까?

예. AWS CloudFormation은 EC2 인스턴스에서 Chef Server 및 Chef Client 소프트웨어를 부트 스트랩하는 데 사용할 수 있습니다. 자세한 내용과 방법은 Integrating AWS CloudFormation with Chef를 참조하십시오.

Q: AWS CloudFormation을 Puppet과 함께 사용할 수 있습니까?

예. AWS CloudFormation은 EC2 인스턴스에서 Puppet Master 및 Puppet Client 소프트웨어를 부트 스트랩하는 데 사용할 수 있습니다. 자세한 내용과 방법은 Integrating AWS CloudFormation with Puppet을 참조하십시오.

Q: AWS CloudFormation은 Amazon EC2 태그 지정을 지원합니까?

예. 태그 지정 기능을 지원하는 Amazon EC2 리소스도 AWS 템플릿에서 태그를 지정할 수 있습니다. 템플릿 파라미터, 기타 리소스 이름, 리소스 속성 값(예: 주소), 단순 함수로 계산한 값(예: 연결된 문자열 목록) 등을 태그 값으로 나타낼 수 있습니다.

AWS CloudFormation은 Amazon EBS 볼륨 및 Amazon EC2 인스턴스가 속한 AWS CloudFormation 스택의 이름을 사용하여 해당 볼륨 및 인스턴스에 자동으로 태그를 지정합니다.

Q: Amazon EC2 인스턴스 또는 Auto Scaling Launch Configuration 사용자 데이터 필드에 액세스할 수 있습니까?

예. 단순 기능을 사용해 AWS 리소스의 문자열 리터럴과 속성 값을 연결하고 이를 템플릿의 사용자 데이터 필드에 전달할 수 있습니다. 이 사용하기 쉬운 기능에 대한 자세한 내용은 Amazon의 샘플 템플릿을 참조하십시오.

Q: 스택의 리소스 중 하나가 성공적으로 생성되지 않을 경우 어떻게 됩니까?

기본적으로 “Automatic rollback on error” 기능이 활성화되어 있습니다. 따라서 오류가 발생한 시점까지 AWS CloudFormation이 스택에 대해 성공적으로 생성한 모든 AWS 리소스가 삭제됩니다. 이 기능은 예를 들어 실수로 엘라스틱 IP 주소 제한을 초과했거나 실행하려는 EC2 AMI에 액세스할 수 있는 권한이 없는 경우에 유용합니다. 이 기능을 사용하면 스택이 완전히 생성되거나 전혀 생성되지 않는다는 점을 이용해 시스템 관리와 AWS CloudFormation의 맨 위에 구축된 계층형 솔루션을 간소화할 수 있습니다.

Q: 애플리케이션이 가동될 때까지 기다린 후에 스택을 생성할 수 있습니까?

예. AWS CloudFormation은 장벽처럼 작용해 애플리케이션 또는 관리 시스템과 같은 외부 소스에서 완료 신호가 수신될 때까지 다른 리소스의 생성을 차단하는 WaitCondition 리소스를 제공합니다.

Q: 스택이 삭제된 경우 데이터를 저장할 수 있습니까?

예. AWS CloudFormation을 사용해 템플릿에 리소스에 대한 삭제 정책을 정의할 수 있습니다. Amazon EBS 볼륨 또는 Amazon RDS 데이터베이스 인스턴스가 삭제되기 전에 이에 대해 생성할 스냅샷을 지정할 수 있습니다. 스택이 삭제될 때 삭제하지 않고 보존해야 하는 리소스를 지정할 수도 있습니다. 이 기능은 스택이 삭제될 때 Amazon S3 버킷을 보존하려는 경우에 유용합니다.

Q: 스택을 생성한 후 업데이트할 수 있습니까?

예. AWS CloudFormation을 사용해 제어되고 있는 기존 스택의 리소스를 예측 가능한 방식으로 수정 및 업데이트할 수 있습니다. 템플릿을 사용해 스택 변경 사항을 관리하여, 버전 관리를 AWS 인프라에서 실행되는 소프트웨어에 적용하는 것과 같은 방법으로 AWS 인프라에 적용할 수 있습니다.

Q: Virtual Private Cloud(VPC)에 스택을 생성할 수 있습니까?

예. CloudFormation은 VPC에서 엘라스틱 IP, Amazon EC2 인스턴스, EC2 보안 그룹, Auto Scaling 그룹, Elastic Load Balancer, Amazon RDS 데이터베이스 인스턴스 및 Amazon RDS 보안 그룹과 같은 리소스를 생성할 뿐 아니라 VPC, 서브넷, 게이트웨이, 라우팅 테이블 및 네트워크 ACL을 생성하는 기능도 지원합니다.



Q: AWS CloudFormation에 가입하려면 어떻게 해야 합니까?

AWS CloudFormation에 가입하려면 AWS CloudFormation 세부 정보 페이지에서 무료 계정 생성을 클릭하십시오. 가입한 후 시작 안내서에 포함된 AWS CloudFormation 설명서를 참조하십시오.

Q: AWS CloudFormation에 가입할 때 전화번호를 묻는 메시지가 표시되는 이유는 무엇입니까?

AWS CloudFormation에 가입하려면 연락이 필요한 경우에 대비하여 유효한 전화번호와 이메일 주소를 기록해 AWS에 제출해야 합니다. 전화번호를 확인하는 데는 몇 분밖에 걸리지 않습니다. 가입 프로세스 중에 자동 전화를 받고 전화기의 키패드를 사용해 PIN 번호를 입력합니다.

Q: 가입한 후 어떻게 시작합니까?

AWS CloudFormation을 시작하는 가장 좋은 방법은 당사의 기술 설명서에 포함된 시작 안내서를 참조하는 것입니다. 몇 분 내에 Tracks, WordPress 등과 같은 애플리케이션을 실행하는 데 필요한 인프라 생성 방법을 설명하는 샘플 템플릿 중 하나를 배포하여 사용할 수 있습니다.

Q: AWS CloudFormation을 검사하는 데 사용할 수 있는 샘플 템플릿이 있습니까?

예. AWS CloudFormation에는 제품을 테스트하고 그 기능을 탐색하는 데 사용할 수 있는 샘플 템플릿이 포함되어 있습니다. AWS의 샘플 템플릿은 여러 AWS 리소스를 한 번에 상호 연결해서 사용하는 방법과 여러 가용 영역 중복에 대한 모범 사례 준수, 확장 및 경보에 대해 설명합니다. AWS Management Console로 이동하여 Create Stack을 클릭하고 단계를 따라 샘플 중 하나를 선택하여 시작하면 됩니다. 스택이 생성되고 나면 콘솔에서 해당 스택을 선택한 다음 각각의 스택을 생성하는 데 사용된 템플릿 파일의 세부 정보를 TemplateParameter 탭에서 확인합니다.

Q: AWS CloudFormation을 사용하려면 비용이 얼마나 듭니까?

AWS CloudFormation에 대한 추가 비용은 없습니다. 생성된 AWS 리소스에 대해서만 지불하면 됩니다(예: Amazon EC2 인스턴스, Elastic Load Balancing 로드 밸런서 등).

Q: 실패한 스택 생성을 시도하는 도중 롤백된 리소스에 대한 비용을 지불해야 합니까?

예. 템플릿 인스턴스화 도중 생성된 AWS 리소스에 대한 비용은 전체 스택이 성공적으로 생성되었는지 여부에 관계없이 적용됩니다.

Q: 템플릿 또는 스택 수 제한이 있습니까?

템플릿 수에 대한 제한은 없습니다. 각 AWS CloudFormation 계정의 최대 스택 수는 200개로 제한됩니다. 제한 값을 높이려면 여기에 있는 요청서를 작성해 주십시오. 업무일 기준 2일 내에 답변해 드리겠습니다.

Q: 설명 필드의 문자 수에 제한이 있습니까?

Template, Parameter, Output, Resource 설명 필드는 4,096자로 제한됩니다.

Q: 템플릿의 매개 변수 또는 출력 수에 대한 제한이 있습니까?

템플릿에 최대 60개의 매개 변수와 60개의 출력을 포함할 수 있습니다.

Q: 각 리전의 AWS CloudFormation 서비스 액세스 포인트는 어디입니까?

각 리전에 대한 엔드포인트는 기술 설명서에서 확인할 수 있습니다.

Q: 현재 AWS CloudFormation을 사용할 수 있는 AWS 리전은 어디입니까?

CloudFormation의 리전별 가용성에 대한 자세한 정보는 리전별 제품 및 서비스를 참조하십시오.