AWS VPC-인터넷 게이트웨이와 NAT [폐쇄]


209

인터넷 게이트웨이 란 무엇입니까? NAT 인스턴스 란 무엇입니까? 어떤 서비스를 제공합니까?

AWS VPC 설명서를 읽으면 개인 IP 주소를 발신 요청에 대한 인터넷 라우팅 가능 주소로 매핑하고 수신 응답을 인터넷에서 서브넷의 요청자로 라우팅합니다.

그렇다면 차이점은 무엇입니까? 인터넷 게이트웨이 대신 (또는 그 밖의) NAT 인스턴스를 사용하는 시나리오는 무엇입니까? 본질적으로 일부 네트워크 애플리케이션을 실행하는 EC2 인스턴스입니까, 아니면 라우터와 같은 특수 하드웨어입니까?

단순히 AWS 설명서 링크를 가리 키지 않고 퍼블릭 및 프라이빗 서브넷에 대한 배경 지식을 추가하여 네트워킹에 대한 지식이 부족한 초보자가 쉽게 이해할 수 있도록 설명 할 수 있습니까? 또한 NAT 인스턴스 대신 NAT 게이트웨이를 언제 사용해야합니까?

PS 저는 AWS VPC를 처음 사용하므로 여기에서 사과를 오렌지와 비교할 수 있습니다.

답변:


230

인터넷 게이트웨이

인터넷 게이트웨이는 Amazon VPC와 인터넷 간의 논리적 연결 입니다. 물리적 인 장치 가 아닙니다 . 각 VPC에는 하나만 연결할 수 있습니다. 인터넷 연결 대역폭을 제한 하지 않습니다 . (대역폭에 대한 유일한 제한은 Amazon EC2 인스턴스의 크기이며 VPC 내부 및 인터넷 외부의 모든 트래픽에 적용됩니다.)

VPC를이 경우 하지 않는 인터넷 게이트웨이가 다음 VPC의 자원은 인터넷에서 액세스 할 수 없습니다 (트래픽이 기업 네트워크 및 VPN / 직접 연결을 통해 흘러 제외).

인터넷 게이트웨이로 트래픽을 전달하는 라우팅 테이블이있는 서브넷퍼블릭 서브넷으로 간주됩니다 .

NAT 인스턴스

NAT 인스턴스는 트래픽을 인터넷으로 전달하도록 구성된 Amazon EC2 인스턴스입니다. 기존 AMI에서 시작하거나 다음과 같이 사용자 데이터를 통해 구성 할 수 있습니다.

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE
/sbin/iptables-save > /etc/sysconfig/iptables
mkdir -p /etc/sysctl.d/
cat <<EOF > /etc/sysctl.d/nat.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.send_redirects = 0
EOF

인터넷에 액세스하려는 프라이빗 서브넷의 인스턴스는 라우팅 테이블 구성을 통해 인터넷 바인딩 트래픽을 NAT 인스턴스로 전달할 수 있습니다. 그러면 NAT 인스턴스는 인터넷에 요청을하고 (퍼블릭 서브넷에 있기 때문에) 프라이빗 인스턴스로 응답이 다시 전달됩니다.

NAT 인스턴스로 전송 된 트래픽은 일반적으로 NAT 인스턴스 자체와 연결되지 않은 IP 주소로 전송됩니다 (인터넷의 서버로 전송 됨). 따라서 NAT 인스턴스 에서 소스 / 대상 확인 옵션 을 해제해야합니다. 그렇지 않으면 트래픽이 차단됩니다.

NAT 게이트웨이

AWS 는 NAT 인스턴스를 대신 할 수 있는 NAT 게이트웨이 서비스 를 도입했습니다 . NAT 게이트웨이 서비스를 사용하면 다음과 같은 이점이 있습니다.

  • 완전히 관리되는 서비스입니다. 서비스를 만들고 장애 조치를 포함하여 자동으로 작동합니다.
  • 최대 10Gbps까지 버스트 할 수 있습니다 (NAT 인스턴스는 EC2 인스턴스 유형과 관련된 대역폭으로 제한됨)

하나:

  • 보안 그룹 NAT 게이트웨이와 연결할 수 없습니다
  • 단일 AZ에서만 작동하므로 각 AZ마다 하나씩 필요합니다.

4
노트에 하나 이상의 포인트를 추가 할 수 있습니까? 퍼블릭 서브넷에 IGW가 있으면 NAT 인스턴스가 작동합니다. 또한 인터넷에서 서브넷의 인스턴스로 역방향 조회를 제한합니다.
Ameya 2019

1
이제 2019 년에 NAT gw를 VPC에서만 사용할 수 있으며 "인터넷 게이트웨이"가있는 "퍼블릭"서브넷 또는 서브넷과 내부 서브넷에 EIP를 할당하면 NAT gw로 라우팅됩니다.
Felipe Buccioni

이 답변은 여전히 ​​정확합니까? 로부터 AWS 워드 프로세서 , I는 다음을 참조하십시오 An internet gateway is a horizontally scaled, redundant, and highly available VPC component that allows communication between instances in your VPC and the internet. It therefore imposes no availability risks or bandwidth constraints on your network traffic.. 설명에서 나는 그것이 실제 하드웨어 장치이지만 AWS가 관리한다는 인상을 얻습니다. 내가 이해하지 못하는 경우 수정하십시오.
Abhishek Divekar

@AbhishekDivekar 아무것도 바뀌지 않았습니다. AWS로 작업 할 때는 기본 하드웨어에 대해 생각하지 않고 달성하고자하는 것에 집중하십시오.
John Rotenstein

1
@Sandeep NAT 인스턴스 및 NAT 게이트웨이는 VPC 내에 존재합니다. 따라서 트래픽을 종료하고 인터넷으로 이동하는 트래픽은 여전히 ​​인터넷 게이트웨이를 통과해야합니다. 인터넷 게이트웨이가 없으면 인터넷에 액세스 할 수 없습니다.
John Rotenstein

127

NAT 게이트웨이와 NAT 인스턴스의 경우 어느 쪽이든 작동합니다. NAT 인스턴스는 약간 저렴할 수 있지만 NAT 게이트웨이는 AWS에서 완전히 관리하므로 NATing을 위해 EC2 인스턴스를 유지 관리 할 필요가 없다는 이점이 있습니다.

그러나 인터넷에서 사용할 수 있어야하는 인스턴스의 경우 NAT 게이트웨이 / 인스턴스가 원하는 것이 아닙니다. NAT를 사용하면 프라이빗 인스턴스 (퍼블릭 IP가없는)가 인터넷에 액세스 할 수 있지만 다른 방법으로는 액세스 할 수 없습니다. 따라서 인터넷에서 사용할 수 있어야하는 EC2 인스턴스의 경우 퍼블릭 IP를 할당해야합니다. EC2 인스턴스를 비공개로 유지해야하는 경우 해결 방법이 있습니다. 탄력적로드 밸런서를 사용하여 요청을 프록시 할 수 있습니다.

인터넷 게이트웨이

인터넷 게이트웨이는 VPC가 인터넷에 연결되는 방식입니다. 라우팅 테이블이있는 인터넷 게이트웨이를 사용하여 인터넷 트래픽이 인터넷에 도달하는 방식을 VPC에 알려줍니다.

인터넷 게이트웨이는 VPC에 이름으로 나타납니다. Amazon은 게이트웨이를 관리하며 실제로 사용하고 싶은 말 외에는 아무 것도 말하지 않습니다. 인터넷에 전혀 액세스 할 수없는 완전히 분할 된 서브넷을 원할 수 있습니다.

퍼블릭 서브넷은 인터넷 트래픽이 AWS의 인터넷 게이트웨이를 통해 라우팅되는 서브넷을 의미합니다. 퍼블릭 서브넷 내의 모든 인스턴스에는 퍼블릭 IP가 할당 될 수 있습니다 (예 : "associate public ip address"가 활성화 된 EC2 인스턴스).

프라이빗 서브넷은 인터넷에서 인스턴스에 공개적으로 액세스 할 수 없음을 의미합니다. 그들은 공용 IP 주소가 없습니다. 예를 들어 SSH를 통해 직접 액세스 할 수 없습니다. 프라이빗 서브넷의 인스턴스는 여전히 인터넷 자체에 액세스 할 수 있습니다 (예 : NAT 게이트웨이 사용).


23
NAT 대 인터넷 게이트웨이 측면에서 최상의 답변.
Tagar

좋은 대답입니다. 후속 질문 : 퍼블릭 서브넷의 EC2 인스턴스에 퍼블릭 IP가있는 경우 논리적으로 인터넷에서 인바운드 요청을 받거나 IP가 라우팅 가능하고 도달 가능하므로 인터넷으로 아웃 바운드 요청을하는 것으로 충분합니다. 그렇다면 인터넷 게이트웨이는 어떤 추가 작업을 수행합니까?
Sandeep

@Sandeep EC2 인스턴스에는 실제 퍼블릭 IP가 없지만이면에서 프라이빗 IP 주소로 매핑됩니다. 인터넷 게이트웨이는 두 가지 목적 : 인터넷 라우팅 트래픽에 대한 귀하의 VPC 경로 테이블에서 대상을 제공하고, 공용 IPv4 주소를 할당 된 인스턴스에 대한 네트워크 주소 변환 (NAT)을 수행 할 수
오마르 Faroque 아닉

11

인터넷 게이트웨이는 vpc를 인터넷에 연결하는 데 사용되고 NAT 게이트웨이는 프라이빗 서브넷을 인터넷에 연결하는 데 사용됩니다 (즉, 트래픽이 NAT 게이트웨이로 전달되는 프라이빗 서브넷 인스턴스로 들어오는 트래픽을 의미합니다). 라우팅 테이블의 트래픽을 NAT로 전달해야합니다.

라우팅 테이블 0.0.0.0/0


예를 들어 주셔서 감사합니다.
Chris

이 페이지 에는 NAT 게이트웨이와 IGW의 목적을 명확하게 보여주는 docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html 다이어그램이 있습니다. 개인 서브넷이 인터넷에 액세스 할 수 있으려면 둘 다 필요
Maruthi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.