전혀 나오지 않던 Virtual Private Cloud의 요금이 매우 커졌다. 나는 이 사실을 뒤늦게 알았고 비용 최적화에 들어갔다.


나는 AWS 관련 전문가가 아니라는 점, 상기드린다. 내가 해결을 위해 수행한 방법만 나열한다.
1. 알아보기
관련 AWS 공식 게시글은 다음과 같다.
https://aws.amazon.com/ko/blogs/korea/new-aws-public-ipv4-address-charge-public-ip-insights/
공지 – AWS Public IPv4 주소 요금 변경 및 Public IP Insights 기능 출시 | Amazon Web Services
AWS에서 퍼블릭(Public) IPv4 주소에 대한 새로운 요금이 도입됩니다. 2024년 2월 1일부터 서비스 연결 여부에 관계없이 모든 퍼블릭 IPv4 주소에 대해 시간당 IP당 0.005 USD의 요금이 부과됩니다. 계정에
aws.amazon.com
여기서, Public IP Insight 기능을 출시했으니 이 도구를 사용해서 관리에 도움을 줄 수 있다고 말합니다.
일명 IPAM(VPC IP Address Manager)이라고 하는 서비스 내에서 Public IP Inisght를 제공하는 것으로 보이며 두 가지의 티어를 제공합니다.

프리티어, 어드밴스드 티어
프리티어는 요금을 지불하지 않는다고 하여 프리티어로 IPAM을 생성해줘봤습니다.
자세한 요금은 여기를 참고하세요: 논리적으로 격리된 가상 네트워크 - Amazon VPC 요금 - Amazon Web Services
간단히 생성 후 시간이 조금 지나면 Public IP inisght에서 대시보드 형태로 정보를 제공해 줍니다.

무언가 이상하다. Public IP가 EC2 인스턴스에 있는 것만 카운트가 된 것 같다..
일단 날이 늦어 다음날이 지나서 확인해 보기로 하고 다음은 다음날이 지난 후 모습이다.

Unassociated eips가 사라진 건 어제 미사용 EIP를 이미 제거했기 때문이다.

그 외 Public IP types가 4개에서 2개가 줄어도 33개인 것을 알 수 있다. 이제 이걸 줄여보자.
2. 해결해 보기
방법 1. 미사용 EIP 제거하기
EC2 -> Network & Security -> Elastic IPs로 접근하여 할당되지 않은 IP 주소를 누른다.

액션 셀렉트바를 눌러 Release ~~ 를 선택



말끔히 놈들을 보내주었다..
방법 2. 일부 개발용 EC2 통합 또는 터널링
개발용 VPC가 따로 구성되어 있는데 역할별로 인스턴스가 조금씩 쪼개져있었다. 이 인스턴스들은 각각 Public IP를 설정받았기에 비용이 다 따로 청구되기 때문에 이를 하나로 최대한 합쳤고, 본디 4개의 인스턴스가 Public IP를 할당받았다면 그중 하나를 Public IP를 할당하지 않도록 하고, Public IP를 할당받은 인스턴스를 통해 Private DNS를 통해 접근하도록 했다.
후자는 개발하기에 매우 제한적인 환경이 구성되기에 조심해야 한다.
방법 3. ECS 공개 IP 제거
사실 ECS 클러스터와 서비스를 구성할 때 외부에서 직접적으로 접근할 일이 없기에 Public IP 할당을 취소하기로 했다.
아래 명령어를 입력해 네트워크 설정을 변경한 서비스가 배포되도록 한다.
$ aws ecs update-service --cluster {클러스터명} --service {서비스명} --network-configuration "awsvpcConfiguration={subnets=[{서브넷 구성}],securityGroups=[{보안그룹}],assignPublicIp=DISABLED}"
결과는 아래와 같다.

입력하고 나면 콘솔에서 새로운 task가 생성된 걸 알 수 있다.

그러고 나서 네트워크 탭을 보면, Auto-assign public IP가 꺼진 것을 볼 수 있다.

이후 추가적인 조치를 취하거나 비용 절감이 확인이 되면 글을 추가로 남기도록 하겠다.