서브넷 라우팅 테이블 - Amazon Virtual Private Cloud

서브넷 라우팅 테이블

VPC에는 암시적 라우터가 있으며 라우팅 테이블을 사용하여 네트워크 트래픽이 전달되는 위치를 제어합니다. VPC의 각 서브넷을 라우팅 테이블에 연결해야 합니다. 테이블에서는 서브넷에 대한 라우팅을 제어합니다(서브넷 라우팅 테이블). 서브넷을 특정 라우팅 테이블과 명시적으로 연결할 수 있습니다. 그렇지 않으면 서브넷이 기본 라우팅 테이블과 암시적으로 연결됩니다. 서브넷은 한 번에 하나의 라우팅 테이블에만 연결할 수 있지만 여러 서브넷을 동일한 서브넷 라우팅 테이블에 연결할 수 있습니다.

경로

테이블의 각 라우팅은 목적지 및 대상을 지정합니다. 예를 들어 서브넷이 인터넷 게이트웨이를 통해 인터넷에 액세스할 수 있도록 하려면 서브넷 라우팅 테이블에 다음 라우팅을 추가합니다. 라우팅의 대상은 모든 IPv4 주소를 나타내는 0.0.0.0/0입니다. 대상은 VPC에 연결된 인터넷 게이트웨이입니다.

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

IPv4 및 IPv6 CIDR 블록은 별도로 취급됩니다. 예를 들어 대상 CIDR이 0.0.0.0/0인 라우팅에는 모든 IPv6 주소가 자동으로 포함되지 않습니다. 모든 IPv6 주소에 대해 대상 CIDR이 ::/0인 라우팅을 생성해야 합니다.

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

모든 라우팅 테이블에는 VPC 내부 통신을 위한 로컬 라우팅이 포함되어 있습니다. 이 라우팅은 기본적으로 모든 라우팅 테이블에 추가됩니다. VPC에 하나 이상의 IPv4 CIDR블록이 연결되어 있는 경우, 라우팅 테이블에 각 IPv4 CIDR 블록의 로컬 경로가 포함됩니다. IPv6 CIDR 블록을 VPC와 연결한 경우, 라우팅 테이블에 IPv6 CIDR 블록의 로컬 경로가 포함됩니다. 필요에 따라 각 로컬 라우팅의 대상을 교체하거나 복원할 수 있습니다.

규칙 및 고려 사항
  • 로컬 경로보다 더 구체적인 경로를 라우팅 테이블에 추가할 수 있습니다. 대상은 VPC에 있는 서브넷의 전체 IPv4 또는 IPv6 CIDR 블록과 일치해야 합니다. 대상은 NAT 게이트웨이, 네트워크 인터페이스 또는 게이트웨이 Load Balancer 엔드포인트여야 합니다.

  • 라우팅 테이블에 라우팅이 여러 개 있는 경우 트래픽과 일치하는 가장 구체적인 라우팅(가장 긴 접두사 일치)을 사용하여 트래픽의 라우팅 방법을 결정합니다.

  • 정확히 일치하거나 169.254.168.0/22 범위의 하위 세트인 IPv4 주소에는 경로를 추가할 수 없습니다. 이 범위는 링크 로컬 주소 공간 내에 있으며 AWS 서비스에서 사용하도록 예약되어 있습니다. 예를 들어 Amazon EC2는 인스턴스 메타데이터 서비스(IMDS) 및 Amazon DNS 서버와 같이 EC2 인스턴스에서만 액세스할 수 있는 서비스에 대해 이 범위의 주소를 사용합니다. 169.254.168.0/22보다 크지만 겹치는 CIDR 블록을 사용할 수 있지만 169.254.168.0/22의 주소로 향하는 패킷은 전달되지 않습니다.

  • 정확히 일치하거나 fd00:ec2::/32 범위의 하위 세트인 IPv6 주소에는 경로를 추가할 수 없습니다. 이 범위는 고유 로컬 주소(ULA) 공간 내에 있으며 AWS 서비스에서 사용하도록 예약되어 있습니다. 예를 들어 Amazon EC2는 인스턴스 메타데이터 서비스(IMDS) 및 Amazon DNS 서버와 같이 EC2 인스턴스에서만 액세스할 수 있는 서비스에 대해 이 범위의 주소를 사용합니다. fd00:ec2::/32보다 크지만 겹치는 CIDR 블록을 사용할 수 있지만 fd00:ec2::/32의 주소로 향하는 패킷은 전달되지 않습니다.

  • VPC에 대한 라우팅 경로에 미들박스 어플라이언스를 추가할 수 있습니다. 자세한 내용은 미들박스 어플라이언스에 대한 라우팅 단원을 참조하십시오.

예제

다음 예제에서 VPC에는 IPv4 CIDR 블록 및 IPv6 CIDR 블록이 모두 있다고 가정합니다. IPv4 및 IPv6 트래픽은 다음 라우팅 테이블에 표시된 것처럼 별도로 처리됩니다.

대상 주소 대상
10.0.0.0/16 Local
2001:db8:1234:1a00::/56 Local
172.31.0.0/16 pcx-11223344556677889
0.0.0.0/0 igw-12345678901234567
::/0 eigw-aabbccddee1122334
  • VPC(10.0.0.0/16) 내에서 라우팅되는 IPv4 트래픽은 Local 경로로 처리됩니다.

  • VPC(2001:db8:1234:1a00::/56) 내에서 라우팅되는 IPv6 트래픽은 Local 경로로 처리됩니다.

  • 172.31.0.0/16의 경로는 피어링 연결로 트래픽을 전송합니다.

  • 모든 IPv4 트래픽(0.0.0.0/0)의 경로는 인터넷 게이트웨이로 트래픽을 전송합니다. 따라서 VPC 내 그리고 피어링 연결을 통한 트래픽을 제외한 모든 IPv4 트래픽은 인터넷 게이트웨이로 라우팅됩니다.

  • 모든 IPv6 트래픽(::/0)의 경로는 외부 전용 인터넷 게이트웨이로 트래픽을 전송합니다. 따라서 VPC 내 트래픽을 제외한 모든 IPv6 트래픽은 외부 전용 인터넷 게이트웨이로 라우팅됩니다.

기본 라우팅 테이블

VPC를 만들면 기본 라우팅 테이블이 자동으로 생성됩니다. 서브넷이 라우팅 테이블과 명시적으로 연결되지 않은 경우 서브넷은 기본 라우팅 테이블이 기본적으로 사용됩니다. Amazon VPC 콘솔에서 라우팅 테이블(Route tables) 페이지의 기본(Main) 열에서 예(Yes)를 찾으면 VPC에 대한 기본 라우팅 테이블을 볼 수 있습니다.

기본적으로 기본이 아닌 VPC를 만들면 기본 라우팅 테이블에는 로컬 라우팅만 포함됩니다. 만약NAT 게이트웨이를 VPC 생성 및 선택하면 Amazon VPC가 게이트웨이의 기본 라우팅 테이블에 경로를 자동으로 추가합니다.

기본 라우팅 테이블에는 다음 규칙이 적용됩니다.

  • 기본 라우팅 테이블에서 라우팅을 추가 및 제거하고 수정할 수 있습니다.

  • 기본 라우팅 테이블은 삭제할 수 없습니다.

  • 게이트웨이 라우팅 테이블은 기본 라우팅 테이블로 설정할 수 없습니다.

  • 사용자 지정 라우팅 테이블을 서브넷에 연결하여 기본 라우팅 테이블을 대체할 수 있습니다.

  • 서브넷이 기본 라우팅 테이블에 명시적으로 연결되어 있지 않을 경우에도 서브넷을 기본 라우팅에 명시적으로 연결할 수 있습니다.

    기본 라우팅 테이블을 변경하면 이를 수행할 수 있습니다. 기본 라우팅 테이블을 변경하면 추가되는 새로운 서브넷 또는 다른 라우팅 테이블에 명시적으로 연결되지 않은 서브넷의 기본값도 변경됩니다. 자세한 내용은 기본 라우팅 테이블 교체 단원을 참조하십시오.

사용자 지정 라우팅 테이블

기본적으로 라우팅 테이블에는 VPC 내부 통신을 위한 로컬 라우팅이 포함되어 있습니다. 만약 퍼블릭 서브넷을 VPC 생성 및 선택하면 Amazon VPC는 사용자 지정 라우팅 테이블을 만들고 인터넷 게이트웨이를 가리키는 경로를 추가합니다. VPC를 보호하는 한 가지 방법은 기본 라우팅 테이블을 원래 기본 상태로 두는 것입니다. 그런 다음 생성한 각 새 서브넷을 생성한 사용자 지정 라우팅 테이블 중 하나에 명시적으로 연결합니다. 이렇게 하면 각 서브넷이 트래픽으로 어떻게 라우팅되는지를 명시적으로 제어할 수 있습니다.

기본 라우팅 테이블에서 라우팅을 추가 및 제거하고 수정할 수 있습니다. 사용자 지정 라우팅 테이블에 연결이 없는 경우에만 삭제할 수 있습니다.

서브넷 라우팅 테이블 연결

VPC에 있는 각 서브넷을 라우팅 테이블과 연결해야 합니다. 서브넷은 사용자 지정 라우팅 테이블과 명시적으로 연결되거나 기본 라우팅 테이블과 암시적 또는 명시적으로 연결될 수 있습니다. 서브넷 및 라우팅 테이블 연결 보기에 대한 자세한 내용은 명시적으로 연결되어 있는 서브넷 또는 게이트웨이 확인를 참조하십시오.

Outposts와 연결된 VPC에 있는 서브넷은 로컬 게이트웨이의 추가 대상 유형을 가질 수 있습니다. 이 점이 Outposts가 아닌 서브넷과의 유일한 라우팅 차이점입니다.

예제 1: 암시적/명시적 서브넷 연결

다음 다이어그램에서는 인터넷 게이트웨이, 가상 프라이빗 게이트웨이, 퍼블릭 서브넷 및 VPN 전용 서브넷이 있는 VPC의 라우팅을 보여줍니다.

기본 라우팅 테이블과 연결된 프라이빗 서브넷 및 사용자 지정 라우팅 테이블이 있는 퍼블릭 서브넷의 다이어그램

라우팅 테이블 A는 퍼블릭 서브넷과 명시적으로 연결되는 사용자 지정 라우팅 테이블입니다. 이 서브넷은 모든 트래픽을 인터넷 게이트웨이로 보내는 경로가 있기 때문에 퍼블릭 서브넷이 됩니다.

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

라우팅 테이블 B는 기본 라우팅 테이블입니다. 프라이빗 서브넷과는 묵시적으로 연결됩니다. 이 서브넷은 모든 트래픽을 가상 프라이빗 게이트웨이로 보내는 경로는 있지만 인터넷 게이트웨이로 보내는 경로는 없기 때문에 VPN 전용 서브넷이 됩니다. 이 VPC에 다른 서브넷을 만들고 사용자 지정 라우팅 테이블에 연결하지 않으면, 서브넷은 기본 라우팅 테이블인 이 라우팅 테이블과도 묵시적으로 연결됩니다.

대상 주소 대상
VPC CIDR 로컬
0.0.0.0/0 vgw-id
예제 2: 기본 라우팅 테이블 바꾸기

기본 라우팅 테이블을 변경할 수 있습니다. 트래픽 중단을 방지하려면 먼저 사용자 지정 라우팅 테이블을 사용하여 라우팅 변경을 테스트하는 것이 좋습니다. 테스트 결과에 만족하면 기본 라우팅 테이블을 새로운 사용자 지정 테이블로 바꿉니다.

다음 구성도는 서브넷 2개와 라우팅 테이블 2개를 보여 줍니다. 서브넷 A는 기본 라우팅 테이블인 라우팅 테이블 A와 묵시적으로 연결되어 있습니다. 서브넷 B는 라우팅 테이블 A와 묵시적으로 연결되어 있습니다. 사용자 지정 라우팅 테이블인 라우팅 테이블 B는 어느 서브넷과도 연결되어 있지 않습니다.

기본 라우팅 테이블인 라우팅 테이블 A와 묵시적으로 연결된 두 서브넷.

기본 라우팅 테이블을 교체하려면 먼저 서브넷 B와 라우팅 테이블 B 간에 명시적 연결을 만듭니다. 라우팅 테이블 B를 테스트합니다.

서브넷 B는 이제 사용자 지정 라우팅 테이블인 라우팅 테이블 B에 명시적으로 연결됩니다.

라우팅 테이블 B를 테스트한 후, 이 테이블을 기본 라우팅 테이블로 만듭니다. 서브넷 B는 여전히 라우팅 테이블 B와 명시적으로 연결되어 있습니다. 단, 라우팅 테이블 B가 이제 새로운 기본 라우팅 테이블이기 때문에 서브넷 A는 라우팅 테이블 B와 묵시적으로 연결됩니다. 라우팅 테이블 A는 더 이상 어느 서브넷과도 연결되지 않습니다.

기본 라우팅 테이블 B와 연결된 서브넷 A 및 라우팅 테이블 B와 연결된 서브넷 B의 다이어그램

(선택) 서브넷 B를 라우팅 테이블 B와의 연결에서 해제해도 서브넷 B와 라우팅 테이블 B의 묵시적 연결은 유지됩니다. 라우팅 테이블 A가 더 이상 필요하지 않은 경우 삭제할 수 있습니다.

두 서브넷 모두 라우팅 테이블 B와 묵시적으로 연결됩니다.