클라우드/따라하면서 배우는 AWS 네트워크 입문
실습 1-2-cloudfomation 스택 생성 및 삭제
book_lover
2024. 6. 30. 17:51
AWS 인프라에 대해 "코드"로 개략적인 선언을 하는 방법, 간단히 말해서 자신이 생성할 AWS 인프라 자원을 코드로 정의하여 "자동"으로 정의된 자원을 생성하거나 삭제할 수 있다. 일반적으로 이러한 개념일 IaC라 한다.
탬플릿
생성할 aws 인프라 자원을 코드로 정의한 파일을 의미. json, yaml 형식의 코드로 작성 가능
스택 생성
템플릿을 cLOUDfORMATION에 업로드하여 스택을 생성할 수 있다. 스택을 생성하면 템플릿에 정의된 aws 인프라 자원에 대해 순서대로 자동 생성
스택 삭제
스택을 삭제하면 스택 생성에 의해 생성된 AWS 인프라 자원을 순서대로 자동 삭제
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.
LatestAmiId:
Description: (DO NOT CHANGE)
Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'
AllowedValues:
- /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: !Ref LatestAmiId
InstanceType: t2.micro
KeyName: !Ref KeyName
Tags:
- Key: Name
Value: WebServer
SecurityGroups:
- !Ref MySG
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
yum install httpd -y
systemctl start httpd && systemctl enable httpd
echo "<h1>Test Web Server</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
[따라하며 배우는 AWS 네트워크 입문] 01. AWS 인프라
1) AMI 선택 ➡ Amazon Linux 2 AMI2) 인스턴스 유형 ➡ t2.micro3) 인스턴스 세부 정보 ➡ 네트워크/서브넷: 기본값, 퍼블릭 IP 자동 할당: 활성화, 나머지는 기본값4) 스토리지 추가 ➡ 기본 값5) 태그 추가
velog.io