AWS

AWS Config를 사용해서 미사용 EIP 체크 및 자동 삭제 해보기

moonganzi 2023. 5. 24. 13:08

AWS를 사용하면서 EIP (Elastic IP) 를 할당 받아 사용하는 경우가 많은데, 이 EIP라는게 실행 중인 인스턴스와 연결되어 있지 않거나 중지된 인스턴스 또는 연결되지 않은 네트워크 인터페이스와 연결된 경우 소액의 시간당 요금 (시간당 0.005 USD) 이 부과 된다.

 

EIP가 연결 된 EC2를 종료하더라도 EIP는 자동으로 릴리스(삭제) 되지 않는다. 그래서 AWS를 사용 하다보면 EIP를 릴리스 (삭제) 하지 않고 그냥 남기게돼 소소한 비용이 계속 나가게 되는 경우가 많다.

 

이렇게 놀고있는 EIP를 자동으로 체크해주고 릴리스 까지 해준다면 편하지 않을까?

 

AWS Config를 통해 이를 간단히 설정할 수 있다. 실습 전 우선 AWS Config에 대해 간략히 알아보자.

 

공식 문서를 통해 살펴보면 "AWS Config는 AWS 리소스 인벤토리, 구성 기록, 구성 변경 알림을 제공하여 보안 및 거버넌스를 실현하는 완벽한 관리형 서비스입니다. AWS Config를 통해 기존 AWS 리소스를 찾을 수 있고, 모든 세부 구성 정보가 포함된 AWS 리소스의 완전한 인벤토리를 내보낼 수 있으며, 특정 시점에 따른 리소스의 구성 방법을 정할 수 있습니다. 이러한 기능을 바탕으로 규정 준수 감사, 보안 분석, 리소스 변경 추적, 문제 해결을 수행할 수 있습니다." 라고 한다.

 

간단히 AWS에서 변경되는 내용에 대해 기록할 수 있으며, 그 내용들에 대해 알림을 받거나 Rule을 설정해 개선 할 수도 있다.

 

AWS Config에 대한 자세한 내용은 아래 공식 문서를 통해 확인할 수 있다.

https://docs.aws.amazon.com/ko_kr/config/latest/developerguide/WhatIsConfig.html

 

AWS Config이란 무엇입니까? - AWS Config

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

소개는 여기까지 하고 바로 실습을 진행해보겠다.


1. AWS Web Console 로그인 후 AWS Config 서비스 접속 후 시작하기 클릭

 

2. 아래와 같이 Config 생성 진행 (테스트 용도 기에 디폴트 위주로 설정하겠으며, 실제 적용 시에는 원하는 값으로 설정하면 됨)

    1) Config 기록이 전달 될 S3 버킷 설정

    2) AWS 관리형 규칙 에서 "eip-attached" 선택 후 검토까지 진행

 

3. Config 생성 및 규칙 생성 확인

 

4. Config 문제 해결을 위한 IAM Role 생성

  - Config를 통한 문제 해결은 AWS System Manager 의 자동화 기능을 사용한다. 따라서 AWS System Manage가 EIP를 릴리스 할 수 있는 역할을 생성해야 한다.

    1) IAM 콘솔 접속 후 역할 생성

    2) 신뢰할 수 있는 엔터티 : AWS 서비스, 사용 사례 : Systems Manager 선택 후 다음

    3) 권한 정책에 AmazonEC2FullAccess 선택 후 다음

    4) 역할 이름 설정 후 생성 완료

 

5. 3단계에서 생성한 규칙 선택 후 작업 -> 문제 해결 관리 선택

 

6. 문제 해결 작업 설정 진행

    1) 수정 방법 : 자동 수정, 수정 작업 : AWS-releaseElasticIP 선택

    2) 리소스 ID 파라미터 : AllocationId, 파라미터 AutomationAssumeRole 값 : 4단계에서 생성한 IAM Role ARN 입력

 

7. 설정 된 내용 테스트

    1) EIP 할당

    2) Config 규칙 미준수 확인

    3) EIP 자동 릴리스 확인


실습을 통해 Config를 통한 EIP 자동 릴리스를 확인해봤다. EIP 릴리스 하는 것을 까먹었을 때 자동으로 릴리스 해주는 편한 기능으로 생각된다. 허나 이 방법엔 2가지 단점이 있다.

 

1. Config 비용

  - Config 는 무료 서비스가 아니다. 서울 리전 기준으로 Config 구성 항목 당 0.003$, 규칙 평가 당 $0.001 정도의 비용이 부과된다. EIP 자동 릴리스 만을 위해 Config를 위의 내용으로 구성할 경우 EIP 한두개 방치하는 것보다 더 많은 비용이 나올 수 있다.

 

2. Config 규칙 문제 자동 해결 주기

  -  실습을 통해서도 알아봤지만 Config 가 문제를 발견하는 주기가 정확히 나와있지 않다. 실제로 위의 규칙 적용 후 EIP 생성 후 EC2에 연결하려 했으나, 연결 하기도 전에 미사용 EIP 로 Config가 판단하여 릴리스 시켜버렸다.

 

위의 2가지 단점 들을 감안하여 실제 Config 규칙 적용 여부에 대해 결정해보자.