라우팅 옵션 예 - Amazon Virtual Private Cloud

라우팅 옵션 예

다음 주제에서는 VPC의 특정 게이트웨이 또는 연결을 위한 라우팅을 설명합니다.

인터넷 게이트웨이로 라우팅

서브넷 라우팅 테이블의 라우팅을 인터넷 게이트웨이에 추가하여 서브넷을 퍼블릭 서브넷으로 만들 수 있습니다. 이렇게 하려면 인터넷 게이트웨이를 생성하여 VPC에 연결한 다음, IPv4 트래픽에 대한 대상 주소가 0.0.0.0/0인 라우팅이나 IPv6 트래픽에 대한 대상 주소가 ::/0인 라우팅을 추가하고, 인터넷 게이트웨이 ID(igw-xxxxxxxxxxxxxxxxx)의 대상을 추가합니다.

대상 주소 대상
0.0.0.0/0 igw-id
::/0 igw-id

자세한 정보는 인터넷 게이트웨이를 사용하여 인터넷에 연결을 참조하십시오.

NAT 디바이스로 라우팅

프라이빗 서브넷의 인스턴스가 인터넷에 연결되도록 하려면 NAT 게이트웨이를 생성하거나 퍼블릭 서브넷에서 NAT 인스턴스를 시작할 수 있습니다. 그런 다음 IPv4 인터넷 트래픽(0.0.0.0/0)을 NAT 디바이스로 라우팅하는 프라이빗 서브넷의 라우팅 테이블에 대한 라우팅을 추가합니다.

대상 주소 대상
0.0.0.0/0 nat-gateway-id

또한 NAT 게이트웨이 사용에 대한 불필요한 데이터 처리 비용을 피하거나 특정 트래픽을 비공개로 라우팅하기 위해 다른 대상에 대한 보다 구체적인 라우팅을 생성할 수 있습니다. 다음 예에서 Amazon S3 트래픽(pl-xxxxxxx, Amazon S3의 특정 IP 주소 범위)은 게이트웨이 VPC 엔드포인트로 라우팅되고 10.25.0.0/16 트래픽은 VPC 피어링 연결로 라우팅됩니다. IP 주소 범위가 pl-xxxxxxxx 및 10.25.0.0/16인 경우 0.0.0.0/0보다 구체적입니다. 인스턴스가 Amazon S3 또는 피어 VPC로 트래픽을 보내면 트래픽이 게이트웨이 VPC 엔드포인트 또는 VPC 피어링 연결로 전송됩니다. 다른 모든 트래픽은 NAT 게이트웨이로 전송됩니다.

대상 주소 대상
0.0.0.0/0 nat-gateway-id
pl-xxxxxxxx vpce-id
10.25.0.0/16 pcx-id

자세한 내용은 NAT 게이트웨이NAT 인스턴스 섹션을 참조하세요. NAT 디바이스는 IPv6 트래픽에는 사용할 수 없습니다.

가상 프라이빗 게이트웨이로 라우팅

AWS Site-to-Site VPN 연결을 사용하여 VPC의 인스턴스를 사용자의 네트워크와 통신하도록 할 수 있습니다. 이렇게 하려면 가상 프라이빗 게이트웨이를 생성하여 VPC에 연결합니다. 그런 다음 네트워크 대상 및 가상 프라이빗 게이트웨이(vgw-xxxxxxxxxxxxxxxxx)의 대상이 있는 서브넷 라우팅 테이블에 라우팅을 추가합니다.

대상 주소 대상
10.0.0.0/16 vgw-id

이제 Site-to-Site VPN 연결을 만들고 구성할 수 있습니다. 자세한 내용은 AWS Site-to-Site VPN 사용 설명서AWS Site-to-Site VPN이란 무엇입니까?라우팅 테이블 및 VPN 경로 우선 순위를 참조하세요.

가상 프라이빗 게이트웨이의 Site-to-Site VPN 연결은 IPv6 트래픽을 지원하지 않습니다. 그러나 가상 프라이빗 게이트웨이를 통해 AWS Direct Connect 연결로 라우팅되는 IPv6 트래픽은 지원합니다. 자세한 내용은 AWS Direct Connect 사용 설명서를 참조하십시오.

AWS Outposts 로컬 게이트웨이로 라우팅

AWS Outposts와 연결된 VPC에 있는 서브넷은 로컬 게이트웨이의 추가 대상 유형을 가질 수 있습니다. 대상 주소가 192.168.10.0/24인 로컬 게이트웨이 트래픽을 고객 네트워크로 라우팅하려는 경우를 생각해 보세요. 이렇게 하려면 대상 네트워크와 로컬 게이트웨이(lgw-xxxx)의 대상을 사용하여 다음 라우팅을 추가합니다.

대상 주소 대상
192.168.10.0/24 lgw-id

VPC 피어링 연결로 라우팅

VPC 피어링 연결은 프라이빗 IPv4 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있게 해주는 두 VPC 사이의 네트워킹 연결입니다. 동일한 네트워크에 속하는 경우와 같이 VPC의 인스턴스가 서로 통신할 수 있습니다.

VPC 피어링 연결에서 VPC 간 트래픽 라우팅을 활성화하려면 VPC 피어링 연결을 가리키는 하나 이상의 서브넷 라우팅 테이블에 라우팅을 추가해야 합니다. 이렇게 하면 피어링 연결에서 다른 VPC의 CIDR 블록 전체 또는 일부에 액세스할 수 있습니다. 마찬가지로, 다른 VPC의 소유자는 트래픽을 다시 사용자의 VPC로 라우팅하기 위해 소유자 자신의 서브넷 라우팅 테이블에 라우팅을 추가해야 합니다.

예를 들어 다음과 같은 정보를 가진 두 VPC 사이에 VPC 피어링 연결(pcx-11223344556677889)이 있다고 합시다.

  • VPC A: CIDR 블록은 10.0.0.0/16

  • VPC B: CIDR 블록은 172.31.0.0/16

VPC 간에 트래픽을 활성화하고 어느 한 VPC의 전체 IPv4 CIDR 블록에 대한 액세스를 허용하기 위해 VPC A의 라우팅 테이블은 다음과 같이 구성됩니다.

대상 주소 대상
10.0.0.0/16 로컬
172.31.0.0/16 pcx-11223344556677889

VPC B의 라우팅 테이블은 다음과 같이 구성됩니다.

대상 주소 대상
172.31.0.0/16 로컬
10.0.0.0/16 pcx-11223344556677889

VPC와 인스턴스가 IPv6 통신을 할 수 있는 경우, VPC 피어링 연결은 VPC의 인스턴스 간 IPv6 통신도 지원할 수 있습니다. VPC 간 IPv6 트래픽을 라우팅할 수 있게 하려면, VPC 피어링 연결을 가리키는 라우팅 테이블에 대한 경로를 추가하여 피어 VPC의 IPv6 CIDR 블록 전부 또는 일부에 액세스해야 합니다.

예를 들어 VPC가 위와 같이 동일한 VPC 피어링 연결(pcx-11223344556677889)을 사용하여 다음과 같은 정보를 갖고 있다고 가정합시다.

  • VPC A: IPv6 CIDR 블록은 2001:db8:1234:1a00::/56입니다.

  • VPC B: IPv6 CIDR 블록은 2001:db8:5678:2b00::/56입니다.

VPC 피어링 연결을 통해 IPv6 통신을 할 수 있도록 하려면 VPC A에 대한 서브넷 라우팅 테이블에 다음 라우팅을 추가합니다.

대상 주소 대상
10.0.0.0/16 로컬
172.31.0.0/16 pcx-11223344556677889
2001:db8:5678:2b00::/56 pcx-11223344556677889

다음 라우팅을 VPC B에 대한 라우팅 테이블에 추가합니다.

대상 주소 대상
172.31.0.0/16 로컬
10.0.0.0/16 pcx-11223344556677889
2001:db8:1234:1a00::/56 pcx-11223344556677889

VPC 피어링 연결에 대한 자세한 내용은 Amazon VPC 사용 설명서를 참조하십시오.

게이트웨이 VPC 엔드포인트로 라우팅

게이트웨이 VPC 엔드포인트를 사용하면 VPC와 다른 AWS 서비스 사이에 프라이빗 연결을 생성할 수 있습니다. 게이트웨이 엔드포인트를 생성할 때 VPC에서 게이트웨이 엔드포인트에서 사용하는 서브넷 라우팅 테이블을 지정합니다. 경로는 각각의 라우팅 테이블에 자동으로 추가되며 이때 서비스의 접두사 목록 ID(pl-xxxxxxxx)를 지정하는 목적지 및 엔드포인트 ID(vpce-xxxxxxxxxxxxxxxxx)를 포함한 대상도 함께 추가됩니다. 엔드포인트 경로를 명시적으로 삭제하거나 수정할 수는 없지만, 엔드포인트에서 사용되는 라우팅 테이블을 변경할 수는 있습니다.

엔드포인트에 대한 라우팅과 AWS 서비스에 대한 경로에 대한 자세한 내용은 게이트웨이 엔드포인트에 대한 라우팅을 참조하세요.

외부 전용 인터넷 게이트웨이로 라우팅

VPC에 외부 전용 인터넷 게이트웨이를 생성하여 프라이빗 서브넷의 인스턴스가 인터넷에 대한 아웃바운드 통신을 시작하도록 하되 인터넷에서 해당 인스턴스와의 연결을 시작하지 못하도록 할 수 있습니다. 외부 전용 인터넷 게이트웨이는 IPv6 트래픽에만 사용됩니다. 외부 전용 인터넷 게이트웨이에 대한 라우팅을 구성하려면 IPv6 인터넷 트래픽(::/0)을 외부 전용 인터넷 게이트웨이로 라우팅하는 프라이빗 서브넷 라우팅 테이블에 대한 라우팅을 추가해야 합니다.

대상 주소 대상
::/0 eigw-id

자세한 정보는 송신 전용 인터넷 게이트웨이를 사용하여 아웃바운드 IPv6 트래픽 활성화을 참조하십시오.

전송 게이트웨이에 대한 라우팅

전송 게이트웨이에 VPC를 연결할 때 전송 게이트웨이를 통해 라우팅할 트래픽에 대한 라우팅을 서브넷 라우팅 테이블에 추가해야 합니다.

전송 게이트웨이에 연결된 VPC 3개가 있는 다음 시나리오를 고려하세요. 이 시나리오에서는 모든 연결이 전송 게이트웨이 라우팅 테이블과 연결되어 전송 게이트웨이 라우팅 테이블에 전파됩니다. 따라서 모든 연결은 패킷을 서로 라우팅할 수 있으며 전송 게이트웨이는 단순한 계층 3 IP 허브 역할을 합니다.

예를 들어, 다음과 같은 정보를 가진 두 VPC가 있다고 가정합니다.

  • VPC A: 10.1.0.0/16, 연결 ID tgw-attach-11111111111111111

  • VPC B: 10.2.0.0/16, 연결 ID tgw-attach-22222222222222222

VPC 간에 트래픽을 활성화하고 전송 게이트웨이에 대한 액세스를 허용하려면 VPC A의 라우팅 테이블을 다음과 같이 구성해야 합니다.

대상 주소 대상
10.1.0.0/16 로컬
10.0.0.0/8 tgw-id

다음은 VPC 연결에 대한 전송 게이트웨이 라우팅 테이블 항목의 예입니다.

대상 주소 대상
10.1.0.0/16 tgw-attach-11111111111111111
10.2.0.0/16 tgw-attach-22222222222222222

전송 게이트웨이 라우팅 테이블에 대한 자세한 내용은 Amazon VPC Transit Gateways라우팅을 참조하십시오.

미들박스 어플라이언스에 대한 라우팅

VPC에 대한 라우팅 경로에 미들박스 어플라이언스를 추가할 수 있습니다. 다음은 몇 가지 가능한 사용 사례입니다.

  • 인터넷 게이트웨이 또는 가상 프라이빗 게이트웨이를 통해 VPC로 들어오는 트래픽을 VPC의 미들박스 어플라이언스로 전송하여 가로챕니다. 미들박스 라우팅 마법사를 사용하여 AWS가 게이트웨이, 미들박스 및 대상 서브넷에 적합한 라우팅 테이블을 자동으로 구성할 수 있습니다. 자세한 정보는 미들박스 라우팅 마법사을 참조하십시오.

  • 두 서브넷 간의 트래픽을 미들박스 어플라이언스로 보냅니다. 이렇게 하려면 다른 서브넷의 서브넷 CIDR과 일치하는 서브넷 라우팅 테이블에 대한 경로를 생성하고 Gateway Load Balancer 엔드포인트, NAT 게이트웨이, Network Firewall 엔드포인트 또는 어플라이언스의 네트워크 인터페이스를 대상으로 지정합니다. 또는 서브넷에서 다른 서브넷으로 모든 트래픽을 리디렉션하려면 로컬 경로의 대상을 Gateway Load Balancer 엔드포인트, NAT 게이트웨이 또는 네트워크 인터페이스로 바꿉니다.

필요에 맞게 어플라이언스를 구성할 수 있습니다. 예를 들어 모든 트래픽을 차단하는 보안 어플라이언스 또는 WAN 가속 어플라이언스를 구성할 수 있습니다. 어플라이언스는 VPC의 서브넷에 Amazon EC2 인스턴스로 배포되며 서브넷의 탄력적 네트워크 인터페이스(네트워크 인터페이스)로 표시됩니다.

대상 서브넷 라우팅 테이블에 대해 라우팅 전파를 활성화한 경우 라우팅 우선 순위를 알고 있어야 합니다. 가장 구체적인 라우팅에 대해 우선 순위를 두며 라우팅이 일치하면 전파된 라우팅보다 정적 라우팅에 우순 순위를 둡니다. 라우팅을 검토하여 트래픽이 올바르게 라우팅되고 라우팅 전파를 활성화 또는 비활성화할 경우 의도하지 않은 결과가 없는지 확인합니다(예: 점보 프레임을 지원하는 AWS Direct Connect 연결에 대해 라우팅 전파가 필요함).

인바운드 VPC 트래픽을 어플라이언스로 라우팅하려면 라우팅 테이블을 인터넷 게이트웨이 또는 가상 프라이빗 게이트웨이와 연결하고 어플라이언스의 네트워크 인터페이스를 VPC 트래픽의 대상으로 지정합니다. 자세한 정보는 게이트웨이 라우팅 테이블을 참조하십시오. 서브넷에서 다른 서브넷의 미들박스 어플라이언스로 아웃바운드 트래픽을 라우팅할 수도 있습니다.

미들박스 라우팅 예제에 대해서는 미들박스 시나리오을(를) 참조하세요.

어플라이언스 고려 사항

AWS Marketplace에서 서드 파티 어플라이언스를 선택하거나 직접 어플라이언스를 구성할 수 있습니다. 어플라이언스를 생성하거나 구성할 때 다음 사항에 유의하세요.

  • 어플라이언스는 원본 또는 대상 트래픽과 별도의 서브넷에 구성되어야 합니다.

  • 어플라이언스에서 원본/대상 확인을 비활성화해야 합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서소스 또는 대상 변경 확인을 참조하십시오.

  • 어플라이언스를 통해 동일한 서브넷에 있는 호스트 간에 트래픽을 라우팅할 수 없습니다.

  • 어플라이언스는 NAT(네트워크 주소 변환)를 수행할 필요가 없습니다.

  • 로컬 경로보다 더 구체적인 경로를 라우팅 테이블에 추가할 수 있습니다. 보다 구체적인 경로를 사용하여 VPC 내의 서브넷 간의 트래픽(동서 트래픽)을 미들박스 어플라이언스로 리디렉션할 수 있습니다. 경로의 대상은 VPC에 있는 서브넷의 전체 IPv4 또는 IPv6 CIDR 블록과 일치해야 합니다.

  • IPv6 트래픽을 가로채려면 IPv6용 VPC, 서브넷 및 어플라이언스를 구성해야 합니다. 자세한 정보는 VPC 작업을 참조하십시오. 가상 프라이빗 게이트웨이는 IPv6 트래픽을 지원하지 않습니다.

게이트웨이와 어플라이언스 간 트래픽 라우팅

인바운드 VPC 트래픽을 어플라이언스로 라우팅하려면 라우팅 테이블을 인터넷 게이트웨이 또는 가상 프라이빗 게이트웨이와 연결하고 어플라이언스의 네트워크 인터페이스를 VPC 트래픽의 대상으로 지정합니다. 다음 예제에서 VPC에는 인터넷 게이트웨이, 어플라이언스 및 인스턴스가 있는 서브넷이 있습니다. 인터넷으로부터의 트래픽은 어플라이언스를 통해 라우팅됩니다.


                    어플라이언스를 통한 인바운드 트래픽 라우팅

이 라우팅 테이블을 인터넷 게이트웨이 또는 가상 프라이빗 게이트웨이와 연결합니다. 첫 번째 항목은 로컬 경로입니다. 두 번째 항목은 서브넷을 대상으로 하는 IPv4 트래픽을 어플라이언스에 대한 네트워크 인터페이스로 전송합니다. 이는 로컬 경로보다 더 구체적인 경로입니다.

대상 주소 대상
VPC CIDR 로컬
서브넷 CIDR 어플라이언스 네트워크 인터페이스 ID

또는 로컬 경로의 대상을 어플라이언스의 네트워크 인터페이스로 대체할 수 있습니다. 이렇게 하면 향후 VPC에 추가하는 서브넷으로 향하는 트래픽을 포함하여 모든 트래픽이 해당 어플라이언스로 자동 라우팅됩니다.

대상 주소 대상
VPC CIDR 어플라이언스 네트워크 인터페이스 ID

서브넷에서 다른 서브넷의 어플라이언스로 트래픽을 라우팅하려면 트래픽을 어플라이언스의 네트워크 인터페이스로 라우팅하는 라우팅을 서브넷 라우팅 테이블에 추가합니다. 대상은 로컬 라우팅의 대상보다 덜 구체적이어야 합니다. 예를 들어 인터넷으로 향하는 트래픽의 경우 대상에 대해 0.0.0.0/0(모든 IPv4 주소)을 지정합니다.

대상 주소 대상
VPC CIDR 로컬
0.0.0.0/0 어플라이언스 네트워크 인터페이스 ID

그런 다음 어플라이언스의 서브넷과 연결된 라우팅 테이블에서 트래픽을 인터넷 게이트웨이 또는 가상 프라이빗 게이트웨이로 다시 전송하는 라우팅을 추가합니다.

대상 주소 대상
VPC CIDR 로컬
0.0.0.0/0 igw-id

어플라이언스로 서브넷 간 트래픽 라우팅

특정 서브넷을 대상으로 하는 트래픽을 어플라이언스의 네트워크 인터페이스로 라우팅할 수 있습니다. 다음 예제에서 VPC는 서브넷 두 개와 어플라이언스로 구성됩니다. 서브넷 간에 트래픽은 어플라이언스를 통해 라우팅됩니다.


                    서브넷 간에 트래픽을 어플라이언스를 통해 라우팅

보안 그룹

미들박스 어플라이언스를 통해 서로 다른 서브넷에 있는 인스턴스 간에 트래픽을 라우팅하는 경우 두 인스턴스에 대한 보안 그룹에서 인스턴스 간에 트래픽이 흐르도록 허용해야 합니다. 각 인스턴스의 보안 그룹은 다른 인스턴스의 프라이빗 IP 주소 또는 다른 인스턴스가 포함된 서브넷의 CIDR 범위를 소스로 참조해야 합니다. 다른 인스턴스의 보안 그룹을 소스로 참조하면 인스턴스 간에 트래픽이 흐를 수 없습니다.

라우팅

다음은 서브넷 A에 대한 라우팅 테이블의 예제입니다. 첫 번째 항목을 사용하면 VPC 인스턴스가 서로 통신할 수 있습니다. 두 번째 항목은 서브넷 A에서 서브넷 B로의 모든 트래픽을 장치의 네트워크 인터페이스로 라우팅합니다.

대상 주소 대상
VPC CIDR 로컬
서브넷 B CIDR 어플라이언스 네트워크 인터페이스 ID

다음은 서브넷 B에 대한 라우팅 테이블의 예제입니다. 첫 번째 항목을 사용하면 VPC 인스턴스가 서로 통신할 수 있습니다. 두 번째 항목은 서브넷 B에서 서브넷 A로의 모든 트래픽을 장치의 네트워크 인터페이스로 라우팅합니다.

대상 주소 대상
VPC CIDR 로컬
서브넷 A CIDR 어플라이언스 네트워크 인터페이스 ID

또는 로컬 경로의 대상을 어플라이언스의 네트워크 인터페이스로 대체할 수 있습니다. 이렇게 하면 향후 VPC에 추가하는 서브넷으로 향하는 트래픽을 포함하여 모든 트래픽이 해당 어플라이언스로 자동 라우팅됩니다.

대상 주소 대상
VPC CIDR 어플라이언스 네트워크 인터페이스 ID

접두사 목록을 사용한 라우팅

AWS 리소스 전체에서 동일한 CIDR 블록 세트를 자주 참조하는 경우, 고객 관리형 접두사 목록을 생성하여 함께 그룹화할 수 있습니다. 그런 다음 라우팅 테이블 항목의 대상으로 접두사 목록을 지정할 수 있습니다. 나중에 라우팅 테이블을 업데이트할 필요 없이 접두사 목록에 대한 항목을 추가하거나 제거할 수 있습니다.

예를 들어, 여러 VPC 연결이 있는 전송 게이트웨이가 있습니다. VPC는 다음과 같은 CIDR 블록이 있는 두 개의 특정 VPC 연결과 통신할 수 있어야 합니다.

  • 10.0.0.0/16

  • 10.2.0.0/16

두 항목이 모두 포함된 접두사 목록을 만듭니다. 서브넷 라우팅 테이블에서 라우팅을 생성하고 접두사 목록을 대상 주소로 지정한 다음 전송 게이트웨이를 대상으로 지정합니다.

대상 주소 대상
172.31.0.0/16 로컬
pl-123abc123abc123ab tgw-id

접두사 목록의 최대 항목 수는 라우팅 테이블에 있는 항목 수와 같습니다.

Gateway Load Balancer 엔드포인트로의 라우팅

Gateway Load Balancer를 사용하면 방화벽 같은 가상 어플라이언스 플릿에 트래픽을 분산할 수 있습니다. VPC 엔드포인트 서비스 구성을 생성하여 로드 밸런서를 서비스로 구성할 수 있습니다. 그런 다음 VPC에 Gateway Load Balancer 엔드포인트를 생성하여 VPC를 서비스에 연결합니다.

트래픽을 Gateway Load Balancer로 라우팅하려면(예: 보안 검사) Gateway Load Balancer 엔드포인트를 라우팅 테이블에서 대상으로 지정합니다.

Gateway Load Balancer 뒤에 있는 보안 어플라이언스의 예제는 보안 VPC에서 어플라이언스를 사용하여 트래픽 검사를 참조하세요.

라우팅 테이블에 Gateway Load Balancer 엔드포인트를 지정하려면 VPC 엔드포인트의 ID를 사용합니다. 예를 들어 10.0.1.0/24에 대한 트래픽을 Gateway Load Balancer 엔드포인트로 라우팅하려면 다음 경로를 추가합니다.

대상 주소 대상
10.0.1.0/24 vpc-endpoint-id

자세한 내용은 Gatewawy Load Balancers를 참조하세요.