AWS NAT Gateway

십전대보탕·2021년 5월 13일
0

AWS

목록 보기
3/3

  • Private subnet이 직접적으로 인터넷 연결되는 것을 방지하기 위해 사용
    (중요한 리소스가 있어서 예를 들어 데이터베이스)

인터넷 <- 인터넷 게이트웨이 <- NAT Gateway(퍼블릭 서브넷) <- RDB(프라이빗 서브넷)

  1. Create

서브넷 : 서브넷 선택(기존 public 사용, 새로운 public 만들어서 사용)
public 서브넷은 인터넷 연결이 된 서브넷
private 서브넷은 인터넷 연길이 안된 서브넷

탄력적 IP 할당 : 기존의 탄력적 IP가 있다면 사용, 없다면 탄력적 IP 할당

  • 기존의 EC2 public IP는 유동적인 IP라 인스턴스 설정에 따라 IP 주소가 바뀜
    탄력적 IP는 고정적인 IP라 변하지 않음
  • 탄력적 IP는 5개로 제한, NAT 게이트웨이를 이용하면 1개의 탄력적 IP로 여러 리소스들이
    사용 가능함, 가성비 굳

! 인터넷을 사용하고자 하는 소스는 퍼블릭 IP를 가지고 있어야함

NAT Gateway 생성

준비물: NAT Gateway, 퍼블릭 서브넷, 프라이빗 서브넷, 라우팅 테이블 2개

라우팅 테이블 2개,
각각 퍼블릭 서브넷을 위한 라우팅 테이블,
프라이빗 서브넷을 위한 라우팅 테이블,

라우팅 테이블에서 private 서브넷을 클릭하고 아래, 서브넷 연결에서 서브넷 연결 편집 클릭

클릭 후

퍼블릭 서브넷을 위한 라우팅 테이블,
프라이빗 서브넷을 위한 라우팅 테이블에 맞게끔 설정

  1. 라우팅 테이블 설정

private 라우팅 테이블 설정
VPC -> private 클릭 후 -> 라우팅 테이블 -> 라우팅 편집 클릭

라우팅 추가 클릭

대상: 0.0.0.0/0
대상: NAT Gateway 클릭시 방금 만든 NAT Gateway가 나오고 그걸 클릭

모든 IP 접근(0.0.0.0/0)이 NAT Gateway로 라우트하는 규칙
(대충 라우팅테이블 첫번째 서브넷에있는 모든 IP 통신이 NAT Gateway로 가는거?)
정확히 아시는 분은 댓글써주시면 감사하겠습니다.

라우팅 저장

public 라우팅 테이블 설정
VPC -> public 클릭 후 -> 라우팅 테이블 -> 라우팅 편집 클릭


라우팅 추가 클릭

대상: 0.0.0.0/0
대상: Internet Gateway 클릭 (혹시 이미 있다면 설정 안해도 됩니다)

1.프라이빗 서브넷에 있는 모든 IP 대역들의 네트워크 통신을
2.퍼블릭에 방금만든 NAT Gateway로 전송
3.NAT Gateway의 네트워크 통신을 인터넷 게이트웨이로(igw) 연결
4.인터넷 연결

NAT Gateway 테스트 후 삭제하고, 탄력적 IP에 들어가 NAT Gateway에 사용했던
IP를 클릭한 후 작업에서 릴리즈를 해줘야한다.(삭제)

==============================================================

내가 NAT Gateway를 통해서 인터넷을 연결한건지
아니면 그냥 인터넷으로 연결한건지 테스트

private 서브넷에 EC2를 하나 만들고 public ip를 할당하지 않는다.

EC2 생성시,
퍼블릭 IP 자동 할당을 비활성화 선택
private IP만 할당됨

접속해서 ping 8.8.8.8 테스트
안된다면 인터넷 연결이 안되는거 그 상황에서 NAT Gateway를 생성하고 연결해서
다시 ping 테스트를 한다면 연결이 됨

참고로 퍼블릭 IP 자동할당을 비활성화 할 경우 putty로 접속이 안됩니다.
저는 ec2를 같은 서브넷에 한 개 더 만들어 ssh 명령어를 이용해서 접속했습니다. ㅈㅅ..ㅎㅎ

0개의 댓글