진짜 개발자
본문 바로가기

AWS/Networking & CDN

AWS - NAT Gateway를 통한 Private Subnet 인터넷연결

728x90

NAT Gateway를 통한 Private Subnet 인터넷 연결


시나리오

1. 목표

- NAT Gateway를 Public Subnet에 두고 Private Subnet 인스턴스들을 NAT Gateway로 라우팅한다

  Public Subnet에 존재하는 인스턴스들은 인터넷 게이트웨이와 연결되어있기 때문에 Private Subnet의 인스턴스들도 

  인터넷 사용이 가능해진다 또한 외부에서 Private Subnet으로 접근하기 위해서는 NAT Gateway에서 포트포워딩을

   해주지 않는 이상은 불가능하다.

  중요한 점은 NAT Gateway에서는 포트포워딩을 지원하지 않는다 포트포워딩을 원하는 경우 NAT Instance를 사용해야한다.


2. 목표 인프라



*NAT Instance와 NAT Gateway의 차이

- 중요한 차이점은 NAT Gateway에서는 포트포워딩을 지원하지 않는다 포트포워딩을 원하는 경우 NAT Instance를 사용해야한다.

AWS Docs - https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-nat-comparison.html



실습

1. VPC

1) VPC

VPC : 10.0.0.0/16


2) Subnet

Private Subnet : 10.0.11.0, 10.0.12.0

Public Subnet : 10.0.1.0, 10.0.2.0


3) RouteTable

1. Private RouteTable

- 아래에서 NAT Gateway를 생성한 후  Private Subnet에 존재하는 인스턴스들이 Internet을 사용할 수 있도록 

  NAT Gateway로 라우팅한다



2. Public RouteTable

- 로컬 대역외의 트래픽은 인터넷게이트웨이로 보내어 외부와의 통신이 가능하도록 한다.


2. NAT Gateway

1) EIP 생성

- NAT Gateway 접근을 위해 할당할 EIP를 생성한다


1. EC2 서비스의 좌측의 Elastic IPs 탭을 클릭한뒤 Allocate new address를 클릭한다.


2. EIP가 생성되었다.


2) NAT Gateway 생성

1. VPC 서비스 좌측 하단의 NAT Gateways탭을 클릭한뒤 Create NAT Gateway를 클릭한다


2. Natgateway 설정을 진행한다

Subnet : NAT Gateway가 구성될 Subnet을 선택한다 

중요한 점은 Internet Gateway로 접근이 가능한 Subnet을 선택해야 한다.

Elastic IP Allocation ID : 앞전에 만든 EIP를 선택한다



3. EC2 구성

Bastion Host 구성 및 Private Subnet으로 접근

http://galid1.tistory.com/365



4. Private Subnet Instance에서 yum 사용

- yum 사용시 반응이 없다면 ACL과 SecurityGroup 설정을 확인해야 한다.


1) ACL 설정

- Inbound Port를 열어주어야 Outbound Port가 허용이 된다 yum 사용을 위해 inbound에서 1024~ 65535 Port를 열었다

2) Security Group 설정

- Bastion Host에 대한 ssh Inbound만이 열려있다.


성공