다루는 내용
∙ AWS CloudFormation 템플릿 내용 살펴보기
∙ AWS CloudFormation 템플릿으로 스택 실행하기
∙ 스택 보호 수정 및 삭제하기
실습
∙ 두 개의 Availability Zone으로 고가용성을 유지한다.
∙ 각 AZ에는 Public 서브넷이 하나씩 있다.
∙ 각 AZ에는 Private 서브넷이 하나씩 있다.
∙ 모든 서브넷은 다른 서브넷에 접근 가능하다.
∙ Public 서브넷만 인터넷에서 접근이 가능 하다.
∙ Private 서브넷은 NAT를 통해서 인터넷으로 Outbound만 허용한다.
∙ 트래픽은 보안 그룹으로 제한한다.
템플릿 기초 생성
템플릿은 JSON 형식으로 표기되며 CloudFormation 템플릿 임을 나타내는 기본 형식에 파라미터, 매핑 섹션 그리고 리소스 섹션으로 구성된다.
파라미터 추가
NAT 인스턴스의 타입과 접근 가능한 소스 IP 대역을 지정한다.
매핑 섹션 추가
사용 가능한 OS와 AMI를 테이블 형식으로 명시한다.
리소스 섹션 추가
실질적으로 구성할 자원에 대해서 명시한다.
- VPC 정의
- Internet Gateway 설정
- Subnet 정의
- Route 테이블 생성
- Route 테이블 정의
- Subnet을 Route 테이블에 매핑
- Network ACLs 생성
- Network ACLs 설정
- Subnet에 ACLs 연결
- NAT 인스턴스 생성
- NAT 인스턴스에 Elastic IP 할당
- NAT 보안 그룹 정의
- Private 보안 그룹 정의
아웃풋 섹션 추가
아웃풋 파라미터는 최대 10개로 제한되어 있다.
템플릿 실행
위 내용들을 종합하면 하나의 템플릿이 완성된다. 완성된 템플릿 파일을 다운 받아서 사용한다.
http://us-east-1-aws-training.s3.amazonaws.com/self-paced-lab-15/VPC1.json
1. 콘솔에서 CloudFormation 클릭
2. Create New Stack 클릭
3. Select Template 페이지
∙ Name : Custom-CF-Lab 입력
∙ Source : Specify an Amazon S3 template URL
http://us-east-1-aws-training.s3.amazonaws.com/self-paced-lab-15/VPC1.json
∙ Next 클릭
4. Specify Parameters 페이지
파라미터 추가에서 입력한 내용이 자동으로 입력되어 나온다.
∙ Next 클릭
5. Options 페이지
∙ Key : Name
∙ Value : VPC LAB
∙ Next 클릭
6. Review 페이지
∙ Create 클릭
템플릿 실행 결과 확인
1. 콘솔에서 VPC 클릭
2. 왼쪽 메뉴에서 Your VPCs 클릭
템플릿 삭제
1. 콘솔에서 EC2 클릭
2. NAT 인스턴스 선택 후 우클릭
3. Instance SettingsChange Terminatin Protection 클릭
4. Yes, Disable 클릭
5. 콘솔에서 VPC 클릭
6. 스택 선택 후 Delete Stack 클릭
참고
- AWS CloudFormation 템플릿 : 샘플들을 참고할 수 있다.
https://aws.amazon.com/ko/cloudformation/aws-cloudformation-templates/