Azure에서 트래픽을 Azure, 온-프레미스 및 인터넷 리소스간에 라우팅하는 방법에 대해 알아봅니다. Azure는 Azure 가상 네트워크 내의 각 서브넷에 대한 경로 테이블을 자동으로 만들고 시스템 기본 경로를 테이블에 추가합니다. 가상 네트워크 및 서브넷에 대한 자세한 내용은 가상 네트워크 개요를 참조하세요. Azure의 시스템 경로 중 일부는 사용자 지정 경로로 재정의하고 사용자 지정 경로를 경로 테이블에 추가할 수 있습니다. Azure는 서브넷의 경로 테이블에 있는 경로에 따라 서브넷에서 아웃바운드 트래픽을 라우팅합니다.
시스템 경로
Azure는 시스템 경로를 자동으로 만들고 가상 네트워크의 각 서브넷에 경로를 할당합니다. 시스템 경로를 만들거나 시스템 경로를 제거할 수는 없지만 사용자 지정 경로를 사용하여 일부 시스템 경로를 재정의할 수 있습니다. Azure는 각 서브넷에 대한 기본 시스템 경로를 만들고, 특정 Azure 기능을 사용하는 경우, 특정 서브넷 또는 모든 서브넷에 대한 선택적 기본 경로를 추가합니다.
기본값
각 경로에는 주소 접두사와 다음 홉 유형이 포함되어 있습니다. 서브넷에서 나가는 트래픽을 경로의 주소 접두사에 있는 IP 주소로 보낼 때 접두사가 포함된 경로가 Azure에서 사용하는 경로입니다. 여러 경로에 동일한 접두사 또는 겹치는 접두사가 있는 경우 Azure에서 경로를 선택하는 방법에 대해 자세히 알아봅니다. 가상 네트워크를 만들 때마다 Azure에서 가상 네트워크 내의 각 서브넷에 대해 다음과 같은 기본 시스템 경로를 자동으로 만듭니다.
기본값 | 가상 네트워크에서 고유한 접두사 | 가상 네트워크 |
기본값 | 0.0.0.0/0 | 인터넷 |
기본값 | 10.0.0.0/8 | 없음 |
기본값 | 172.16.0.0/12 | 없음 |
기본값 | 192.168.0.0/16 | 없음 |
기본값 | 100.64.0.0/10 | 없음 |
이전 표에서 나열된 다음 홉 유형은 Azure에서 나열된 주소 접두사로 향하는 트래픽을 라우팅하는 방법을 나타냅니다. 다음 홉 유형에 대한 설명은 다음과 같습니다.
- 가상 네트워크: 가상 네트워크의 주소 공간에 속한 주소 범위 간에 트래픽을 라우팅합니다. Azure는 가상 네트워크의 주소 공간 내에 정의된 각 주소 범위에 해당하는 주소 접두사가 포함된 경로를 만듭니다. 정의된 여러 개의 주소 범위가 가상 네트워크 주소 공간에 있는 경우 Azure는 각 주소 범위에 대한 개별 경로를 만듭니다. 기본적으로 Azure는 서브넷 간에 트래픽을 라우팅합니다. 서브넷 간에 트래픽을 라우팅하기 위해 Azure에 대한 경로 테이블 또는 게이트웨이를 정의할 필요가 없습니다. 가상 네트워크에 서브넷이 있고 각 서브넷에 주소 범위가 정의되어 있지만 Azure는 서브넷 주소 범위에 대한 기본 경로를 만들지 않습니다. 각 서브넷 주소 범위는 가상 네트워크 주소 공간의 주소 범위 내에 있습니다.
- 인터넷: 주소 접두사로 지정된 트래픽을 인터넷으로 라우팅합니다. 시스템 기본 경로에는 0.0.0.0/0 주소 접두사가 지정됩니다. Azure의 기본 경로를 재정의하지 않는 경우 Azure는 가상 네트워크의 주소 범위에 지정되지 않은 주소에 대한 트래픽을 인터넷으로 라우팅합니다. 이 라우팅에는 한 가지 예외가 있습니다. 대상 주소가 Azure 서비스 중 하나에 대한 주소인 경우 Azure는 트래픽을 인터넷으로 라우팅하지 않고 Azure의 백본 네트워크를 통해 트래픽을 해당 서비스로 직접 라우팅합니다. Azure 서비스 간 트래픽은 가상 네트워크가 있는 Azure 지역 또는 Azure 서비스 인스턴스가 배포된 Azure 지역과 관계없이 인터넷을 거치지 않습니다. 0\.0.0.0/0 주소 접두사에 대한 Azure의 기본 시스템 경로는 사용자 지정 경로로 재정의할 수 있습니다.
- 없음: 트래픽 중 없음 다음 홉 유형으로 라우팅된 트래픽은 서브넷 외부로 라우팅되지 않고 삭제됩니다. Azure는 다음 주소 접두사에 대한 기본 경로를 자동으로 만듭니다.
- 10.0.0.0/8, 172.16.0.0/12 및 192.168.0.0/16: RFC 1918에서 프라이빗용으로 예약되어 있습니다.
- 100.64.0.0/10: RFC 6598에서 예약되어 있습니다.
선택적 기본 경로
Azure는 다른 Azure 기능에 대한 더 많은 기본 시스템 경로를 추가하지만, 해당 기능을 사용하는 경우에만 추가합니다. 기능에 따라 Azure는 가상 네트워크 내의 특정 서브넷 또는 모든 서브넷에 선택적 기본 경로를 추가합니다. Azure에서 다른 기능을 사용할 때 추가할 수 있는 다른 시스템 경로 및 다음 홉 유형은 다음과 같습니다.
기본값 | 가상 네트워크에서 고유한 접두사 - 예: 10.1.0.0/16 | VNet 피어링 | 모두 |
가상 네트워크 게이트웨이 | 온-프레미스에서 BGP를 통해 보급되거나 로컬 네트워크 게이트웨이에 구성된 접두사 | 가상 네트워크 게이트웨이 | 모두 |
기본값 | 여러 접두사 | VirtualNetworkServiceEndpoint | 서비스 엔드포인트를 사용하도록 설정된 서브넷만 |
- VNet(가상 네트워크) 피어링: 두 가상 네트워크 간에 가상 네트워크 피어링을 만드는 경우 피어링과 관련된 각 가상 네트워크의 주소 공간 내의 각 주소 범위에 대한 경로가 추가됩니다. 가상 네트워크 피어링에 대해 자세히 알아보세요.
- 가상 네트워크 게이트웨이: 가상 네트워크 게이트웨이가 가상 네트워크에 추가되면 다음 홉 유형으로 나열되는 가상 네트워크 게이트웨이가 포함된 하나 이상의 경로가 추가됩니다. 게이트웨이에서 서브넷에 경로를 추가하기 때문에 원본도 가상 네트워크 게이트웨이입니다. 온-프레미스 네트워크 게이트웨이에서 가상 네트워크 게이트웨이와 BGP(Border Gateway Protocol) 경로를 교환하는 경우 각 경로에 대한 경로가 추가됩니다. 이러한 경로는 온-프레미스 네트워크 게이트웨이에서 전파됩니다. 가능한 가장 큰 주소 범위로 온-프레미스 경로를 요약하는 것이 가장 좋으므로 가장 적은 수의 경로를 Azure 가상 네트워크 게이트웨이로 전파합니다. Azure 가상 네트워크 게이트웨이에 전파할 수 있는 경로의 수에는 제한이 있습니다. 자세한 내용은 Azure 제한을 참조하세요.
- VirtualNetworkServiceEndpoint: 서비스에 서비스 엔드포인트를 사용하도록 설정하면 Azure는 특정 서비스에 대한 공용 IP 주소를 경로 테이블에 추가합니다. 서비스 엔드포인트는 가상 네트워크 내의 개별 서브넷에서 사용하도록 설정되므로 서비스 엔드포인트를 사용하도록 설정된 서브넷의 경로 테이블에만 경로가 추가됩니다. Azure 서비스의 공용 IP 주소는 주기적으로 변경됩니다. 주소가 변경되면 Azure는 자동으로 경로 테이블의 주소를 관리합니다. 가상 네트워크 서비스 엔드포인트 및 만드는 서비스 엔드포인트의 대상이 될 수 있는 서비스에 대해 자세히 알아보세요.
- 참고
- VNet 피어링 및 VirtualNetworkServiceEndpoint 다음 홉 유형은 Azure Resource Manager 배포 모델을 통해 만든 가상 네트워크에 속한 서브넷의 경로 테이블에만 추가됩니다. 클래식 배포 모델을 통해 만든 가상 네트워크 서브넷에 연결되는 경로 테이블에는 다음 홉 유형이 추가되지 않습니다. Azure 배포 모델에 대해 자세히 알아보세요.
사용자 지정 경로
사용자 정의 경로를 생성하거나 온-프레미스 네트워크 게이트웨이와 Azure 가상 네트워크 게이트웨이 간에 경계 게이트웨이 프로토콜(BGP) 경로를 교환하여 사용자 지정 경로를 만듭니다.
사용자 정의
트래픽 경로를 사용자 지정하려면 기본 경로를 수정하면 안 되지만 Azure의 기본 시스템 경로를 재정의하는 사용자 지정 또는 사용자 정의(정적) 경로를 만들어야 합니다. Azure에서 경로 테이블을 만든 다음 경로 테이블을 0개 이상의 가상 네트워크 서브넷에 연결합니다. 각 서브넷에는 0 또는 하나의 경로 테이블이 연결될 수 있습니다. 경로 테이블에 추가할 수 있는 최대 경로 수와 Azure 구독당 만들 수 있는 사용자 정의 경로 테이블의 최대 수에 대한 자세한 내용은 Azure 제한을 참조하세요. 경로 테이블을 만들고 서브넷에 연결할 때, 테이블의 경로는 서브넷의 기본 경로와 연결됩니다. 충돌하는 경로 할당이 있는 경우 사용자 정의 경로가 기본 경로를 재정의합니다.
사용자 정의 경로를 만들 때 지정할 수 있는 다음 홉 유형은 다음과 같습니다.
- 가상 어플라이언스: 가상 어플라이언스는 주로 방화벽 같은 네트워크 애플리케이션을 실행하는 가상 머신입니다. 가상 네트워크에 배포할 수 있는 미리 구성된 다양한 네트워크 가상 어플라이언스에 대한 자세한 내용은 Azure Marketplace를 참조하세요. 가상 어플라이언스 홉 유형으로 경로를 만들 때 다음 홉 IP 주소도 지정합니다. IP 주소는 다음과 같습니다.
- 가상 머신에 연결된 네트워크 인터페이스의 개인 IP 주소. 네트워크 트래픽을 자체 주소가 아닌 다른 주소로 전달하는 가상 머신에 연결된 모든 네트워크 인터페이스에는 Azure IP 전달 사용 옵션이 설정되어 있어야 합니다. 이 설정은 Azure에서 네트워크 인터페이스에 대한 원본과 대상을 확인하지 않도록 합니다. 네트워크 인터페이스에 대한 IP 전달 사용을 설정하는 방법에 대해 자세히 알아보세요. IP 전달 사용이 Azure 설정이지만 Azure 네트워크 인터페이스에 할당된 개인 IP 주소 간에 트래픽을 전달하도록 어플라이언스에 대한 가상 머신의 운영 체제 내에서 IP 전달을 사용하도록 설정해야 할 수도 있습니다. 어플라이언스가 트래픽을 공용 IP 주소로 라우팅해야 하는 경우 트래픽을 프록시하거나 원본의 개인 IP 주소에서 자체 개인 IP 주소로 NAT(네트워크 주소 변환)를 수행해야 합니다. 그런 다음, Azure는 인터넷으로 트래픽을 보내기 전에 공용 IP 주소로 NAT를 수행합니다. 가상 머신 내에서 필요한 설정을 확인하려면 운영 체제 또는 네트워크 애플리케이션의 설명서를 참조하세요. Azure에서 아웃바운드 연결을 이해하려면 아웃바운드 연결 이해를 참조하세요.
- 참고다음 홉 개인 IP 주소는 ExpressRoute 게이트웨이나 Virtual WAN을 통해 라우팅할 필요 없이 직접 연결되어야 합니다. 다음 홉을 직접 연결되지 않은 IP 주소로 설정하면 잘못된 사용자 정의 라우팅 구성이 발생합니다.
- 가상 어플라이언스를 통해 라우팅되는 리소스와 다른 서브넷에 가상 어플라이언스를 배포합니다. 가상 어플라이언스를 동일한 서브넷에 배포한 다음 가상 어플라이언스를 통해 트래픽을 라우팅하는 서브넷에 경로 테이블을 적용하면 트래픽이 서브넷에서 나가지 않는 라우팅 루프가 발생할 수 있습니다.
- Azure 내부 부하 분산 장치의 개인 IP 주소. 부하 분산 장치는 종종 네트워크 가상 어플라이언스에 대한 고가용성 전략의 일부로 사용됩니다.
- 가상 네트워크 게이트웨이: 가상 네트워크 게이트웨이로 라우팅되는 특정 주소 접두사로 향하는 트래픽을 원하는 시점을 지정합니다. 가상 네트워크 게이트웨이는 VPN 유형으로 만들어야 합니다. ExpressRoute를 통해 사용자 지정 경로에 BGP를 사용해야 하므로, 사용자 정의 경로에서 ExpressRoute 유형으로 만든 가상 네트워크 게이트웨이를 지정할 수 없습니다. 함께 사용하는 VPN 및 ExpressRoute 연결이 있는 경우에는 가상 네트워크 게이트웨이를 지정할 수 없습니다. 0.0.0.0/0 주소 접두사로 전송되는 트래픽을 경로 기반 가상 네트워크 게이트웨이로 보내는 경로를 정의할 수 있습니다. 온-프레미스에서 트래픽을 검사하고 트래픽을 전달하거나 삭제할지 여부를 결정하는 디바이스가 있을 수 있습니다. 0.0.0.0/0 주소 접두사에 대한 사용자 정의 경로를 만들려면 먼저 0.0.0.0/0 주소 접두사를 참조하세요. VPN 가상 네트워크 게이트웨이에 BGP를 사용하도록 설정한 경우, 0.0.0.0/0 주소 접두사에 대한 사용자 정의 경로를 구성하는 대신 0.0.0.0/0 접두사가 포함된 경로를 BGP를 통해 보급할 수 있습니다.
- 없음: 대상에 트래픽을 전달하는 대신 주소 접두사로 트래픽을 삭제하려는 경우를 지정합니다. 기능을 완전히 구성하지 않은 경우 Azure는 일부 선택적 시스템 경로에 대해 없음을 나열할 수 있습니다. 예를 들어 없음이 가상 네트워크 게이트웨이 또는 가상 어플라이언스의 다음 홉 유형이 있는 다음 홉 IP 주소로 나열되면 디바이스가 실행되고 있지 않거나 완전히 구성되지 않았기 때문일 수 있습니다. Azure는 다음 홉 유형으로 없음이 있는 예약된 주소 접두사에 대한 시스템 기본 경로를 만듭니다.
- 가상 네트워크: 가상 네트워크 내의 기본 라우팅을 재정의하려는 경우 가상 네트워크 옵션을 지정합니다. 가상 네트워크 홉 유형이 포함된 경로를 만들 수 있는 이유에 대한 예는 라우팅 예를 참조하세요.
- 인터넷: 명시적으로 주소 접두사로 향하는 트래픽을 인터넷으로 라우팅하려는 경우 또는 Azure 백본 네트워크 내에서 유지하는 공용 IP 주소가 있는 Azure 서비스로 향하는 트래픽을 원하는 경우 인터넷 옵션을 지정합니다.
사용자 정의 경로에서는 가상 네트워크 피어링 또는 VirtualNetworkServiceEndpoint를 다음 홉 유형으로 지정할 수 없습니다. 가상 네트워크 피어링 또는 VirtualNetworkServiceEndpoint 다음 홉 유형이 있는 경로는 가상 네트워크 피어링 또는 서비스 엔드포인트를 구성할 때 Azure에서 만듭니다.
사용자 정의 경로의 서비스 태그
이제 명시적 IP 범위 대신 사용자 정의 경로의 주소 접두사로 서비스 태그를 지정할 수 있습니다. 서비스 태그는 지정된 Azure 서비스의 IP 주소 접두사 그룹을 나타냅니다. Microsoft는 서비스 태그에 포함된 주소 접두사를 관리하고 주소가 변경되면 서비스 태그를 자동으로 업데이트합니다. 따라서 사용자 정의 경로를 자주 업데이트할 때 발생하는 복잡성이 최소화되고 만들어야 하는 경로 수가 감소합니다. 현재 각 경로 테이블에서 서비스 태그를 사용하여 25개 이하의 경로를 만들 수 있습니다. 이 릴리스에서는 컨테이너에 대한 라우팅 시나리오에서 서비스 태그를 사용하는 것도 지원됩니다.
정확하게 일치
명시적 IP 접두사가 있는 경로와 서비스 태그가 있는 경로 사이에 정확한 접두사 일치가 있으면 명시적 접두사가 있는 경로에 우선 순위가 부여됩니다. 서비스 태그가 있는 여러 경로에 일치하는 IP 접두사가 있으면 경로는 다음 순서로 평가됩니다.
- 지역 태그(예: Storage.EastUS, AppService.AustraliaCentral)
- 최상위 태그(예: Storage, AppService)
- AzureCloud 지역 태그(예: AzureCloud.canadacentral, AzureCloud.eastasia)
- AzureCloud 태그
이 기능을 사용하려면 경로 테이블 명령에 주소 접두사 매개 변수의 서비스 태그 이름을 지정합니다. 예를 들어 PowerShell에서 다음을 사용하여 Azure Storage IP 접두사로 직접 전송된 트래픽을 가상 어플라이언스로 보내도록 새 경로를 만들 수 있습니다.
$param = @{
Name = 'StorageRoute'
AddressPrefix = 'Storage'
NextHopType = 'VirtualAppliance'
NextHopIpAddress = '10.0.100.4'
}
New-AzRouteConfig @param
CLI에 대한 동일한 명령은 다음과 같습니다.
az network route-table route create \
--resource-group MyResourceGroup \
--route-table-name MyRouteTable \
--name StorageRoute \
--address-prefix Storage \
--next-hop-type VirtualAppliance \
--next-hop-ip-address 10.0.100.4
Azure 도구 간의 다음 홉 유형
다음 홉 유형에 대해 표시되고 참조되는 이름은 Azure Portal 및 명령줄 도구와 Azure Resource Manager 및 클래식 배포 모델 간에 다릅니다. 다음 표에서는 서로 다른 도구 및 배포 모델에서 각각의 다음 홉 유형을 참조하는 데 사용되는 이름을 나열하고 있습니다.
가상 네트워크 게이트웨이 | VirtualNetworkGateway | VPNGateway |
가상 네트워크 | VNetLocal | VNETLocal(서비스 관리 모드의 클래식 CLI에서는 사용할 수 없음) |
인터넷 | 인터넷 | 인터넷(서비스 관리 모드의 클래식 CLI에서는 사용할 수 없음) |
가상 어플라이언스 | VirtualAppliance | VirtualAppliance |
없음 | 없음 | Null(서비스 관리 모드의 클래식 CLI에서는 사용할 수 없음) |
가상 네트워크 피어링 | VNet 피어링 | 해당 없음 |
가상 네트워크 서비스 엔드포인트 | VirtualNetworkServiceEndpoint | 해당 없음 |
Border Gateway Protocol
온-프레미스 네트워크 게이트웨이는 BGP(Border Gateway Protocol)를 사용하여 Azure 가상 네트워크 게이트웨이와 경로를 교환할 수 있습니다. Azure 가상 네트워크 게이트웨이에서 BGP를 사용하는 것은 게이트웨이를 만들 때 선택한 유형에 따라 다릅니다.
- ExpressRoute: Microsoft Edge 라우터에 온-프레미스 경로를 보급하려면 BGP를 사용해야 합니다. ExpressRoute 유형으로 배포된 가상 네트워크 게이트웨이를 배포하는 경우 ExpressRoute 가상 네트워크 게이트웨이로 트래픽을 강제하기 위해 사용자 정의 경로를 만들 수 없습니다. 예를 들어 사용자 정의 경로를 사용하여 Express Route에서 네트워크 가상 어플라이언스로 트래픽을 강제로 라우팅할 수 있습니다.
- VPN: 필요에 따라 BGP를 사용할 수 있습니다. 자세한 내용은 사이트 간 VPN 연결에서 BGP 사용을 참조하세요.
BGP를 사용하여 Azure와 경로를 교환하면 보급된 각 접두사에 대한 별도의 경로가 가상 네트워크에 있는 모든 서브넷의 경로 테이블에 추가됩니다. 원본 및 다음 홉 유형으로 나열되는 가상 네트워크 게이트웨이가 포함된 경로가 추가됩니다.
경로 테이블의 속성을 사용하는 서브넷에서 ER 및 VPN Gateway 경로 전파를 비활성화할 수 있습니다. 경로 전파의 사용을 비활성화할 경우에는 가상 네트워크 게이트웨이 경로 전파가 사용하지 않도록 설정된 모든 서브넷의 경로 테이블에 경로가 추가되지 않습니다. 해당 프로세스는 정적 경로와 BGP 경로 모두에 적용됩니다. VPN 연결을 통한 연결 기능은 다음 홉 형식의 가상 네트워크 게이트웨이와 사용자 지정 경로를 사용하여 구현됩니다. GatewaySubnet에서 경로 전파를 사용하지 않도록 설정하면 안 됩니다. 게이트웨이가 이 설정이 해제된 상태에서는 작동하지 않습니다. 자세한 내용은 가상 네트워크 게이트웨이 경로 전파를 사용 안 함으로 설정하는 방법을 참조하세요.
Azure에서 경로를 선택하는 방법
서브넷에서 아웃바운드 트래픽을 보내면 Azure에서 가장 긴 접두사 일치 알고리즘을 사용하여 대상 IP 주소에 기반한 경로를 선택합니다. 예를 들어 경로 테이블에는 두 개의 경로가 있습니다. 한 경로에는 10.0.0.0/24 주소 접두사가, 다른 한 경로에는 10.0.0.0/16 주소 접두사가 지정되어 있습니다. Azure는 10.0.0.5로 향하는 트래픽을 10.0.0.0/24 주소 접두사가 포함된 경로에 지정된 다음 홉 유형으로 전달합니다. 이 프로세스는 10.0.0.5가 두 주소 접두사 모두에 속하더라도 10.0.0.0/24가 10.0.0.0/16보다 긴 접두사이기 때문에 발생합니다. Azure는 10.0.1.5로 향하는 트래픽을 10.0.0.0/16 주소 접두사를 사용하여 경로에 지정된 다음 홉 유형으로 전달합니다. 이 프로세스는 10.0.1.5가 10.0.0.0/24 주소 접두사에 포함되지 않아 10.0.0.0/16 주소 접두사가 포함된 경로가 가장 긴 일치 접두사가 되기 때문에 발생합니다.
여러 경로에 동일한 주소 접두사가 있는 경우 Azure는 다음 우선 순위에 따라 경로 유형을 선택합니다.
- 사용자 정의 경로
- BGP 경로
- 시스템 경로
참고
BGP 경로가 더 구체적인 경우에도, 가상 네트워크, 가상 네트워크 피어링 또는 가상 네트워크 서비스 엔드포인트와 관련된 트래픽에 대한 시스템 경로가 기본 경로입니다.
예를 들어 경로 테이블에는 다음 경로가 포함되어 있습니다.
기본값 | 0.0.0.0/0 | 인터넷 |
사용자 | 0.0.0.0/0 | 가상 네트워크 게이트웨이 |
트래픽이 경로 테이블에 속한 다른 경로의 주소 접두사 외부에 있는 IP 주소로 향하는 경우 사용자 정의 경로가 시스템 기본 경로보다 우선 순위가 높으므로 Azure는 사용자 원본 경로를 선택합니다.
테이블의 경로에 대한 설명이 포함된 포괄적인 경로 테이블은 라우팅 예를 참조하세요.
0.0.0.0/0 주소 접두사
0.0.0.0/0 주소 접두사를 사용하는 경로는 Azure에 명령을 제공합니다. Azure는 이러한 명령을 사용하여 서브넷 경로 테이블에 있는 다른 경로의 주소 접두사에 속하지 않는 IP 주소로 향하는 트래픽을 라우팅합니다. 서브넷을 만들 때 Azure는 인터넷 다음 홉 유형과 함께 0.0.0.0/0 주소 접두사에 대한 기본 경로를 만듭니다. 이 경로를 재정의하지 않으면 Azure는 다른 경로의 주소 접두사에 포함되지 않은 IP 주소로 향하는 모든 트래픽을 인터넷으로 라우팅합니다. 예외적으로 Azure 서비스의 공용 IP 주소에 대한 트래픽은 Azure 백본 네트워크에 남아 있으며 인터넷으로 라우팅되지 않습니다. 이 경로를 사용자 지정 경로로 재정의하면 경로 테이블에 있는 다른 경로의 주소 접두사 내에 없는 주소로 향하는 트래픽이 전달됩니다. 대상은 사용자 지정 경로에 네트워크 가상 어플라이언스를 지정하는지, 아니면 가상 네트워크 게이트웨이를 지정하는지에 따라 달라집니다.
0.0.0.0/0 주소 접두사를 재정의하면 서브넷의 아웃바운드 트래픽이 가상 네트워크 게이트웨이 또는 가상 어플라이언스를 통과할 뿐만 아니라, Azure의 기본 라우팅에서 다음과 같은 변경이 발생합니다.
- Azure는 Azure 서비스의 공용 IP 주소로 향하는 트래픽을 포함하여 모든 트래픽을 경로에 지정된 다음 홉 유형으로 보냅니다. 0.0.0.0/0 주소 접두사가 있는 경로의 다음 홉 유형이 인터넷인 경우, Azure 서비스의 공용 IP 주소로 향하는 서브넷의 트래픽은 가상 네트워크 또는 Azure 서비스 리소스가 있는 Azure 지역과 관계없이 Azure의 백본 네트워크에 남아 있습니다. 그러나 가상 네트워크 게이트웨이 또는 가상 어플라이언스 다음 홉 유형이 포함된 사용자 정의 경로 또는 BGP 경로를 만드는 경우, 서비스 엔드포인트를 사용하도록 설정되지 않은 Azure 서비스의 공용 IP 주소로 보내는 트래픽을 포함한 모든 트래픽은 경로에 지정된 다음 홉 유형으로 보내집니다. 서비스에 서비스 엔드포인트를 사용하도록 설정하면 Azure가 서비스에 대한 주소 접두사가 포함된 경로를 만듭니다. 서비스에 대한 트래픽은 0.0.0.0/0 주소 접두사가 포함된 경로의 다음 홉 유형으로 라우팅되지 않습니다. 서비스의 주소 접두사는 0.0.0.0/0보다 깁니다.
- 인터넷에서 서브넷의 리소스에 더 이상 직접 액세스할 수 없습니다. 인터넷에서 간접적으로 서브넷의 리소스에 액세스할 수 있습니다. 0.0.0.0/0 주소 접두사가 포함된 경로에 다음 홉 유형으로 지정된 디바이스는 인바운드 트래픽을 처리해야 합니다. 트래픽은 디바이스를 통과한 후 가상 네트워크의 리소스에 도달합니다. 경로의 다음 홉 유형에 대해 다음 값이 포함된 경우:
- 가상 어플라이언스: 어플라이언스에서 다음을 수행해야 합니다.
- 인터넷에서 액세스할 수 있어야 합니다.
- 공용 IP 주소를 할당받아야 합니다.
- 디바이스와 통신할 수 없게 하는 네트워크 보안 그룹 규칙에 연결되지 않아야 합니다.
- 통신을 거부하지 않아야 합니다.
- 네트워크 주소 변환 및 전달, 또는 서브넷의 대상 리소스로 트래픽 프록시를 수행하고, 인터넷에 트래픽을 다시 반환할 수 있어야 합니다.
- 가상 네트워크 게이트웨이: 게이트웨이가 ExpressRoute 가상 네트워크 게이트웨이인 경우 인터넷에 연결된 온-프레미스 디바이스는 ExpressRoute의 프라이빗 피어링을 통해 네트워크 주소 변환 및 전달 또는 서브넷의 대상 리소스로 트래픽 프록시를 수행할 수 있습니다.
- 가상 어플라이언스: 어플라이언스에서 다음을 수행해야 합니다.
가상 네트워크가 Azure VPN 게이트웨이에 연결된 경우 대상이 0.0.0.0/0인 경로가 포함된 게이트웨이 서브넷에 경로 테이블을 연결하지 않습니다. 그러면 게이트웨이가 제대로 작동하지 못할 수 있습니다. 자세한 내용은 VPN Gateway FAQ에서 내 VPN Gateway에서 특정 포트가 열리는 이유는 무엇인가요? 질문을 참조하세요.
인터넷과 Azure 간에 가상 네트워크 게이트웨이를 사용하는 경우 구현에 대한 자세한 내용은 Azure와 온-프레미스 데이터 센터 간의 DMZ를 참조하세요.
라우팅 예
다음과 같은 섹션에서 이 문서의 개념을 설명합니다.
- 요구 사항이 있는 시나리오
- 요구 사항을 충족하는 데 필요한 사용자 지정 경로
- 하나의 서브넷에 대해 존재하는 경로 테이블(요구 사항을 충족하는 데 필요한 기본 경로 및 사용자 지정 경로가 포함됨)
참고
이 예제는 권장 사례 또는 모범 사례로 구현된 것이 아닙니다. 대신 이 문서의 개념을 설명하기 위해서만 제공된 것입니다.
요구 사항
- 동일한 Azure 지역에 두 개의 가상 네트워크를 구현하고 리소스에서 가상 네트워크 간에 통신할 수 있도록 합니다.
- 온-프레미스 네트워크에서 인터넷을 통한 VPN 터널을 통해 두 가상 네트워크와 안전하게 통신할 수 있도록 합니다. 또는 ExpressRoute 연결을 사용할 수 있지만 이 예제에서는 VPN 연결이 사용됩니다.
- 하나의 가상 네트워크에 하나의 서브넷이 있는 경우:
- Azure Storage 및 서브넷 내의 아웃바운드 트래픽을 제외하고는 서브넷의 모든 아웃바운드 트래픽을 검사하고 로깅하기 위해 네트워크 가상 어플라이언스를 통과하도록 합니다.
- 서브넷 내에서 개인 IP 주소 간의 트래픽을 검사하지 않습니다. 모든 리소스 간에 트래픽이 직접 통과할 수 있도록 허용합니다.
- 다른 가상 네트워크로 향하는 모든 아웃바운드 트래픽을 삭제합니다.
- Azure Storage에 대한 아웃바운드 트래픽이 네트워크 가상 어플라이언스를 거치지 않고 스토리지로 직접 통과할 수 있도록 합니다.
- 다른 모든 서브넷과 가상 네트워크 간의 모든 트래픽을 허용합니다.
구현
다음 그림에서는 앞의 요구 사항이 충족되는 Azure Resource Manager 배포 모델을 통한 구현을 보여 줍니다.
화살표는 트래픽의 흐름을 나타냅니다.
경로 테이블
Subnet1
그림의 Subnet1에 대한 경로 테이블에는 다음 경로가 포함됩니다.
1 | 기본값 | 잘못됨 | 10.0.0.0/16 | 가상 네트워크 | ||
2 | 사용자 | 활성화 | 10.0.0.0/16 | 가상 어플라이언스 | 10.0.100.4 | Within-VNet1 |
3 | 사용자 | 활성화 | 10.0.0.0/24 | 가상 네트워크 | Within-Subnet1 | |
4 | 기본값 | 잘못됨 | 10.1.0.0/16 | VNet 피어링 | ||
5 | 기본값 | 잘못됨 | 10.2.0.0/16 | VNet 피어링 | ||
6 | 사용자 | 활성화 | 10.1.0.0/16 | 없음 | ToVNet2-1-Drop | |
7 | 사용자 | 활성화 | 10.2.0.0/16 | 없음 | ToVNet2-2-Drop | |
8 | 기본값 | 잘못됨 | 10.10.0.0/16 | 가상 네트워크 게이트웨이 | [X.X.X.X] | |
9 | 사용자 | 활성화 | 10.10.0.0/16 | 가상 어플라이언스 | 10.0.100.4 | To-On-Prem |
10 | 기본값 | 활성화 | [X.X.X.X] | VirtualNetworkServiceEndpoint | ||
11 | 기본값 | 잘못됨 | 0.0.0.0/0 | 인터넷 | ||
12 | 사용자 | 활성화 | 0.0.0.0/0 | 가상 어플라이언스 | 10.0.100.4 | Default-NVA |
각 경로 ID에 대한 설명은 다음과 같습니다.
- ID1: 10.0.0.0/16이 가상 네트워크에 대한 주소 공간에 정의된 유일한 주소 범위이므로 Azure에서 Virtual-network-1 내의 모든 서브넷에 대해 이 경로를 자동으로 추가했습니다. 경로 ID2에서 사용자 정의 경로를 만들지 않으면 10.0.0.1과 10.0.255.254 사이의 주소로 전송된 트래픽이 가상 네트워크 내에서 라우팅됩니다. 이 프로세스는 접두사가 0.0.0.0/0보다 길고 다른 경로의 주소 접두사에 속하지 않기 때문에 발생합니다. ID2 사용자 정의 경로가 추가되었을 때 기본 경로와 동일한 접두사를 사용하고 사용자 정의 경로에서 기본 경로를 재정의하기 때문에 Azure에서 상태를 활성에서 올바르지 않음으로 자동으로 변경했습니다. ID2 사용자 정의 경로가 있는 경로 테이블이 Subnet2에 연결되어 있지 않으므로 Subnet2에 대한 이 경로의 상태는 여전히 활성입니다.
- ID2: 10.0.0.0/16 주소 접두사에 대한 사용자 정의 경로가 Virtual-network-1 가상 네트워크의 Subnet1 서브넷에 연결되었을 때 Azure에서 이 경로를 추가했습니다. 가상 어플라이언스 가상 머신에 할당된 개인 IP 주소이기 때문에 사용자 정의 경로는 10.0.100.4를 가상 어플라이언스의 IP 주소로 지정합니다. 이 경로가 있는 경로 테이블이 Subnet2와 연결되어 있지 않으므로 이 경로는 Subnet2의 경로 테이블에 표시되지 않습니다. 이 경로는 가상 네트워크 다음 홉 유형을 통해 가상 네트워크 내에서 10.0.0.1 및 10.0.255.254 주소로 지정된 트래픽을 자동으로 라우팅하는 10.0.0.0/16 접두사(ID1)에 대한 기본 경로를 재정의합니다. 이 경로는 요구 사항 3을 충족하기 위해 존재하며, 모든 아웃바운드 트래픽이 가상 어플라이언스를 통과하도록 강제합니다.
- ID3: 10.0.0.0/24 주소 접두사에 대한 사용자 정의 경로가 Subnet1 서브넷에 연결되었을 때 Azure에서 이 경로를 추가했습니다. 접두사가 ID2 경로보다 길기 때문에 10.0.0.1과 10.0.0.254 사이의 주소로 향하는 트래픽은 이전 규칙(ID2)에 지정된 가상 어플라이언스로 라우팅되지 않고 서브넷에 남아 있습니다. 이 경로는 Subnet2와 연결되어 있지 않으므로 Subnet2의 경로 테이블에 표시되지 않습니다. 이 경로는 Subnet1 내의 트래픽에 대한 ID2 경로를 효과적으로 재정의합니다. 이 경로는 요구 사항 3을 충족하기 위해 존재합니다.
- ID4: 가상 네트워크가 Virtual-network-2와 피어될 때 Azure는 Virtual-network-1 내의 모든 서브넷에 대한 ID 4 및 5 경로를 자동으로 추가했습니다. Virtual-network-2의 주소 공간에는 10.1.0.0/16 및 10.2.0.0/16의 두 주소 범위가 있으므로 Azure에서 각 범위에 대한 경로를 추가했습니다. 경로 ID 6 및 7에서 사용자 정의 경로를 만들지 않으면 10.1.0.1-10.1.255.254와 10.2.0.1-10.2.255.254 사이의 주소로 전송된 트래픽이 피어링된 가상 네트워크로 라우팅됩니다. 이 프로세스는 접두사가 0.0.0.0/0보다 길고 다른 경로의 주소 접두사에 속하지 않기 때문에 발생합니다. ID 6 및 7에서 경로를 추가하면 Azure가 상태를 활성에서 올바르지 않음으로 자동으로 변경합니다. 이 프로세스는 ID 4 및 5의 경로와 동일한 접두사를 포함하며 사용자 정의 경로가 기본 경로를 재정의하기 때문에 발생합니다. ID4 및 ID5의 사용자 정의 경로가 있는 경로 테이블이 Subnet2에 연결되어 있지 않으므로 Subnet2에 대한 ID6 및 ID7 경로의 상태는 여전히 활성입니다. 가상 네트워크 피어링은 요구 사항 1을 충족하기 위해 만들어졌습니다.
- ID5: ID4와 동일하게 설명됩니다.
- ID6: 10.1.0.0/16 및 10.2.0.0/16 주소 접두사에 대한 사용자 정의 경로가 Subnet1 서브넷에 연결되었을 때 Azure에서 이 경로와 ID7의 경로를 추가했습니다. 사용자 정의 경로에서 기본 경로를 재정의하기 때문에 10.1.0.1-10.1.255.254와 10.2.0.1-10.2.255.254 사이의 주소로 향하는 트래픽은 피어링된 가상 네트워크로 라우팅되지 않고 삭제됩니다. 이 경로는 Subnet2와 연결되어 있지 않으므로 Subnet2의 경로 테이블에 표시되지 않습니다. 이 경로에서 Subnet1에서 나가는 트래픽에 대한 ID4 및 ID5 경로를 재정의합니다. ID6 및 ID7 경로는 요구 사항 3을 충족하여 다른 가상 네트워크로 향하는 트래픽이 삭제됩니다.
- ID7: ID6과 동일하게 설명됩니다.
- ID8: VPN 유형 가상 네트워크 게이트웨이가 가상 네트워크 내에 만들어졌을 때 Azure에서 Virtual-network-1 내의 모든 서브넷에 대해 이 경로를 자동으로 추가했습니다. Azure에서 가상 네트워크 게이트웨이의 공용 IP 주소를 경로 테이블에 추가했습니다. 10.10.0.1과 10.10.255.254 사이의 모든 주소로 보내는 트래픽은 가상 네트워크 게이트웨이로 라우팅됩니다. 접두사는 0.0.0.0/0보다 길고 다른 경로의 주소 접두사에 있지 않습니다. 가상 네트워크 게이트웨이는 요구 사항 2를 충족하기 위해 만들어졌습니다.
- ID9: 10.10.0.0/16 주소 접두사에 대한 사용자 정의 경로가 Subnet1에 연결된 경로 테이블에 추가되었을 때 Azure에서 이 경로를 추가했습니다. 이 경로에서 ID8을 재정의합니다. 이 경로는 온-프레미스 네트워크로 향하는 모든 트래픽을 온-프레미스에서 직접 라우팅하지 않고 검사를 위해 NVA로 보냅니다. 이 경로는 요구 사항 3을 충족하기 위해 만들어졌습니다.
- ID10: Azure 서비스에 대한 서비스 엔드포인트가 서브넷에서 사용하도록 설정되었을 때 Azure에서 이 경로를 해당 서브넷에 자동으로 추가했습니다. Azure에서 Azure 인프라 네트워크를 통해 서브넷의 트래픽을 해당 서비스의 공용 IP 주소로 라우팅합니다. 접두사는 0.0.0.0/0보다 길고 다른 경로의 주소 접두사에 있지 않습니다. Azure Storage로 향하는 트래픽이 Azure Storage로 직접 이동할 수 있게 하는 요구 사항 3을 충족하기 위해 서비스 엔드포인트가 만들어졌습니다.
- ID11: 이 경로는 Azure에서 Virtual-network-1 및 Virtual-network-2에 있는 모든 서브넷의 경로 테이블에 자동으로 추가했습니다. 0.0.0.0/0 주소 접두사는 가장 짧은 접두사입니다. 더 긴 주소 접두사 내의 주소로 보내는 모든 트래픽은 다른 경로에 따라 라우팅됩니다. Azure에서 기본적으로 다른 경로 중 하나에 지정된 주소 이외의 주소로 향하는 모든 트래픽을 인터넷으로 라우팅합니다. 0.0.0.0/0 주소 접두사(ID12)에 대한 사용자 정의 경로가 서브넷과 연결되었을 때 Azure에서 Subnet1 서브넷에 대한 상태를 활성에서 올바르지 않음으로 자동으로 변경했습니다. 다른 가상 네트워크의 다른 서브넷과 연결되어 있지 않으므로 두 가상 네트워크 내의 다른 모든 서브넷에 대한 이 경로의 상태는 여전히 활성입니다.
- ID12: 0.0.0.0/0 주소 접두사에 대한 사용자 정의 경로가 Subnet1 서브넷에 연결되었을 때 Azure에서 이 경로를 추가했습니다. 사용자 정의 경로에서 10.0.100.4를 가상 어플라이언스의 IP 주소로 지정합니다. 이 경로는 Subnet2와 연결되어 있지 않으므로 Subnet2의 경로 테이블에 표시되지 않습니다. 다른 경로의 주소 접두사에 포함되지 않은 주소에 대한 모든 트래픽은 가상 어플라이언스로 보내집니다. 이 경로를 추가했을 때 사용자 정의 경로에서 기본 경로를 재정의하기 때문에 Subnet1의 0.0.0.0/0 주소 접두사(ID11)에 대한 기본 경로의 상태가 활성에서 올바르지 않음으로 변경되었습니다. 이 경로는 세 번째 요구 사항을 충족하기 위해 존재합니다.
Subnet2
그림의 Subnet2에 대한 경로 테이블에는 다음 경로가 포함됩니다.
기본값 | 활성화 | 10.0.0.0/16 | 가상 네트워크 | |
기본값 | 활성화 | 10.1.0.0/16 | 가상 네트워크 피어링 | |
기본값 | 활성화 | 10.2.0.0/16 | 가상 네트워크 피어링 | |
기본값 | 활성화 | 10.10.0.0/16 | 가상 네트워크 게이트웨이 | [X.X.X.X] |
기본값 | 활성화 | 0.0.0.0/0 | 인터넷 | |
기본값 | Active | 10.0.0.0/8 | 없음 | |
기본값 | 활성화 | 100.64.0.0/10 | 없음 | |
기본값 | Active | 192.168.0.0/16 | 없음 |
Subnet2의 경로 테이블에는 Azure에서 만든 모든 기본 경로 및 선택적인 가상 네트워크 피어링 및 가상 네트워크 게이트웨이 경로가 포함되어 있습니다. 게이트웨이 및 피어링이 가상 네트워크에 추가되었을 때 Azure에서 선택적 경로를 가상 네트워크의 모든 서브넷에 추가했습니다. 0.0.0.0/0 주소 접두사에 대한 사용자 정의 경로가 Subnet1에 추가되었을 때 Azure에서 Subnet1 경로 테이블로부터 10.0.0.0/8, 192.168.0.0/16 및 100.64.0.0/10 주소 접두사에 대한 경로를 제거했습니다.
다음 단계
- 경로 및 네트워크 가상 어플라이언스로 사용자 정의 경로 테이블 만들기
- Azure VPN Gateway에서 BGP 구성
- ExpressRoute에서 BGP 사용
- 서브넷에 대한 모든 경로 보기 - 사용자 정의 경로 테이블에서는 서브넷에 대한 기본 경로 및 BGP 경로가 아닌 사용자 정의 경로만 보여줍니다. 모든 경로 보기에서 네트워크 인터페이스가 있는 서브넷에 대한 기본, BGP 및 사용자 정의 경로가 표시됩니다.
- 가상 머신과 대상 IP 주소 간의 다음 홉 유형을 확인합니다. Azure Network Watcher 다음 홉 기능을 사용하면 트래픽이 서브넷에서 나가야 하는지 또는 생각하는 위치로 라우팅되는지 여부를 확인할 수 있습니다.
'IT이야기 > Azure' 카테고리의 다른 글
Azure Firewall을 사용하여 Spoke 간 통신하기 (1) | 2024.10.18 |
---|---|
Azure상에서 IaC로 Infra 구성시, 필수 입력해야 되는 요소 (0) | 2024.10.18 |
가상 어플라이언스를 사용하여 네트워크 보안 (2) | 2024.10.18 |
프라이빗 엔드포인트 (5) | 2024.10.18 |
Virtual Network 서비스 엔드포인트 (0) | 2024.10.18 |