이 영역을 누르면 첫 페이지로 이동
Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

페이지 맨 위로 올라가기

Coding Groot

코딩 블로그

[AWS] 2월부터 늘어난 VPC 비용 - In-use Public IPv4 Address

  • 2024.03.03 21:48
  • DevOps, Infra/Cloud
글 작성자: Coding Groot

오늘 2월 Invoice를 받아보니 VPC 비용이 갑자기 애매하게 증가한 사실을 알 수 있었습니다...

상황에 따라 몇 만원이 초과할 수 있어서, 예산 알림을 20$로 정해두어서 알림을 받지 못해서 인보이스를 받고서야 알아차렸습니다. 흑..

Cost Explorer (Filter: VPC)
상세 비용 내역

아래의 공지를 보면 비용이 증가 이유를 알 수 있습니다.

바로 새로 적용된 IPv4 요금 때문!! 자동 할당된 것도! 서버스에서 사용 중인 것도! 모두 요금 부과의 대상이됐습니다.

 

공지 – AWS Public IPv4 주소 요금 변경 및 Public IP Insights 기능 출시 | Amazon Web Services

AWS에서 퍼블릭(Public) IPv4 주소에 대한 새로운 요금이 도입됩니다. 2024년 2월 1일부터 서비스 연결 여부에 관계없이 모든 퍼블릭 IPv4 주소에 대해 시간당 IP당 0.005 USD의 요금이 부과됩니다. 계정에

aws.amazon.com

모든 퍼블릭 주소(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도 분리하고 삭제합니다.

출처: https://stackoverflow.com/questions/38533725/can-i-remove-the-public-ip-on-my-instance-without-terminating-it

정말 이렇게 해야 하나 싶습니다..

조치 2. IPv4를 IPv6로 바꾸기

IPv4인 Elastic IP를 IPv6로 바꾸는 것은 다음 글에서 다루겠습니다. 오늘은 시간 없어서 작업을 못했는데 공식 사이트 블로그 글도 많이 있으니 필요하면 참고하면 될 겁니다.

관리

IP 관리

사용중인 IP는 새로 런칭된 Amazon VPC IP Address Manager(줄여서, IPAM) 기능을 활용하면 쉽게 모니터링할 수 있습니다. 저는 유료 기능은 필요 없고 Public Insight만 있으면 돼서 프리티어로 가입했습니다. 그러면 다음처럼 표시해줍니다.

퍼블릭 IP 인사이트

모든 public IP가 뜰 때까지 시간이 좀 걸립니다. 처음에는 Elastic IP만 보이다가 점점 다른 IP도 보이기 시작했습니다.

Private 인스턴스 터널링

모두 v4를 모두 제거하면 어떻게 서버를 관리할지 고민이 될겁니다. Bastion Server 역할을 하던 서버까지 모두 날려버려서 private subnet에 SSH를 어떻게 할까 걱정했는데 AWS가 따로 TCP Proxy를 제공해줍니다.

 

Secure Connectivity from Public to Private: Introducing EC2 Instance Connect Endpoint | Amazon Web Services

This blog post is written by Ariana Rahgozar, Solutions Architect, and Kenneth Kitts, Sr. Technical Account Manager, AWS. Imagine trying to connect to an Amazon Elastic Compute Cloud (Amazon EC2) instance within your Amazon Virtual Private Cloud (Amazon VP

aws.amazon.com

다음 글을 보면 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 비용이 나가지 않게 해야겠습니다.

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [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
다른 글 더 둘러보기

정보

Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

  • Coding Groot의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 소개
  • 블로그 저작권

카테고리

  • 분류 전체보기 (182)
    • Git (23)
      • Git Tutorial (9)
      • Git Note (7)
      • Git Lecture (7)
    • Programming Language (1)
      • C (2)
      • C Sharp (5)
      • Java (4)
      • JavaScript (7)
      • Julia (5)
      • Python (4)
    • Programming (8)
      • Algorithm (2)
      • Compiler (5)
      • Data Structure (0)
      • Web (12)
      • NestJS (2)
    • DevOps, Infra (36)
      • Apple (6)
      • Cloud (15)
      • Database (1)
      • Network (4)
      • Linux (8)
    • Game Programming (11)
      • Unity Tutorial (5)
      • Unity Note (6)
    • Hardware Design (1)
      • Digital Circuit (1)
    • Note (49)
      • Coffee (2)
      • Retrospect (15)
      • Reading List (14)
    • Mathematics (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • aws
  • Github
  • 회고
  • tutorial
  • git
  • 한빛미디어
  • javascript
  • 서평
  • 전체 보기…

정보

Coding Groot의 Coding Groot

Coding Groot

Coding Groot

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • GitHub
  • SlideShare
  • 유니티 2020 수업
  • TIL Blog
  • 모도코

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Coding Groot.

티스토리툴바