Home
home

1장 실습 - CloudFormation을 통한 EC2 인스턴스 배포

1. CloudFormation 스택 생성

이번 실습은 AWS CloudFormation을 통해 스택을 생성하고 AWS 자원을 배포하는 실습입니다.
CloudFormation 템플릿 다운로드
아래 CloudFormation 템플릿 파일을 다운로드합니다.
CH1_LAB3.yaml
1.6 KB
Parameters: KeyName: Description: Name of an existing EC2 KeyPair to enable SSH access to the instances. Linked to AWS Parameter Type: AWS::EC2::KeyPair::KeyName ConstraintDescription: must be the name of an existing EC2 KeyPair. InstanceType: Description: Enter t2.nano, t2.micro Default is t2.micro. Type: String Default: t2.micro AllowedValues: - t2.nano - t2.micro LatestAmiId: Description: (DO NOT CHANGE) Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>' Default: '/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64' AllowedValues: - /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 Resources: MyInstance: Type: AWS::EC2::Instance Properties: ImageId: !Ref LatestAmiId InstanceType: !Ref InstanceType KeyName: !Ref KeyName Tags: - Key: Name Value: WebServer SecurityGroups: - !Ref MySG UserData: Fn::Base64: !Sub | #!/bin/bash dnf install httpd -y systemctl start httpd && systemctl enable httpd echo "<h1>[인프런] AWS Networking - 실습 웹 서버</h1>" > /var/www/html/index.html MySG: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Enable HTTP access via port 80 and SSH access via port 22 SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 CidrIp: 0.0.0.0/0 - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: 0.0.0.0/0
YAML
복사
# CH1_LAB3.yaml 파일 내용
CloudFormation 서비스에 스택 메뉴 진입
AWS 관리 콘솔 로그인
서비스 → CloudFormation 서비스
스택 (메뉴 진입) → 스택 생성 (버튼 클릭)
CloudFormation 스택 생성 설정
1단계 - 스택 생성
템플릿 준비: 기존 템플릿 선택 (선택)
템플릿 소스: 템플릿 파일 업로드 (선택)
파일 선택 → 템플릿 파일 선택 (CH1_LAB3.yaml) → 열기
다음 (버튼 클릭)
2단계 - 스택 세부 정보 지정
스택 이름: TestCF
InstanceType: t2.micro or t2.nano
KeyName: 각자 생성한 키 페어 선택
다음 (버튼 클릭)
3단계 - 스택 옵션 구성
기본 값 유지
다음 (버튼 클릭)
4단계 - 검토 및 작성
설정된 정보 확인
전송 (버튼 클릭)
CloudFormation 스택 확인
CREATE_IN_PROGRESS(스택 생성 중) → CREATE_COMPLETE(스택 생성 완료)
약 1분 내외 시간 소요
스택 정보
스택 ID, 상태, 생성 시간 등을 확인
이벤트
타임스탬프에 따른 AWS 자원 생성 이벤트 정보
테이블 보기 / 타임라인 보기()
리소스
스택을 통해 생성되는 자원 정보
출력
스택 생성 과정에서 추출한 값이나 정보
파라미터
스택 생성 시 입력한 값이나 정보
템플릿
스택 생성을 위한 템플릿 파일 내용
생성 자원 확인
EC2 인스턴스
스택 → 리소스 → MyInstance의 물리적 ID (클릭)
대상 EC2 인스턴스의 퍼블릭 IPv4 주소 (복사)
인터넷 브라우저 → 복사한 퍼블릭 IPv4 주소 (입력)
보안 그룹
스택 → 리소스 → MySG의 물리적 ID (클릭)
대상 보안 그룹 선택 → 인바운드 규칙 (확인)

2. CloudFormation 스택 삭제

생성된 자원을 일일이 삭제하는 것이 아닌 CloudFormation 스택을 삭제하면 순차적으로 자동 삭제됩니다.
CloudFormation 서비스에 스택 메뉴 진입
서비스 → CloudFormation 서비스 → 스택 (메뉴 진입)
CloudFormation 스택 삭제
대상 스택 선택 → 우측 상단 - 삭제 (버튼 클릭)
약 1분 내외 시간 소요
EC2 → 인스턴스에 접근해서 자원이 삭제됐는지 확인합니다.
AWS CloudFormation에 대해 조금 더 깊이 알고 싶을 경우 개인 블로그에서 정리한 CloudFormation에 대한 전반적인 내용 및 실습 포스팅을 참고 용도로 보시길 바랍니다.
여기까지 1장 실습 - CloudFormation을 통한 EC2 인스턴스 배포를 마칩니다.
수고하셨습니다 :)