[AWS] NAT gateway 비용절감을 위한 NAT instance

2024. 9. 24. 09:47· Django/인프라
목차
  1. NAT Gateway와 NAT Instance 비교
  2. 실습
  3. NAT 활성화
  4. 라우팅 테이블 수정
반응형

AWS에서 VPC를 구성할 때,  프라이빗 서브넷에 있는 인스턴스들이 인터넷에 접근할 수 있도록 하기 위해 NAT 기능이 필요하다. AWS에서는 기본적으로 NAT gateway를 제공하여 주지만, 공부를 하는 입장에서 사용료가 조금 비싸기 때문에  NAT instance를 이용하여 비용을 절감해 보자.

 

NAT Gateway와 NAT Instance 비교

항목 NAT Gateway NAT Instance
관리 AWS가 관리 사용자가 직접 관리
가용성 고 가용성 가용성을 위해 사용자가 추가 설정 필요
확장성 자동 확장 수동 확장
성능 고성능, 자동 확장 성능은 인스턴스 유형에 따라 결정
비용 트래픽의 양에 따라 비용 증가 상대적으로 저렴
유지보수 필요없음 사용자가 직접 인스턴스 유지보수

 

 

실습

기본적인 인스턴스를 만드는 방법은 앞서 많이 해보았기 때문에 생략하고, 아래의 설정대로 만들어주면 된다.

인스턴스 타입 - t4g.nano

key pair - 선택 무관

네트워크 설정 - 퍼블릭 아이피 설정 & 활성화

보안그룹 설정

인바운드 규칙 - ssh, HTTP, HTTPS, All ICMP - IPv4 전부 0.0.0.0/0으로 설정해 주었다.

 

생성된 넷 인스턴스로 접속해서 아래의 명령어를 통해서 테스트해보면 된다.

# iptables 설치 및 활성화
sudo yum install iptables-services -y
sudo systemctl enable iptables
sudo systemctl start iptables

# IP 포워딩 활성화 
# 1.  vi 편집기를 통한 구성파일 생성
sudo vi /etc/sysctl.d/custom-ip-forwarding.conf

#2.  구성파일에 입력할 활성화 명령어
net.ipv4.ip_forward=1

# 파일 저장 후, 구성 파일 적용 명령어
sudo sysctl -p /etc/sysctl.d/custom-ip-forwarding.conf

# 네트워크 인터페이스 이름을 확인 명령어
netstat -i

# NAT 구성 명령어
sudo /sbin/iptables -t nat -A POSTROUTING -o 인터페이스이름 -j MASQUERADE
sudo /sbin/iptables -F FORWARD
sudo service iptables save

 

NAT 활성화

인스턴스 창에서 NAT Instance에 Source/Destination Check옵션을 비활성화해야 한다. 

소스/대상 확인에 중지 체크박스를 활성화시켜주면 된다.

실습이 끝난 상황이라 인스턴스는 현재 중지시켜 두었다.

 

 

라우팅 테이블 수정

서브넷의 라우팅 테이블을 수정해서 트래픽이 NAT Instance를 통해 인터넷으로 나가도록 설정해야 한다.

Private 라우팅 테이블을 수정해 준다.

앞서 이야기했듯, 실습이 끝나 현재는 블랙홀이라고 뜬다. 활성 상태가 되면 제대로 된 것이다.

반응형
저작자표시 (새창열림)

'Django > 인프라' 카테고리의 다른 글

[AWS] Application Load Balancer  (0) 2024.09.25
[AWS] 확장성과 로드 밸런싱  (1) 2024.09.24
[AWS] Bastion Host 생성 및 프라이빗 서브넷으로 서버 이전  (0) 2024.09.23
[AWS] Bastion Host  (0) 2024.09.23
[AWS] EC2 애플리케이션 빌드 및 배포  (0) 2024.09.23
  1. NAT Gateway와 NAT Instance 비교
  2. 실습
  3. NAT 활성화
  4. 라우팅 테이블 수정
'Django/인프라' 카테고리의 다른 글
  • [AWS] Application Load Balancer
  • [AWS] 확장성과 로드 밸런싱
  • [AWS] Bastion Host 생성 및 프라이빗 서브넷으로 서버 이전
  • [AWS] Bastion Host
Jong_seoung
Jong_seoung
기록하자, 머리는 생각하는 곳이지 저장장치가 아니다.
반응형
Jong_seoung
Today_developStory
Jong_seoung
전체
오늘
어제

블로그 메뉴

  • Home
  • Git Hub
  • 분류 전체보기 (351)
    • Theory (16)
    • Java (3)
      • 알고리즘 (2)
      • 문법 (0)
    • Spring (7)
      • 스프링 입문 (6)
      • PickTalk (0)
      • 에러처리 (1)
    • Python (80)
      • 알고리즘 - 이론 (17)
      • 알고리즘 - 내장함수, 라이브러리 등등 (3)
      • 알고리즘 - 백준 (53)
      • 나도코딩 정리 (2)
      • 기타 (5)
    • Django (159)
      • DRF (105)
      • 인프라 (46)
      • DataBases (2)
      • API Docs (6)
    • FrontEnd (22)
      • htmx (2)
      • React (8)
      • 자바스크립트 (12)
    • GIT (16)
    • 기타 (8)
      • 정리 (2)
      • Flutter (1)
      • 마이크로프로세서 - ATmega128 (2)
      • 개발환경 세팅 (3)
    • 자격증 (37)
      • 정보처리기사 (19)
      • SQLD자격증 (18)

인기 글

최근 글

태그

  • alarm
  • BFS
  • CSRF
  • Django
  • django channels
  • django sse
  • django tutorial
  • django 배포
  • django 스웨거 적용
  • Django 이미지 저장

최근 댓글

hELLO · Designed By 정상우.v4.3.0
Jong_seoung
[AWS] NAT gateway 비용절감을 위한 NAT instance
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.