cloudformation

2023. 5. 27. 14:54Cloud/aws

# about aws cloudformation 

aws cloudformation은 인프라를 코드로 처리는 Infrastructure as code로써 aws, 서드파티리소스를 모델링하고 관리할 수 있는 서비스이다. 이 서비스의 장점은 인프라를 코드로 관리할 수 있어서 전체 클라우드 환경을 모델링하여 인프라 구축할때 직접 콘솔에서 번거롭게 하는 번거로움을 간소화 한다. cloudformation은 4단계로 진행 할 수 있다. aws 리소스를 json/yaml 형식의 템플릿 파일로 작성하고 aws 리소스를 생성한다. 생성된 리소스의 모음을 스택이라고 한다. 스택 생성, 업데이트, 삭제를 통해 리소스 의 모음을 수정할 수 있고 스택의 모든 리소스는 cloudformation 탬플릿으로 정의한다. cloudformation은 자체에 별도 요금을 부과하지 않고 사용한 리소스에 대해서만 요금을 부과한다.

 

cloudformation 사용방식 : https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/cfn-whatis-howdoesitwork.html

 

템플릿 구성요소 

- AWSTemplateFormationVersion : 템플릿 버전 

- Description : 템플릿 설명 

- Metadata : 템플릿에 대한 추가 정보 

- Parameters : 템플릿 실행 시 전달한 파라미터 값 

- Mappings : 간소화된 표현을 위한 키, 값 

- Conditions : 특정 자원에 대한 생성 여부를 판단하는 조건 

- Transform : Serverless 애플리케이션용 구문과 처리 방식을 정의

- Resources : 생성될 AWS 리소스들[필수] 

- Outputs : 템플릿 실행 후 만들어진 리소스 결과값 


1. 스택생성 

 

2. 스택 세부정보지정[스택 이름 설정, 파라미터 설정] 

스택 생성에 가보면 스택을 생성할 수 있는 템플릿이 나와 있다. s3에 저장된 템플릿, 자신의 템플릿에 업로드 시켜 주어야 되는데 aws에서는 샘플 템플릿을 제공한다. 샘플 템플릿 - AWS CloudFormation (amazon.com) 

자신의 yaml파일이나 json파일을 가지고 있다면 준비된 템플릿을 활용하여 불러올 수 있다. 

 

3. 스택 옵션 구성 

스택옵션에서는 태그, iam 역할, 스택 실패옵션이 있다. 

고급옵션 부분에 스택 생성옵션이 있는데 스택생성 초과시간 제한을 설정할 수 있고 종료 방지를 통해 스택이 실수로 삭제되는 것을 방지할 수 있는 추가 옵션이 있다. 

 

 

4. 스택 검토 

최종적으로 템플릿을 배포하기 전에 자신이 생성한 스택의 요약을 볼 수 있으며 검토 단계라고 보면 된다. 

 

배포가 진행되면 해당 이벤트에서 yaml, json파일에서 만든 리소스를 자동으로 생성해주며 해당 상태를 확인 할 수 있다. 

참고로 총 6가지의 상태 메시지를 보여주면 오류가 발생할 시 해당 메시지를 참고하여 조취하면 된다. 

 

yaml파일에는 간단하게 ec2생성과 vpc생성을 추가하는 리소스를 생성하였는데 템플릿 배포 후 자동으로 vpc가 생성된 것을 확인 할 수 있다. 

'Cloud > aws' 카테고리의 다른 글

ELB(ALB) 로그 활성화 & S3에 로그 저장하기  (0) 2023.07.13
3-tier architecture[subnet]  (0) 2023.02.18
3-tier architecture[internetgateway]  (0) 2023.02.18
3-tier architecture[vpc]  (0) 2023.02.13
intro aws 3 - tier architecture  (0) 2022.10.02