Home
home

5장 실습 - 사전 준비 사항

1. CloudFormation을 통한 기본 인프라 배포

이번 실습의 기본 인프라 구성을 CloudFormation을 통해 스택을 생성하고 자원을 배포할 것입니다.

1.1. CloudFormation 스택 생성

CloudFormation 템플릿 다운로드
아래 CloudFormation 템플릿 파일을 다운로드합니다.
CH5_LAB1.yaml
3 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: MyVPC: Type: AWS::EC2::VPC Properties: CidrBlock: 20.0.0.0/16 Tags: - Key: Name Value: MY-VPC MyIGW: Type: AWS::EC2::InternetGateway Properties: Tags: - Key: Name Value: MY-IGW MyIGWAttachment: Type: AWS::EC2::VPCGatewayAttachment Properties: InternetGatewayId: !Ref MyIGW VpcId: !Ref MyVPC MyPublicRT: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref MyVPC Tags: - Key: Name Value: MY-PUBLIC-RT MyDefaultPublicRoute: Type: AWS::EC2::Route DependsOn: MyIGWAttachment Properties: RouteTableId: !Ref MyPublicRT DestinationCidrBlock: 0.0.0.0/0 GatewayId: !Ref MyIGW MyPublicSN: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVPC AvailabilityZone: !Select [ 0, !GetAZs '' ] CidrBlock: 20.0.0.0/24 Tags: - Key: Name Value: MY-PUBLIC-SN MyPublicSNRouteTableAssociation: Type: AWS::EC2::SubnetRouteTableAssociation Properties: RouteTableId: !Ref MyPublicRT SubnetId: !Ref MyPublicSN MySG: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Enable HTTP access via port 80 and SSH access via port 22 VpcId: !Ref MyVPC Tags: - Key: Name Value: MY-SG SecurityGroupIngress: - IpProtocol: tcp FromPort: '22' ToPort: '22' CidrIp: 0.0.0.0/0 - IpProtocol: icmp FromPort: -1 ToPort: -1 CidrIp: 0.0.0.0/0 MyEC2: Type: AWS::EC2::Instance Properties: InstanceType: !Ref InstanceType ImageId: !Ref LatestAmiId KeyName: !Ref KeyName Tags: - Key: Name Value: MY-EC2 NetworkInterfaces: - DeviceIndex: 0 SubnetId: !Ref MyPublicSN GroupSet: - !Ref MySG AssociatePublicIpAddress: true UserData: Fn::Base64: !Sub | #!/bin/bash hostnamectl --static set-hostname MyEC2 dnf install -y nscd systemctl enable nscd systemctl start nscd systemctl stop systemd-resolved Outputs: myec2: Value: !GetAtt MyEC2.PublicIp
YAML
복사
# CH5_LAB1.yaml 파일 내용
CloudFormation 스택 생성 설정
CloudFormation 서비스 → 스택 (메뉴 진입) → 스택 생성 (버튼 클릭)
1단계 - 스택 생성
템플릿 준비: 기존 템플릿 선택 (선택)
템플릿 소스: 템플릿 파일 업로드 (선택)
파일 선택 → 템플릿 파일 선택 (CH5_LAB1.yaml) → 열기
다음 (버튼 클릭)
2단계 - 스택 세부 정보 지정
스택 이름: LAB5-CF-1 (입력)
InstanceType: t2.micro or t2.nano
KeyName: 각자 생성한 키 페어 (선택)
InstanceType: t2.micro 혹은 t2.nano (선택)
다음 (버튼 클릭)
3단계 - 스택 옵션 구성
다음 (버튼 클릭)
4단계 - 검토 및 작성
전송 (버튼 클릭)

1.2. DNS 통신 흐름 확인

MY-EC2 인스턴스에 SSH로 접근 후 명령을 수행합니다.
DNS 통신 흐름 확인
cat /etc/resolv.conf
Bash
복사
# DNS 서버 확인
ip route
Shell
복사
# Default Route 확인
dig
Shell
복사
# dig로 DNS 정보 확인
dig blog.cloudneta.net
Shell
복사
# 대상 도메인의 A 레코드 확인
dig +short blog.cloudneta.net
Shell
복사
# 대상 도메인의 매핑된 IP 주소만 확인
dig +trace blog.cloudneta.net
Shell
복사
# 대상 도메인의 DNS 통신 과정 확인

2. Amazon Route 53으로 도메인 생성

Amazon Route 53을 통해 유료 도메인을 생성하고 실습에 활용합니다.
Route 53에서 도메인 등록
Route 53 서비스 → 등록된 도메인 (메뉴 진입) → 도메인 등록 (버튼 클릭)
도메인 검색: [각자 사용할 도메인].click (입력)
검색 (버튼 클릭) → 선택 (버튼 클릭)
결제 진행 (버튼 클릭)
1단계 - 요금
기간(가격): 1년 (3.00 USD) (선택)
자동 갱신: 활성 (체크 해제)
다음 (버튼 클릭)
2단계 - 연락처 정보
등록 연락처 정보 입력
다음 (버튼 클릭)
3단계 - 검토 및 제출
이용 약관 (체크)
제출 (버튼 클릭)
Route 53에서 도메인 등록 확인
Route 53 서비스 → 요청 (메뉴 진입)
Route 53 서비스 → 등록된 도메인 (메뉴 진입)
Route 53 서비스 → 호스팅 영역 (메뉴 진입) → 대상 도메인 (클릭)
인스턴스 중지
EC2 서비스 → 인스턴스 (메뉴 진입) → 대상 인스턴스 (체크)
인스턴스 상태인스턴스 중지 (클릭)
다음 실습에 활용한 EC2 인스턴스를 중지합니다. (종료 X)
그리고 CloudFormation은 다음 실습까지 그대로 유지하겠습니다.
인스턴스만 중지하면 인스턴스 사용량이 증가되지 않습니다.
여기까지 5장 실습 - 사전 준비 사항 실습을 마칩니다.
수고하셨습니다 :)