AWS NAT 비용 10분의 1로 줄이기

이용준·2023년 8월 13일
0
post-thumbnail

개발 환경

AWS

Private 서브넷에 있는 Lambda에서 외부 API를 호출하기위해 NATGateway를 사용했는데 비용이 부담스러웠다.

NAT Gateway를 활성화 해놓는 것만으로 한달에 약 8만원 정도 비용이 예상되었는데 이 비용을 줄이자고 Public으로 열어 놓기는 싫었다.
나는 트래픽을 아주 적게 사용하고 있기때문에 t2.micro EC2 프리티어 인스턴스를 NAT용도로 사용하면 비용을 10분의 1로 줄일 수 있었다.

1. EC2 인스턴스 생성

AWS 웹콘솔 - EC2 - 인스턴스 시작

AMI 설정

더많은 AMI 찾아보기 선택 - 커뮤니티 AMI - amzn-ami-vpc-nat 검색해서 나오는 이미지 사용

네트워크 설정

Public Subnet으로 설정

보안그룹 인바운드 설정

SSH 허용 (ex. 소스 : 내 IP만, 포트범위 : 22)
Private Subnet CIDR 허용 (ex. 소스 : 10.0.128.0/20, 포트범위 : 0 - 65535)

2. EC2 인스턴스 설정

AWS 웹콘솔 - EC2 - 생성한 인스턴스 선택
작업 - 네트워킹 - 소스/대상 확인 변경 - 중지
EC2 인스턴스 실행

2. NAT 실행

EC2 인스턴스 실행 후 SSH로 접속하고 아래 명령어를 실행한다.

포워딩 기능 활성화

내부 네트워크에서 외부 네트워크로 패킷을 전달할 수 있게 된다.

sudo sysctl -w net.ipv4.ip_forward=1

규칙 추가

내부 네트워크의 컴퓨터가 외부 네트워크로 패킷을 전송할 때 패킷의 IP 주소가 변환되어 전송된다.

sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables 설치

방화벽 설정을 관리하는 툴 설치

sudo yum install iptables-services

iptables 설정을 저장

재부팅 후에도 설정 유지된다.

sudo service iptables save
profile
소프트웨어 개발, 유니티, 게임 서버

0개의 댓글