Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

IGW (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 23:12

IGW

이름

IGW

전체 명칭

인터넷 게이트웨이 (Internet Gateway)

분류

네트워크 장비, 클라우드 컴퓨팅 서비스

주요 용도

VPC (Virtual Private Cloud)와 인터넷 간의 통신 제공

주요 특징

수평 확장성, 고가용성, NAT (Network Address Translation) 지원

관련 기술

AWS, VPC, 라우팅 테이블

기술 상세 정보

작동 방식

VPC의 라우팅 테이블에서 인터넷 대상(0.0.0.0/0) 트래픽을 IGW로 전달

주요 기능

인터넷 접속, 탄력적 IP 주소 연결, 퍼블릭 서브넷 통신

제한 사항

대역폭 제한 없음, 보안 그룹 및 네트워크 ACL로 보안 관리

관련 서비스

NAT 게이트웨이, VPN Gateway, Direct Connect

사용 사례

웹 서버 호스팅, API 서비스 제공, 외부 데이터 접근

보안 고려사항

퍼블릭 서브넷 배치, 보안 그룹 규칙 설정, 불필요한 포트 차단

비용 모델

시간당 요금 및 데이터 전송량에 따른 요금 (클라우드 제공업체별 상이)

대체 솔루션

NAT 인스턴스, 하이브리드 클라우드 연결

1. 개요

인터넷 게이트웨이(Internet Gateway, IGW)는 가상 사설 클라우드(Virtual Private Cloud, VPC) 내의 리소스와 인터넷 간의 통신을 가능하게 하는 관리형 서비스이다. 주로 아마존 웹 서비스(Amazon Web Services, AWS) 클라우드 환경에서 사용되는 용어이며, 퍼블릭 서브넷(Public Subnet)에 위치한 인스턴스가 인터넷과 양방향으로 데이터를 주고받을 수 있도록 하는 관문 역할을 한다.

IGW는 수평적으로 확장 가능하고 가용성이 높은 구성 요소로 설계되었다. 사용자는 직접 가용성이나 대역폭을 관리할 필요가 없으며, AWS가 자동으로 처리한다. IGW 자체는 단독으로 인터넷 접근을 제공하지 않으며, 반드시 하나의 VPC에 연결되어야 하며, 해당 VPC의 라우팅 테이블(Routing Table)이 인터넷 바운드 트래픽(0.0.0.0/0)을 IGW로 향하도록 구성되어야 정상적으로 작동한다.

IGW의 주요 목적은 VPC 내부와 외부 인터넷 사이의 통신 경로를 제공하는 것이다. 이를 통해 EC2(Elastic Compute Cloud) 인스턴스는 소프트웨어 업데이트를 받거나, 외부 API를 호출할 수 있으며, 사용자는 인터넷을 통해 퍼블릭 IP 주소를 가진 인스턴스에 접속할 수 있다. IGW는 NAT 게이트웨이(NAT Gateway)와는 구별되는데, NAT 게이트웨이가 프라이빗 서브넷의 인스턴스가 인터넷에 *나가는(Outbound)* 연결을 하기 위한 것이라면, IGW는 퍼블릭 서브넷의 인스턴스가 인터넷과 *양방향* 통신을 하기 위한 것이다.

2. IGW의 주요 기능

IGW는 VPC 내의 리소스가 인터넷과 양방향으로 통신할 수 있게 하는 관리형 서비스이다. 그 주요 기능은 다음과 같다.

가장 핵심적인 기능은 인터넷 연결 라우팅이다. IGW는 VPC와 인터넷 사이의 관문 역할을 하여, VPC 내 인스턴스가 외부 네트워크로 나가는 트래픽을 전달하고, 인터넷으로부터 들어오는 트래픽을 적절한 인스턴스로 라우팅한다. 이를 통해 퍼블릭 웹 서버를 호스팅하거나 외부 API를 호출하는 등의 통신이 가능해진다. 단, 인스턴스가 퍼블릭 IP 주소 또는 탄력적 IP 주소를 가지고 있어야만 IGW를 통해 인터넷과 통신할 수 있다.

IGW는 고가용성과 수평적 확장성을 갖추고 있다. 이는 완전 관리형 서비스로 제공되며, AWS가 자동으로 복원력과 용량을 관리한다. 사용자는 별도의 장애 조치나 확장 구성을 신경 쓸 필요가 없으며, IGW 자체가 가용 영역에 구애받지 않는 VPC 수준의 리소스로 동작한다.

보안 측면에서 IGW는 단독으로는 방화벽 기능을 제공하지 않는다. 대신, 보안 그룹과 네트워크 ACL과 연동되어 네트워크 보안을 구성한다. 보안 그룹은 인스턴스 수준의 가상 방화벽으로 동작하며, 네트워크 ACL은 서브넷 수준의 트래픽 제어를 담당한다. IGW를 통한 모든 트래픽은 반드시 이러한 보안 계층의 규칙을 통과해야 하므로, 사용자는 명시적으로 허용 규칙을 설정해야만 통신이 이루어진다.

2.1. 인터넷 연결 라우팅

IGW의 가장 핵심적인 역할은 VPC 내의 리소스와 인터넷 간의 양방향 통신 경로를 제공하는 것이다. 이는 라우팅 테이블을 통해 구현되며, IGW를 대상으로 하는 라우팅 규칙이 설정된 서브넷의 리소스만 인터넷과 통신할 수 있다.

구체적으로, 관리자는 VPC의 라우팅 테이블에 특정 규칙을 추가하여 트래픽의 흐름을 제어한다. 인터넷으로 나가는 트래픽(아웃바운드)의 경우, 목적지가 0.0.0.0/0(모든 IPv4 주소)인 트래픽을 IGW를 대상(target)으로 보내는 라우팅 항목을 생성한다. 반대로, 인터넷에서 들어오는 트래픽(인바운드)은 IGW를 통해 VPC 내의 인스턴스로 전달된다. 이때 인스턴스는 퍼블릭 IP 주소 또는 탄력적 IP 주소를 가지고 있어야 외부에서 식별되고 접근될 수 있다[1].

이 라우팅 메커니즘은 서브넷 단위로 세밀하게 제어할 수 있어 아키텍처 설계에 유연성을 제공한다. 예를 들어, 웹 서버를 배치하는 퍼블릭 서브넷의 라우팅 테이블에는 IGW에 대한 라우팅 규칙이 존재하지만, 데이터베이스 서버가 위치한 프라이빗 서브넷의 라우팅 테이블에는 해당 규칙이 없도록 구성한다. 이를 통해 데이터베이스 계층은 인터넷에 직접 노출되지 않으면서도 필요한 아웃바운드 연결(예: 소프트웨어 업데이트)은 NAT 게이트웨이 등을 통해 간접적으로 수행할 수 있다.

라우팅 테이블 구성 요소

설명

예시 (인터넷 바운드 트래픽)

대상 (Destination)

트래픽이 향할 IP 주소 범위

0.0.0.0/0 (모든 인터넷 트래픽)

대상 (Target)

해당 트래픽을 전달할 게이트웨이 또는 연결

igw-12345abcde (생성한 IGW의 ID)

결과

이 규칙이 적용된 서브넷의 인스턴스는 IGW를 통해 인터넷과 통신할 수 있게 됨

퍼블릭 서브넷의 웹 서버가 인터넷 사용자에게 응답 가능

2.2. 수평적 확장성

IGW는 VPC 내의 리소스가 인터넷과 통신할 수 있게 하는 완전 관리형 서비스이다. 이 서비스의 핵심 특징 중 하나는 탄력적이고 자동화된 수평적 확장성을 제공한다는 점이다.

사용자가 IGW를 생성하고 VPC에 연결하면, AWS가 자동으로 필요한 네트워크 인프라의 용량을 관리한다. 사용자는 IGW의 대역폭이나 처리 성능을 사전에 예측하거나 수동으로 조정할 필요가 없다. IGW는 연결된 인스턴스로부터의 트래픽 양에 따라 자동으로 확장되며, 이는 탄력적 IP 주소를 사용하는 EC2 인스턴스나 로드 밸런서 등 모든 퍼블릭 리소스에 적용된다. 예를 들어, 웹 서버의 트래픽이 갑자기 증가하더라도 IGW는 이를 처리하기 위해 백엔드에서 자원을 추가로 할당한다.

이러한 설계는 사용자에게 몇 가지 중요한 이점을 제공한다. 첫째, 사용자는 네트워크 게이트웨이의 용량 계획이나 성능 튜닝에 대한 운영 부담에서 벗어날 수 있다. 둘째, IGW는 AWS의 글로벌 네트워크 인프라를 기반으로 하므로, 매우 높은 수준의 가용성과 내구성을 보장한다. 단일 장애점이 되지 않도록 설계되어 있으며, 사용자는 별도의 고가용성 구성을 신경 쓸 필요가 없다. 마지막으로, 사용량에 따른 종량제 과금 모델로 운영되므로, 최대 용량을 기준으로 선결제하거나 유휴 자원에 대한 비용을 지불하지 않아도 된다.

2.3. 보안 그룹 및 네트워크 ACL 연동

IGW 자체는 상태 저장(stateful) 방화벽 기능을 제공하지 않는다. 따라서 VPC 내 리소스로의 인바운드 트래픽과 아웃바운드 트래픽을 제어하기 위해서는 보안 그룹과 네트워크 ACL을 함께 사용해야 한다. 이 두 계층의 보안 메커니즘은 상호 보완적으로 작동하여 네트워크 보안을 강화한다.

보안 그룹은 인스턴스 수준의 가상 방화벽 역할을 한다. 기본적으로 모든 인바운드 트래픽을 차단하며, 명시적으로 허용 규칙을 추가해야만 트래픽이 통과할 수 있다. 보안 그룹은 상태 저장적이어서, 허용된 아웃바운드 트래픽에 대한 응답은 자동으로 인바운드로 허용된다. 반면, 네트워크 ACL은 서브넷 수준에서 작동하는 무상태(stateless) 필터링 계층이다. 서브넷 전체에 적용되는 규칙 목록을 가지고 있으며, 인바운드와 아웃바운드 트래픽에 대해 별도의 명시적 허용/거부 규칙을 정의해야 한다.

이 두 보안 계층은 다음과 같이 연동되어 작동한다. IGW를 통해 들어오는 외부 트래픽은 먼저 서브넷의 네트워크 ACL 인바운드 규칙을 평가받는다. 통과한 트래픽은 대상 인스턴스에 연결된 보안 그룹의 인바운드 규칙을 다시 평가받는다. 두 단계 모두에서 허용되어야만 인스턴스에 도달할 수 있다. 아웃바운드 트래픽의 경우 순서가 반대이다. 인스턴스의 보안 그룹 아웃바운드 규칙을 먼저 통과한 후, 서브넷의 네트워크 ACL 아웃바운드 규칙을 통과해야 IGW로 나갈 수 있다.

보안 계층

적용 범위

상태 관리

규칙 평가 순서

네트워크 ACL

서브넷 전체

무상태(Stateless)

규칙 번호 순서(낮은 번호 우선)

보안 그룹

인스턴스(또는 네트워크 인터페이스)

상태 저장(Stateful)

모든 규칙 평가(암시적 거부)

이러한 다층 방어 구조는 보안 강화에 유리하다. 예를 들어, 네트워크 ACL에서 특정 IP 대역을 차단하면 해당 서브넷 내 모든 인스턴스에 대한 접근이 일괄 차단된다. 반면, 특정 인스턴스에만 세밀한 접근 제어를 적용하려면 보안 그룹 규칙을 사용한다. IGW를 통한 트래픽은 항상 이 두 필터링 계층을 거치므로, 두 보안 메커니즘의 규칙을 신중하게 구성해야 의도한 대로 통신이 이루어진다.

3. IGW의 작동 원리

IGW는 VPC와 인터넷 간의 통신을 가능하게 하는 관리형 게이트웨이이다. IGW의 핵심 작동 원리는 VPC에 연결된 후, 해당 VPC의 라우팅 테이블을 통해 인스턴스로의 트래픽 경로를 제어하는 데 있다. IGW 자체는 독립적인 네트워크 장비가 아니며, 특정 가용 영역에 속하지 않는 수평적으로 확장 가능한 VPC 수준의 리소스이다. 이는 IGW가 단일 장애 지점이 되지 않도록 설계되었음을 의미한다.

IGW가 VPC에 연결되면, 사용자는 VPC의 라우팅 테이블을 편집하여 특정 트래픽을 IGW로 향하도록 지정해야 한다. 일반적으로 퍼블릭 서브넷에 연결된 라우팅 테이블에 0.0.0.0/0(모든 IPv4 트래픽) 또는 ::/0(모든 IPv6 트래픽)에 대한 대상으로 IGW를 추가한다. 이 라우팅 규칙이 설정되면, 해당 서브넷의 인스턴스에서 발생한 인터넷 바운드 트래픽은 IGW를 통해 외부로 전송된다. 반대로 인터넷에서 인스턴스로 들어오는 인바운드 트래픽도 IGW를 경유한다.

IGW는 퍼블릭 IP 주소와 밀접한 관계를 가진다. IGW를 통해 인터넷과 통신하는 EC2 인스턴스는 퍼블릭 IP 주소 또는 탄력적 IP 주소를 보유해야 한다. IGW는 인스턴스의 프라이빗 IP 주소를 이 퍼블릭 IP 주소로 1:1 변환(NAT)하여 트래픽을 전달한다. 이 변환은 상태를 저장(Stateful)하므로, 인스턴스가 시작한 아웃바운드 연결에 대한 응답 트래픽은 자동으로 해당 인스턴스로 다시 라우팅된다. IGW의 동작을 간략히 정리하면 다음과 같다.

단계

설명

1. 연결

IGW를 생성하여 특정 VPC에 연결(Attach)한다.

2. 라우팅

퍼블릭 서브넷의 라우팅 테이블에 인터넷 대상(0.0.0.0/0) 경로를 IGW로 설정한다.

3. 주소 할당

서브넷의 인스턴스에 퍼블릭 IP 또는 탄력적 IP를 할당한다.

4. 트래픽 처리

아웃바운드 트래픽: 인스턴스 → 라우팅 테이블 → IGW → 인터넷.

인바운드 트래픽: 인터넷 → IGW → 라우팅 테이블 → 인스턴스.

IGW는 기본적으로 어떠한 트래픽도 차단하지 않는다. 인스턴스에 대한 실제 네트워크 접근 제어는 보안 그룹과 네트워크 ACL을 통해 구현된다. 따라서 IGW의 작동은 라우팅(경로 지정)과 주소 변환에 집중되어 있으며, 보안 정책은 별도의 계층에서 관리된다는 점이 중요하다.

3.1. VPC 연결 및 라우팅 테이블

IGW는 VPC에 연결되어야만 기능을 수행할 수 있다. 사용자는 AWS Management Console, AWS CLI 또는 AWS SDK를 통해 IGW를 생성한 후, 특정 VPC에 명시적으로 연결(Attach)하는 작업을 수행해야 한다. 하나의 IGW는 한 번에 하나의 VPC에만 연결될 수 있으며, 하나의 VPC는 동시에 하나의 IGW만 연결할 수 있다. 이 연결은 논리적이며, IGW는 VPC의 네트워크 경계 밖에 위치한 관리형 AWS 구성 요소로 작동한다.

IGW가 VPC에 연결된 후, 인스턴스가 인터넷과 통신하려면 라우팅 테이블을 올바르게 구성해야 한다. 각 서브넷은 하나의 라우팅 테이블과 연결된다. 퍼블릭 서브넷에 위치한 인스턴스가 인터넷과 양방향 통신을 하려면, 해당 서브넷의 라우팅 테이블에 인터넷 바운드 트래픽(0.0.0.0/0)을 대상으로 하는 경로(Route)를 생성하고, 그 목적지를 연결된 IGW로 지정해야 한다. 이 경로는 VPC 내부 트래픽을 위한 로컬 경로와 함께 존재한다.

라우팅 테이블 구성은 다음과 같은 예시를 가진다.

대상(Target)

목적지(Destination)

설명

local

VPC CIDR (예: 10.0.0.0/16)

VPC 내부 트래픽을 위한 경로

igw-id

0.0.0.0/0

모든 인터넷 바운드 트래픽을 IGW로 전송

이 구성이 완료되면, 해당 라우팅 테이블이 연결된 서브넷은 퍼블릭 서브넷이 된다. 반면, 인터넷 게이트웨이를 향하는 경로(0.0.0.0/0)가 라우팅 테이블에 없는 서브넷은 프라이빗 서브넷으로 분류된다. 프라이빗 서브넷의 인스턴스는 IGW를 통해 인터넷에 직접 접근할 수 없다.

3.2. 퍼블릭 IP 주소와의 관계

인터넷 게이트웨이(IGW)는 VPC 내 인스턴스에 퍼블릭 IP 주소를 할당하는 기능을 직접 수행하지는 않는다. 대신, 퍼블릭 IP 주소를 보유한 인스턴스가 인터넷과 양방향으로 통신할 수 있도록 하는 통로 역할을 한다. 퍼블릭 IP 주소는 EC2 인스턴스 생성 시 자동 할당되거나, 탄력적 IP 주소를 명시적으로 연결하는 방식으로 부여받는다.

IGW는 이 퍼블릭 IP 주소를 사용하는 트래픽의 라우팅을 담당한다. 인스턴스에서 인터넷으로 나가는 트래픽은 IGW를 경유하며, 이때 소스 IP 주소가 인스턴스의 퍼블릭 IP 주소로 변환된다[2]. 반대로, 인터넷에서 해당 퍼블릭 IP 주소로 향하는 들어오는 트래픽은 IGW를 통해 VPC 내의 목적지 인스턴스로 전달된다. 따라서 인스턴스가 인터넷과 통신하려면 반드시 퍼블릭 IP 주소를 가지고 있어야 하며, 동시에 해당 인스턴스가 위치한 서브넷의 라우팅 테이블이 인터넷 바운드 트래픽(0.0.0.0/0)을 IGW로 보내도록 구성되어 있어야 한다.

퍼블릭 IP 주소 없이 IGW만 존재하는 경우, 인스턴스는 인터넷에서 접근할 수 없으며 인터넷으로 나가는 트래픽도 발신할 수 없다. 아래 표는 퍼블릭 IP 주소의 존재 여부와 IGW 라우팅에 따른 통신 가능 여부를 요약한 것이다.

퍼블릭 IP 주소

서브넷 라우팅 테이블 (IGW 경유)

인터넷으로의 아웃바운드

인터넷으로부터의 인바운드

있음

있음

가능

가능

있음

없음

불가능

불가능

없음

있음

불가능

불가능

없음

없음

불가능

불가능

결론적으로, IGW와 퍼블릭 IP 주소는 별개의 개념이지만, VPC 내 리소스가 인터넷과 완전한 양방향 통신을 하기 위해서는 두 요소가 모두 필수적으로 구성되어야 한다. IGW는 게이트웨이 자체이며, 퍼블릭 IP 주소는 통신에 사용되는 실제 주소이다.

4. IGW 구성 및 설정

IGW를 구성하고 설정하는 과정은 VPC 내부의 리소스가 인터넷과 양방향으로 통신할 수 있도록 하는 핵심 단계이다. 이 과정은 주로 AWS Management Console, AWS CLI, 또는 AWS CloudFormation과 같은 인프라 자동화 도구를 통해 수행된다.

첫 번째 단계는 IGW 자원을 생성하고 특정 VPC에 연결(Attach)하는 것이다. IGW는 리전별로 생성되며, 생성 직후에는 어떤 VPC와도 연결되지 않은 독립된 상태이다. 관리자는 IGW를 생성한 후, 인터넷 연결이 필요한 VPC를 지정하여 연결해야 한다. 하나의 IGW는 한 번에 하나의 VPC에만 연결될 수 있지만, 하나의 VPC는 하나의 IGW만 가질 수 있다[3]. 연결이 완료되면 IGW는 해당 VPC의 논리적 구성 요소가 된다.

인터넷 연결을 완성하기 위해서는 라우팅 테이블을 구성해야 한다. VPC의 서브넷은 각각 하나의 라우팅 테이블과 연관된다. 퍼블릭 서브넷의 인스턴스가 인터넷과 통신하려면, 해당 서브넷의 라우팅 테이블에 IGW를 대상(타겟)으로 하는 경로(Route)를 추가해야 한다. 일반적으로 목적지(Destination)가 0.0.0.0/0(모든 IPv4 트래픽) 또는 ::/0(모든 IPv6 트래픽)인 경로의 타겟을 생성한 IGW로 지정한다. 이 설정은 "인터넷으로 나가는 트래픽은 IGW를 통해 보내라"는 규칙을 정의한다.

구성 요소

설정 작업

설명

IGW

생성 및 VPC 연결

AWS 리전에 IGW 리소스를 생성하고, 특정 VPC에 연결(Attach)한다.

라우팅 테이블

경로(Route) 추가

퍼블릭 서브넷과 연결된 라우팅 테이블에, 목적지 0.0.0.0/0에 대한 타겟을 IGW로 지정한다.

EC2 인스턴스

퍼블릭 IP 할당

인스턴스 생성 시 퍼블릭 IP 자동 할당을 활성화하거나, 탄력적 IP를 할당 및 연결한다.

이러한 라우팅 구성을 마친 서브넷은 '퍼블릭 서브넷'이 된다. 최종적으로, 해당 서브넷에 생성된 EC2 인스턴스 등 리소스는 퍼블릭 IP 주소(자동 할당된 퍼블릭 IP 또는 할당된 탄력적 IP)를 가지게 되면, IGW를 경유하여 인터넷과의 양방향 통신이 가능해진다. IGW 구성은 일반적으로 NAT 게이트웨이를 위한 프라이빗 서브넷 구성보다 먼저 이루어진다.

4.1. 생성 및 VPC 연결

IGW를 생성하고 VPC에 연결하는 과정은 AWS Management Console, AWS CLI, 또는 AWS CloudFormation과 같은 인프라스트럭처 자동화 도구를 통해 수행할 수 있다. 일반적으로 콘솔을 통한 작업은 다음과 같은 단계로 이루어진다.

먼저 AWS Management Console의 VPC 대시보드에서 '인터넷 게이트웨이' 섹션으로 이동하여 '인터넷 게이트웨이 생성' 버튼을 클릭한다. 생성 시 이름 태그를 지정하여 식별성을 높일 수 있다. 생성된 IGW는 초기 상태가 '분리됨'으로 표시되며, 이를 사용하려면 반드시 특정 VPC에 명시적으로 연결해야 한다.

연결 과정은 생성된 IGW를 선택한 후 '작업' 메뉴에서 '인터넷 게이트웨이 연결'을 클하여 수행한다. 드롭다운 목록에서 IGW를 연결할 대상 VPC를 선택하면 연결이 완료된다. 연결 후 IGW의 상태는 '연결됨'으로 변경된다. 한 IGW는 동시에 하나의 VPC에만 연결할 수 있으며, VPC 하나는 최대 하나의 IGW만 가질 수 있다[4].

단계

작업

설명

1

IGW 생성

VPC와는 독립적으로 리전 내에 IGW 리소스를 생성한다.

2

VPC 연결

생성된 IGW를 인터넷 연결이 필요한 특정 VPC에 연결(Attach)한다.

3

라우팅 구성

VPC의 라우팅 테이블을 편집하여 퍼블릭 서브넷의 트래픽을 IGW로 향하도록 한다.

연결만으로는 인스턴스가 인터넷과 통신할 수 없다. 마지막이자 가장 중요한 단계는 VPC 내 해당 서브넷의 라우팅 테이블을 구성하여, 인터넷 바운드 트래픽(0.0.0.0/0)의 대상(Target)을 새로 연결한 IGW로 지정하는 것이다. 이 라우팅 규칙이 적용된 서브넷을 일반적으로 '퍼블릭 서브넷'이라고 부른다.

4.2. 라우팅 테이블 구성

라우팅 테이블은 VPC 내 서브넷의 트래픽이 어디로 향할지 결정하는 규칙의 집합이다. 인터넷 게이트웨이(IGW)를 통해 인터넷으로 나가는 트래픽을 허용하려면, 해당 서브넷과 연결된 라우팅 테이블에 명시적인 경로를 추가해야 한다.

라우팅 테이블 구성은 일반적으로 다음 단계로 이루어진다. 먼저, 인터넷 게이트웨이(IGW)가 연결된 VPC의 라우팅 테이블을 선택하거나 새로 생성한다. 그런 다음, 대상(Destination)을 0.0.0.0/0(모든 IPv4 트래픽) 또는 ::/0(모든 IPv6 트래픽)으로 설정하고, 대상(Target)을 생성해 놓은 IGW의 ID로 지정하는 경로(Route)를 추가한다. 이 경로는 "퍼블릭 서브넷"의 인스턴스가 인터넷과 통신할 수 있는 권한을 부여한다.

대상 (Destination)

대상 (Target)

설명

10.0.0.0/16

로컬 (local)

VPC 내부 트래픽

0.0.0.0/0

igw-xxxxxx

모든 외부 IPv4 트래픽을 IGW로 전송

::/0

igw-xxxxxx

모든 외부 IPv6 트래픽을 IGW로 전송

이 구성은 반드시 IGW를 사용하려는 서브넷과만 연결되어야 한다. 프라이빗 서브넷은 일반적으로 이 라우팅 테이블과 연결하지 않으며, 대신 NAT 게이트웨이를 대상으로 하는 경로를 사용한다. 라우팅 테이블은 가장 구체적인 경로를 우선적으로 적용하므로, VPC 내부 주소 대역(10.0.0.0/16)에 대한 로컬 경로는 0.0.0.0/0 경로보다 항상 우선한다.

5. IGW와 NAT 게이트웨이 비교

IGW와 NAT 게이트웨이는 모두 AWS VPC 내의 리소스가 인터넷과 통신할 수 있게 해주는 관리형 서비스이지만, 그 목적과 작동 방식, 사용 사례에서 근본적인 차이를 보인다. IGW는 주로 퍼블릭 서브넷에 위치한 리소스(예: 웹 서버)가 인터넷과 양방향으로 직접 통신하기 위한 출입구 역할을 한다. 반면, NAT 게이트웨이는 주로 프라이빗 서브넷에 위치한 리소스(예: 데이터베이스 서버)가 외부 인터넷으로부터 들어오는 연결을 차단한 상태에서, 필요한 경우에만 인터넷으로 나가는 연결(아웃바운드 트래픽)을 가능하게 하는 데 사용된다.

두 서비스의 핵심 차이는 연결 방향성과 IP 주소에 있다. IGW를 통해 통신하는 인스턴스는 반드시 퍼블릭 IP 주소(또는 탄력적 IP)를 가지고 있어야 하며, 인터넷에서 해당 IP로의 인바운드 연결을 직접 허용할 수 있다. 이는 외부 사용자가 웹 서버에 접속하는 시나리오에 적합하다. NAT 게이트웨이는 프라이빗 IP 주소만을 가진 인스턴스를 대신하여 인터넷과 통신한다. NAT 게이트웨이는 자신의 퍼블릭 IP 주소를 사용하여 아웃바운드 트래픽의 소스를 변환(Masquerading)하므로, 인터넷 상에서는 트래픽이 NAT 게이트웨이에서 나오는 것으로 보인다. 이로 인해 인터넷 측에서는 프라이빗 인스턴스로 직접적인 인바운드 연결을 시작할 수 없다.

다음 표는 두 서비스의 주요 특성을 비교하여 보여준다.

비교 항목

인터넷 게이트웨이 (IGW)

NAT 게이트웨이

주요 목적

퍼블릭 리소스의 양방향 인터넷 통신

프라이빗 리소스의 아웃바운드 전용 인터넷 통신

연결 방향

인바운드 & 아웃바운드 (양방향)

아웃바운드 (단방향)

필요한 IP

인스턴스에 퍼블릭 IP 또는 탄력적 IP 필요

프라이빗 인스턴스는 퍼블릭 IP 불필요. NAT 게이트웨이 자체에 탄력적 IP 할당

보안 특성

인바운드 트래픽 허용 가능. 보안은 보안 그룹, 네트워크 ACL에 의존

프라이빗 서브넷을 인터넷으로부터 자동 보호. 인바운드 시작 연결 차단

배치 위치

VPC에 연결

퍼블릭 서브넷에 생성

사용 사례

퍼블릭 웹 서버, 이메일 서버

프라이빗 서브넷의 소프트웨어 업데이트, 외부 API 호출

결론적으로, 아키텍처 설계 시 IGW는 인터넷에 공개적으로 노출되어야 하는 서비스를 위해 사용하고, NAT 게이트웨이는 인터넷에서의 직접적인 접근을 차단해야 하지만 패치 다운로드나 외부 서비스 호출 등 아웃바운드 연결이 필요한 백엔드 리소스를 위해 사용한다. 두 서비스는 상호 배타적이지 않으며, 하나의 VPC 내에서 IGW와 NAT 게이트웨이를 함께 구성하여 퍼블릭 서브넷과 프라이빗 서브넷을 모두 갖춘 표준적인 멀티티어 아키텍처를 구현하는 것이 일반적이다.

6. 보안 고려사항

IGW는 VPC 내부의 리소스와 인터넷 간의 양방향 통신을 가능하게 하지만, 이로 인한 무분별한 외부 접근을 방지하기 위한 보안 구성이 필수적이다. 주요 보안 메커니즘으로는 네트워크 ACL과 보안 그룹이 있으며, 이들은 서로 다른 계층에서 네트워크 트래픽을 제어한다.

네트워크 접근 제어는 계층적으로 구성된다. 먼저, 서브넷 수준에서 작동하는 네트워크 ACL은 무상태(stateless) 규칙 집합으로, 서브넷의 입출력 트래픽을 허용하거나 거부하는 필터 역할을 한다. 반면, 인스턴스 수준에서 작동하는 보안 그룹은 상태 저장(stateful) 방화벽으로, 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어한다. IGW를 통한 트래픽은 반드시 이 두 계층의 규칙을 모두 통과해야 하며, 일반적으로 보안 그룹을 더 세밀한 제어의 주요 수단으로 사용한다[5].

모니터링 및 로깅을 통해 IGW를 통한 트래픽을 지속적으로 감시하는 것이 중요하다. VPC 흐름 로그를 활성화하면 네트워크 인터페이스 수준에서 허용되거나 거부된 트래픽에 대한 정보를 수집할 수 있다. 이 로그를 Amazon CloudWatch나 Amazon S3에 저장하여 분석하면, 이상 징후나 무단 접근 시도를 탐지하는 데 도움이 된다. 또한, AWS CloudTrail을 사용하여 IGW 자체의 생성, 연결, 삭제와 같은 관리 이벤트를 기록하고 감사할 수 있다. 정기적인 보안 그룹 및 네트워크 ACL 규칙 검토는 의도치 않게 과도하게 개방된 포트를 찾아내는 표준 절차이다.

6.1. 네트워크 접근 제어

IGW 자체는 상태 저장(stateful) 패킷 검사를 수행하지 않으며, 모든 트래픽을 허용하는 통로 역할을 합니다. 따라서 VPC 내 리소스에 대한 네트워크 접근 제어는 반드시 다른 보안 메커니즘과 연동하여 구성해야 합니다.

주요 접근 제어 수단은 다음과 같습니다.

제어 수준

구성 요소

주요 역할

서브넷 수준

네트워크 ACL

서브넷 경계에서 인바운드/아웃바운드 트래픽을 허용 또는 거부하는 무상태(stateless) 방화벽 규칙

인스턴스 수준

보안 그룹

EC2 인스턴스 등의 가상 머신에 적용되는 상태 저장(stateful) 방화벽 규칙

효과적인 보안을 위해 네트워크 ACL과 보안 그룹을 함께 사용하는 것이 권장됩니다. 네트워크 ACL은 서브넷 전체에 대한 광범위한 규칙(예: 특정 IP 대역 차단)을 설정하는 데 적합하고, 보안 그룹은 개별 인스턴스에 대한 세밀한 애플리케이션 포트 제어를 담당합니다. 최소 권한 원칙에 따라, 필요한 트래픽만 허용하도록 규칙을 엄격하게 구성해야 합니다.

6.2. 모니터링 및 로깅

IGW의 트래픽 흐름을 가시화하고 보안 위협을 탐지하기 위해서는 체계적인 모니터링과 로깅이 필수적이다. 주요 클라우드 제공업체들은 VPC 흐름 로그, CloudTrail (AWS 기준)과 같은 서비스를 통해 IGW를 통과하는 네트워크 패킷 및 관리 작업에 대한 상세 기록을 제공한다.

VPC 흐름 로그를 활성화하면 IGW를 포함한 특정 네트워크 인터페이스의 수신 및 발신 IP 트래픽 정보를 캡처할 수 있다. 이 로그는 허용 또는 거부된 트래픽, 프로토콜, 포트, 패킷 및 바이트 수를 기록하여 이상 징후나 비인가 접근 시도를 분석하는 데 활용된다. 예를 들어, 예상치 못한 지리적 위치에서의 접속 시도나 특정 포트에 대한 집중적인 스캔을 식별할 수 있다[6]. 한편, CloudTrail과 같은 관리 이벤트 로깅 서비스는 IGW 자체에 대한 생성, 연결, 삭제 등의 API 호출을 추적하여 구성 변경 내역과 작업자를 감사할 수 있게 한다.

효율적인 모니터링을 위해서는 이러한 로그 데이터를 Amazon CloudWatch, SIEM 솔루션 등 중앙 집중식 모니터링 플랫폼으로 전송하고 알림을 설정하는 것이 일반적이다. 다음은 주요 로그 유형과 그 목적을 정리한 표이다.

로그 유형

기록 내용

주요 활용 목적

VPC 흐름 로그

패킷 수준의 네트워크 흐름 메타데이터 (소스/목적지 IP, 포트, 프로토콜, 동작)

비정상 트래픽 패턴 탐지, 네트워크 접근 문제 해결, 보안 사고 조사

관리 이벤트 로그 (CloudTrail)

IGW 생성, 연결, 태그 변경, 삭제 등 관리 API 호출 기록

구성 변경 감사, 규정 준수 검증, 불필요하거나 의심스러운 작업 탐지

로그 데이터의 보존 기간과 저장소는 조직의 규정 준수 요구사항에 따라 설정해야 한다. 또한, 지속적으로 로그 패턴을 분석하고 알림 임계값을 조정함으로써 IGW를 통한 잠재적 공격 표면을 효과적으로 관리할 수 있다.

7. 사용 사례

IGW는 VPC 내의 리소스가 인터넷과 양방향으로 통신할 수 있게 하는 핵심 구성 요소이다. 주로 외부 사용자에게 서비스를 제공하거나 외부 서비스와 통신해야 하는 인프라에 활용된다.

가장 대표적인 사용 사례는 퍼블릭 웹 서버 호스팅이다. EC2 인스턴스나 로드 밸런서에 퍼블릭 IP 주소 또는 탄력적 IP 주소를 할당하고, 해당 인스턴스가 위치한 서브넷의 라우팅 테이블이 IGW를 대상(0.0.0.0/0)으로 하는 경로를 가지도록 구성하면, 외부 사용자가 해당 웹 서버에 접근할 수 있다. 반대로 웹 서버는 IGW를 통해 외부 네트워크로 나가는 응답 트래픽(예: 데이터베이스 쿼리 결과, 외부 API 호출)을 전송한다.

또 다른 주요 사용 사례는 외부 API 또는 서비스와의 연동이다. VPC 내부의 애플리케이션이 외부 공개 API(예: 지도 서비스, 결제 게이트웨이, 소셜 미디어 플랫폼)를 호출해야 하거나, 온프레미스 데이터 센터 이외의 외부 시스템과 데이터를 교환할 때 IGW가 경로를 제공한다. 이 경우 인스턴스에 반드시 퍼블릭 IP가 필요하지는 않으며, NAT 게이트웨이를 경유하는 아키텍처도 가능하지만, 최종적인 아웃바운드 트래픽의 출구는 IGW가 된다.

사용 사례

설명

관련 구성 요소

퍼블릭 웹 서버 호스팅

외부 사용자가 접근하는 웹 애플리케이션 또는 API 서버 운영

EC2, 로드 밸런서, 탄력적 IP, 보안 그룹

소프트웨어 업데이트

인스턴스가 공식 리포지토리에서 OS 또는 패키지 업데이트 수신

-

외부 서비스 연동

애플리케이션이 외부 공개 API 호출 또는 데이터 전송

NAT 게이트웨이 (선택적)

원격 접속 관리

SSH 또는 RDP를 통한 인스턴스에 대한 관리자 접근 (보안 주의 필요)

보안 그룹 (엄격한 규칙 필수)

이러한 사용 사례에서 IGW는 단순한 연결 통로 역할을 넘어, 라우팅 테이블과 네트워크 ACL, 보안 그룹과 결합하여 정교한 네트워크 접근 제어의 기반이 된다.

7.1. 퍼블릭 웹 서버 호스팅

7.2. 외부 API 연동

8. 관련 문서

리비전 정보

버전r1
수정일2026.02.14 23:12
편집자unisquads
편집 요약AI 자동 생성