CloudFormation으로 리소스 자동생성, 자동삭제

y001·2025년 3월 29일
0
post-thumbnail

시작하면서

AWS에서는 인프라를 코드로 관리할 수 있는 서비스인 CloudFormation을 제공한다. 이걸 사용하면 수많은 리소스를 클릭해서 만들 필요 없이, 하나의 템플릿 파일만으로도 여러 개의 리소스를 한 번에 생성할 수 있다.

이번 실습에서는 VPC와 인터넷 게이트웨이(IGW), 그리고 그 둘을 연결하는 구성까지 CloudFormation으로 만들고, 스택을 삭제하면 해당 리소스들도 자동으로 삭제되는지 확인해봤다.


실습하기

1. 템플릿 작성

먼저 아래와 같은 CloudFormation 템플릿을 작성했다. 이 템플릿은 VPC 하나, 인터넷 게이트웨이 하나, 그리고 그 둘을 연결하는 VPCGatewayAttachment 리소스를 생성한다.

Parameters:
  KeyName:
    Description: EC2 KeyPair
    Type: AWS::EC2::KeyPair::KeyName

  LatestAmiId:
    Description: EC2 AMI
    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:
  MyVPC04:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true
      Tags:
        - Key: Name
          Value: MyVPC04

  MyIGW:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: MyIGW

  MylGWattachment:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      InternetGatewayId: !Ref MyIGW
      VpcId: !Ref MyVPC04

2. CloudFormation에서 스택 생성

  • AWS 콘솔에서 CloudFormation으로 이동한다.
  • 새 스택 생성을 누르고, 위의 템플릿 파일을 업로드한다.
  • 몇 가지 설정(KeyName 등)을 지정한 후, "스택 생성"을 클릭한다.
  • 몇 분이 지나면 VPC, IGW, VPCGatewayAttachment가 자동으로 생성된 것을 확인할 수 있다.

이 과정을 통해 단 한 번의 스택 생성만으로 여러 리소스를 자동으로 만들 수 있다.

3. 스택 삭제 → 리소스 자동 삭제 확인

  • 콘솔에서 방금 만든 스택을 선택하고 "삭제"를 클릭한다.

  • 삭제가 완료되면, 해당 스택이 만들었던 VPC, IGW, 연결 리소스까지 모두 함께 삭제된다.

즉, CloudFormation을 통해 만든 리소스는 스택 삭제만으로도 자동으로 정리된다.


CloudFormation으로 리소스 자동생성과 자동 삭제가 가능하다

1. 인프라 자동화

CloudFormation을 사용하면 복잡한 리소스 구성도 템플릿으로 관리할 수 있다. 클릭 몇 번 대신, YAML이나 JSON으로 정의한 템플릿 하나로 여러 리소스를 동시에 생성할 수 있다.

2. 삭제도 간편하게

무엇보다 좋은 건 정리할 때다. 리소스를 일일이 찾아서 삭제하지 않아도 된다. 스택을 삭제하면 해당 스택이 만든 리소스들은 전부 자동으로 삭제된다. 테스트 환경을 만들었다가 정리할 때 매우 유용하다.

3. 관리 편의성

  • 어떤 리소스를 만들었는지 명확하게 확인할 수 있다.
  • 같은 템플릿으로 다른 환경(예: dev, staging, prod)도 쉽게 복제 가능하다.
  • 버전 관리가 가능해서 변경 이력도 추적할 수 있다.

0개의 댓글