AWS Cloudformation Template

문학적인유사성·2022년 2월 20일
0

AWS

목록 보기
2/64

IaC 도구중 하나

  1. 인프라 관리 간소화, 스택 단위로 손쉽게 관리 (스택 생성시 AS, LB, DB등 자동으로 프로비저닝)
  2. 신속한 인프라 복제 -> 여러 리전 복제, 기존 템플릿 재사용
  3. 인프라 변경 사항 쉽게 제어 및 추적

구성요소

  1. Template
  • JSON/YAML 형식의 파일
  1. Cloudformation
  • 프레임워크
  1. Stack
  • 구성된 AWS 서비스

구성사항

  1. Description
  2. MetaData : 템플릿 추가 정보
  3. Parameters : 템플릿 실행 시 전달할 파라미터 값
  4. Mapping : 템플릿 실행 시 선택하게 되는 값 (특정 리전, 인스턴스 )
  5. Conditions : 특정 자원에 댛한 생성 여부를 판단하는 조건
  6. Transform : serverless 애플리케이션용
  7. Resources : 생성될 AWS 자원 나열 필수
  8. Outputs : 템플릿 실행 후 만들어진 자원 결과값(자원 ID, IP 등)

yaml 주의점 및 문법

# 샵은 주석 (yaml파일에 주석으로 적어둔거라서 #이 다 붙어있음 ㅎㅎㅎ)
# --- 문서의 시작을 나타냄 ( 선택사항 )

# 생성될 AWS 자원 나열 
# 주의점 
# yaml은 key: value로 표현 :다음에는 무조건 공백 필요
# :사용시 " " or ' ' 필수

# type 종류 
# int_type: 1
# string_type: "1"
# boolean_type: true or false, yes or no

# object 표현 방법
# key:
#   key: value
#   key: value
# key: {
#   key: value,
#   key: value
# }

# list 표현 방법
# key:
#   - item
#   - item
# key: [
#   item, item
# ]

# text표현
# | 줄바꿈 O
# |- 마지막 줄바꿈 X
# > 중간에 들어간 빈줄을 제외


# ... 문서의 끝을 나타냄 ( 선택사항 )

VPC 실습

vpc 만들때 공백 하나하나 신경 써야되더라 ㅜㅜ 계속 오류 떠서 확인해보니까 공백때문이였음.

# Ref 내장 함수는 지정된 파라미터 또는 리소스에 대한 정보를 반환합니다.
# 파라미터의 논리적 이름을 지정하면 파라미터의 값이 반환됩니다.
# 리소스의 논리적 이름을 지정하면 해당 리소스를 참조하는 데 일반적으로 사용할 수 있는 값이 반환됩니다(예: 물리적 ID).
# https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html

# 내장 함수 Select는 인덱스별 객체 목록에서 객체 하나를 반환합니다.

# GetAZs 내장 함수는 지정된 리전의 가용 영역을 알파벳순으로 나열하는 어레이를 반환합니다
# region 가용 영역을 가져올 리전의 이름입니다.
# AWS::Region 가상 파라미터를 사용하여 스택이 생성되는 리전을 지정할 수 있습니다. 빈 문자열을 지정하면 AWS::Region을 지정하는 것과 같습니다.

# GetAtt 내장 함수는 템플릿의 리소스에서 속성 값을 반환합니다


대박... VPC를 만들수있네 진짜로...

연습: 스택 업데이트

https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/updating.stacks.walkthrough.html

아파치 웹서버 + 리눅스 AMI => php웹애플리케이션

cfn 데몬

  • cfn-hup 헬퍼는 리소스 메타데이터의 변경 사항을 감지하고 변경 사항이 감지되면 사용자 지정 작업을 실행하는 데몬입니다. 이렇게 하면UpdateStack API 작업을 통해 실행 중인 Amazon EC2 인스턴스에 대한 구성을 업데이트할 수 있습니다.

이 템플릿은 cfn-hup 데몬이 Amazon EC2 인스턴스용 메타데이터에 정의된 구성의 변경 내용을 수신하도록 구성하고 활성화합니다. cfn-hup 데몬을 사용하여 Apache 또는 PHP 버전 등 애플리케이션 소프트웨어를 업데이트하거나, 에서 PHP 애플리케이션 파일 자체를 업데이트할 수 있습니다. 템플릿에 들어 있는 동일 리소스의 다음 코드 조각은 메타데이터에 대한 변경 내용이 감지되는 경우 cfn-hup를 호출하여 소프트웨어를 업데이트하도록 cfn-hub를 구성하는 데 필요한 요소를 보여줍니다.

스택 세부정보를 설정할때 KeyPair를 설정할 수 있음!

profile
유사 IT 항해

0개의 댓글