728x90
■ CloudFormation 사용한 AWS 기본 인프라 구축
- 사전 구성
- 없음
- 실습 내용
- CloudFormation을 활용한 AWS 인프라 구축
- YAML 언어 사용
- VPC, SUBNET, Internet Gateway, EC2 생성
■ CloudFormation 서비스
CloudFormation >> 스택 생성 >> Designer에서 템플릿 생성
■ CloudFormation 템플릿 구성
- 템플릿 언어: YAML 선택
- 템플릿 작성내용은 화면 좌측 하단의 템플릿 선택
- 코드 작성 이후 유효성 검사 수행 및 스택 생성 실행
- 체크박스: 유효성 검사
- 구름모양: 스택 생성
AWSTemplateFormatVersion: 2010-09-09
Description: >-
AWS CloudFormation Template to create VPC, Subnet, Internet Gateway, Routing
Table, and EC2 Instance
Parameters:
KeyName:
Type: AWS::EC2::KeyPair::KeyName
Description: Name of an existing EC2 KeyPair to enable SSH access to the instance
Resources:
MyVPC:
Type: 'AWS::EC2::VPC'
Properties:
CidrBlock: 192.168.0.0/16
Tags:
- Key: Name
Value: CFVPC_192.168.0.0
MySubnet:
Type: 'AWS::EC2::Subnet'
Properties:
VpcId: !Ref MyVPC
AvailabilityZone: ap-northeast-2a
CidrBlock: 192.168.0.0/24
Tags:
- Key: Name
Value: CFVPC_Public
MyInternetGateway:
Type: 'AWS::EC2::InternetGateway'
Properties:
Tags:
- Key: Name
Value: CF_IGW
AttachGateway:
Type: 'AWS::EC2::VPCGatewayAttachment'
Properties:
VpcId: !Ref MyVPC
InternetGatewayId: !Ref MyInternetGateway
MyRouteTable:
Type: 'AWS::EC2::RouteTable'
Properties:
VpcId: !Ref MyVPC
Tags:
- Key: Name
Value: CF_RouteTable
DefaultRoute:
Type: 'AWS::EC2::Route'
Properties:
RouteTableId: !Ref MyRouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref MyInternetGateway
SubnetRouteTableAssociation:
Type: 'AWS::EC2::SubnetRouteTableAssociation'
Properties:
SubnetId: !Ref MySubnet
RouteTableId: !Ref MyRouteTable
MySecurityGroup1:
Type: 'AWS::EC2::SecurityGroup'
Properties:
GroupDescription: Enable SSH access
VpcId: !Ref MyVPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
MyInstance:
Type: 'AWS::EC2::Instance'
Properties:
InstanceType: t2.micro
ImageId: ami-081a36454cdf357cb
KeyName: !Ref KeyName
NetworkInterfaces:
- AssociatePublicIpAddress: true
DeviceIndex: 0
DeleteOnTermination: true
SubnetId: !Ref MySubnet
GroupSet:
- !Ref MySecurityGroup1
■ CloudFormation 스택 생성
- 스택 생성: 생성된 템플릿은 S3 스토리지에 자동으로 저장되며, 스택 생성화면에서 S3 URL을 참조
- 스택 이름 및 파라미터 지정
- 파라미터는 템플릿에서 정의한 Parameter 항목
- 스택 옵션 구성
- 태그, 권한, 스택 실패 옵션, 고급 옵션, 롤백 구성, 모니터링, 알람 옵션 및 스택 생성 옵션을 정의 할 수 있음.
- 스택 생성 옵션에서 종료 방지를 활성화 할 경우 스택이 삭제 되더라도 스택에 의해 생성된 리소스는 보존 되며, 기본값을 사용할 경우 스택을 삭제 하면 스택에 의해 생성된 리소스도 자동으로 삭제 됩니다.
- 검토 및 작성
- 1단계부터 수행한 스택 생성에 대한 정보 확인 후 생성 진행
■ CloudFormation 스택 생성 결과 확인
- 이벤트 항목에서 스택에 의해 생성되는 이벤트 확인 가능
- 리소스 탭에서는 스택에 의해 생성되는 리소스 VPC, SUBNET, Internet Gateway, EC2와 같은 AWS 리소스 결과물 확인 가능
# 이벤트 내용
# 생성된 AWS 리소스
# 생성된 EC2에 접속하여 외부 통신 및 할당 받은 IP 확인 진행
728x90
'AWS' 카테고리의 다른 글
AWS - Cloud Front (CDN) (0) | 2024.03.22 |
---|---|
AWS - CloudFormation EC2 사용자 정의 데이터 (0) | 2024.03.07 |
AWS - CloudFormation (1) | 2024.03.07 |
AWS - S3 (Simple Storage Service) (0) | 2024.03.02 |
AWS - Elastic File Storage (EFS) (0) | 2024.03.02 |