[AWS] 2월부터 늘어난 VPC 비용 - In-use Public IPv4 Address
오늘 2월 Invoice를 받아보니 VPC 비용이 갑자기 애매하게 증가한 사실을 알 수 있었습니다...
상황에 따라 몇 만원이 초과할 수 있어서, 예산 알림을 20$로 정해두어서 알림을 받지 못해서 인보이스를 받고서야 알아차렸습니다. 흑..
아래의 공지를 보면 비용이 증가 이유를 알 수 있습니다.
바로 새로 적용된 IPv4 요금 때문!! 자동 할당된 것도! 서버스에서 사용 중인 것도! 모두 요금 부과의 대상이됐습니다.
AWS 블로그 글로는 IPv4가 고갈되며 IPv6의 전환을 적극적으로 장려하기 위해 이러한 요금 정책을 정했다고 합니다. (물론, Private IP는 해당하지 않습니다!)
조치 1. 필요 없는 Public IPv4 제거
아무튼 먼저 의미 없이 할당된 public IPv4를 없애기로 결정했습니다.
특정 인스턴스는 Private Subnet에 위치했는데 나중에 따로 임시적(예를 들어, 패치 작업)으로 쓰려고 편의상 인스턴스에 자동할당을 활성화해뒀습니다. 이것부터 껐습니다.
자동할당 설정을 끄려면 그 인스턴스에 할당된 서브넷으로 이동합니다.
"작업 메뉴 "서브넷 설정 편집"으로 이동합니다.
여기서 끄면 앞으로의 공인 IP 자동할당을 방지할 수 있습니다. 체크 해제해줍시다!
인스턴스 만들 때 자동 할당되어 있는 IP도 사용중인 public IP이기 때문에 해제해줘야 합니다.
0. (위의 내용 참고) 자동 IP 할당이 꺼져있어야 합니다.
1. 임시로 쓸 EIP를 하나 할당합니다.
2. 새로운 네트워크 인터페이스를 만들어서 인스턴스에 Attach합니다.
3. 그리고 발급 받은 EIP를 인스턴스에 Attach합니다. (그러면 인스턴스는 현재 2개의 NIC를 가지게됩니다)
4. Public IP를 제거하고 싶은 NIC에 미리 할당 받은 EIP를 Attach합니다.
5. 바로 임시로 연결한 EIP를 분리합니다. 그러면 Public IP 비어있는 것을 볼 수 있습니다.
6. 임시로 만든 EIP를 까먹지 말고 Release합니다.
7. 임시로 인스턴스에 Attach해둔 NIC도 분리하고 삭제합니다.
정말 이렇게 해야 하나 싶습니다..
조치 2. IPv4를 IPv6로 바꾸기
IPv4인 Elastic IP를 IPv6로 바꾸는 것은 다음 글에서 다루겠습니다. 오늘은 시간 없어서 작업을 못했는데 공식 사이트 블로그 글도 많이 있으니 필요하면 참고하면 될 겁니다.
관리
IP 관리
사용중인 IP는 새로 런칭된 Amazon VPC IP Address Manager(줄여서, IPAM) 기능을 활용하면 쉽게 모니터링할 수 있습니다. 저는 유료 기능은 필요 없고 Public Insight만 있으면 돼서 프리티어로 가입했습니다. 그러면 다음처럼 표시해줍니다.
모든 public IP가 뜰 때까지 시간이 좀 걸립니다. 처음에는 Elastic IP만 보이다가 점점 다른 IP도 보이기 시작했습니다.
Private 인스턴스 터널링
모두 v4를 모두 제거하면 어떻게 서버를 관리할지 고민이 될겁니다. Bastion Server 역할을 하던 서버까지 모두 날려버려서 private subnet에 SSH를 어떻게 할까 걱정했는데 AWS가 따로 TCP Proxy를 제공해줍니다.
다음 글을 보면 AWS CLI를 사용하면 Private Subnet도 다음에 명령어로 연결할 수 있습니다.
먼저 해당 인스턴스에서 사용할 Endpoint를 만듭니다.
만드는 법: https://aws.amazon.com/ko/blogs/tech/ec2-instance-connect-endpoint-bastion/
그리고 다음의 명령어로 프록시로 접속할 수 있습니다.
ssh ec2-user@[INSTANCE] \
-i [SSH-KEY] \
-o ProxyCommand='aws ec2-instance-connect open-tunnel \
--instance-id %h'
저는 이것을 ~/.ssh/config에 등록해둬서 사용하고 있습니다.
예산 모니터링
예산 알림을 좀 더 경계에 가깝게 설정해야겠습니다. 예전에 너무 메일이 많이와서 50% 정도 여유롭게 설정해둔 것인데 이제 데이터도 많이 쌓였고 이번 기회에 20% 정도만 더 여유롭게 두는 것으로 바꾸려고 합니다.
AWS에서 올려준 글을 읽어보면 IP만 따로 알림을 설정할 수 있도록 친절하게 안내되어있습니다. 이것도 별도로 설정해서 의미없는 IP 비용이 나가지 않게 해야겠습니다.
댓글
이 글 공유하기
다른 글
-
[Oracle Cloud] 리소스 사용량 Limit 걸기
[Oracle Cloud] 리소스 사용량 Limit 걸기
2024.07.05 -
[AWS] AWS 비용 절감하기 :: 0. Free Tier가 끝나며 흥미로워진 AWS 비용
[AWS] AWS 비용 절감하기 :: 0. Free Tier가 끝나며 흥미로워진 AWS 비용
2023.08.16 -
[AWS] Route53 Domain 다른 AWS 계정으로 이전하기
[AWS] Route53 Domain 다른 AWS 계정으로 이전하기
2022.11.20 -
[AWS] Elastic Beanstalk graceful shutdown (feat. AutoScaling Lifecycle Hook - TERMINATING)
[AWS] Elastic Beanstalk graceful shutdown (feat. AutoScaling Lifecycle Hook - TERMINATING)
2022.11.10