AWS IaC 생성기로 기존 Security Group을 CloudFormation 템플릿으로 만들어 보기

AWS IaC 생성기로 기존 Security Group을 CloudFormation 템플릿으로 만들어 보기

Clock Icon2025.06.30

IaC 생성기(IaC generator)란?

IaC 생성기는 AWS CloudFormation의 기능 중 하나로, 계정에 존재하는 리소스를 분석하여 해당 리소스에 대한 CloudFormation 템플릿이나 AWS CDK 애플리케이션 코드를 생성하는 도구입니다. 수동으로 생성된 리소스를 IaC 관리 체계로 전환하거나, 기존 인프라 구성을 문서화하고 재사용 가능한 템플릿으로 만들 때 유용합니다.

직접 해보기

과정은 크게 3단계로 진행됩니다.

  1. 리소스 스캔
  2. 템플릿 생성을 위한 리소스 선택
  3. 템플릿 생성 및 확인

1. 리소스 스캔

먼저 AWS Management Console에서 CloudFormation 서비스로 이동 후, 왼쪽 메뉴에서 IaC 생성기를 선택합니다.

スクリーンショット 2025-06-20 15.13.12

새 스캔 시작 버튼을 눌러 스캔을 시작합니다. 전체 리소스를 대상으로 스캔을 진행했으며, 리소스 규모에 따라 몇 분 정도 소요될 수 있습니다. 스캔이 완료되면 '마지막으로 완료된 스캔' 상태가 '완료'로 표시됩니다.

2. 템플릿 생성을 위한 리소스 선택

스캔 완료 후 템플릿 생성 버튼을 클릭후 템플릿 이름 및 삭제 정책,교체 정책을 설정합니다.

スクリーンショット 2025-06-30 17.08.55

그후 스캔한 리소스 추가 에서 스캔된 리소스 목록이 나타납니다. 여기서 템플릿으로 변환할 리소스를 선택합니다.

スクリーンショット 2025-06-30 17.10.56

ResourceType 필터를 AWS::EC2::SecurityGroup으로 설정하여 템플릿으로 만들고자 하는 특정 Security Group을 선택했습니다. IaC 생성기의 장점 중 하나는, 선택한 리소스와 관련된 종속 리소스(예: AWS::EC2::VPC)까지 자동으로 감지하여 함께 포함하도록 제안해준다는 점입니다.
スクリーンショット 2025-06-30 17.11.59

원하는 리소스를 모두 선택한 후 다음 단계로 넘어갑니다.

3. 템플릿 생성 및 확인

리소스를 선택하면 IaC 생성기가 템플릿 생성을 시작합니다. 아래는 생성기가 만들어준 템플릿의 원본 예시입니다.

# IaC 생성기가 만들어준 템플릿 원본 예시
Resources:
  EC2SecurityGroup:
    UpdateReplacePolicy: Retain
    Type: AWS::EC2::SecurityGroup
    DeletionPolicy: Retain
    Properties:
      GroupDescription: IaC-Test
      GroupName: IaC-test-SG
      VpcId: !Ref EC2VPC # 생성기가 자동으로 감지한 종속 리소스(VPC)를 참조합니다.
      SecurityGroupEgress:
        - CidrIp: 0.0.0.0/0
          IpProtocol: '-1'
          FromPort: -1
          ToPort: -1
      Tags:
        - Value: test
          Key: Name
  EC2VPC:
    UpdateReplacePolicy: Retain
    Type: AWS::EC2::VPC
    DeletionPolicy: Retain
    Properties:
      CidrBlock: 172.31.0.0/16
      EnableDnsSupport: true
      InstanceTenancy: default
      EnableDnsHostnames: true
      Tags: []

논리적 ID와 속성들이 자동으로 채워진 익숙한 CloudFormation YAML 템플릿이 생성되었습니다. 이 템플릿은 바로 CloudFormation 스택으로 가져오거나, 파일로 다운로드하여 Git 같은 버전 관리 시스템을 통해 관리할 수 있습니다.

4. 스택으로 가져와 배포하기

템플릿이 준비되었다면, 이제 CloudFormation 스택으로 배포할 차례입니다. IaC 생성기 화면에서 스택으로 가져오기 버튼을 클릭합니다.

클릭하면 바로 CloudFormation의 '스택 생성' 페이지로 이동되며, 방금 생성한 템플릿이 자동으로 S3에 업로드되고 해당 URL이 지정된 상태로 시작됩니다.

사용자는 스택 이름만 지정하고 다음 단계를 진행하여 손쉽게 스택을 배포할 수 있습니다. 이미 존재하는 리소스를 CloudFormation의 관리 하에 두는 '가져오기' 작업이므로, 리소스가 새로 생성되는 대신 CloudFormation 스택에 편입됩니다.

スクリーンショット 2025-06-20 15.36.43

마치며

AWS IaC 생성기를 사용해 기존 Security Group을 CloudFormation 템플릿으로 변환하는 과정은 매우 직관적이고 편리했습니다.

좋았던 점:

  • 클릭 몇 번으로 리소스와 종속성을 포함한 템플릿을 신속하게 생성할 수 있습니다.
  • 수동 템플릿 작성 시 발생할 수 있는 실수를 줄여줍니다.
  • 기존 인프라를 IaC 관리 체계로 전환하는 초기 작업의 부담을 크게 낮춰줍니다.

고려할 점:

  • 생성된 템플릿은 리소스가 고정되어있기때문에 파라미터화, 모듈 분리 등 세밀한 설정 작업은 사용자가 추가 수정이 필요할 수 있습니다.
  • AWS 에서의 서비스이기 떄문인지 CloudFormation 만 지원됩니다. CloudFormation 이외의 템플릿으로 작성하고 싶다면 다른 툴 을 고려해봐야 할거같습니다.

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.