편집

다음을 통해 공유


Azure에서 IPv4 고갈 방지

Azure Firewall
Azure Virtual Network
Azure Private Link

이 문서에서는 Azure에서 대규모 네트워크를 빌드할 때 개인 주소 공간 소비를 최소화하는 방법을 설명합니다. 적절한 할당 정책이 설정되지 않고 Azure 가상 네트워크에 할당할 개인 IP 주소가 부족한 경우 주소 공간 사용을 최소화해야 할 수 있습니다. 이 문서에서는 Azure에서 적절한 IP 주소 관리를 위한 두 가지 방법을 제공합니다.

시나리오 정보

회사 네트워크는 일반적으로 RFC 1918에 정의된 개인 IPv4 주소 범위에 있는 주소 공간을 사용합니다. 주소 범위는 10.0.0.0/8, 172.16.0.0/12 및 192.168.0.0/16입니다. 온-프레미스 환경에서 이러한 범위는 최대 네트워크의 요구 사항을 충족하기에 충분한 IP 주소를 제공합니다. 따라서 많은 조직에서 IP 할당을 위해 간단한 라우팅 구성 및 민첩한 프로세스의 우선 순위를 지정하는 주소 관리 사례를 개발합니다. 주소 공간의 효율적인 사용은 우선 순위가 아닙니다.

클라우드에서 대규모 하이브리드 네트워크는 쉽게 빌드할 수 있으며 마이크로 서비스 또는 컨테이너화와 같은 몇 가지 일반적인 아키텍처 패턴으로 인해 IP 주소 사용량이 증가할 수 있습니다. 따라서 이러한 주소 관리 사례를 조정하는 것이 중요합니다. 클라우드 환경에서는 개인 IPv4 주소를 제한된 리소스로 처리합니다.

Azure Virtual Network IP 주소 범위

Azure 가상 네트워크에서 RFC 1918에 정의된 주소 블록을 사용하는 것이 좋습니다. 이러한 주소 블록은 범용 개인 네트워크를 위한 것이며 공용 인터넷에서 배포할 수 없습니다.

다른 범위를 사용할 수 있지만 가상 네트워크에서 해당 범위를 사용하기 전에 IANA(Internet Assigned Numbers Authority) 설명서를 읽어 환경에 미치는 잠재적 영향을 이해합니다. 다음 범위를 사용할 수 있습니다.

  • Azure Virtual Network에서 개인 주소 공간으로 처리되는 통신 사업자 등급 NAT(네트워크 주소 변환)를 위해 RFC 6598에서 정의한 공유 주소 공간입니다. 주소 블록은 100.64.0.0/10입니다.
  • 조직에서 소유하지 않은 공용 인터넷 라우팅 가능 IP 주소입니다. 가상 네트워크의 리소스가 공용 IP 주소를 통해 노출되는 인터넷 엔드포인트에 액세스할 수 없으므로 이 방법은 권장되지 않습니다.
  • IANA에서 정의한 특수 용도 주소 블록(예: 192.0.0.0/24, 192.0.2.0/24) 192.88.99.0/24, 198.18.0.0/15, 198.51.100.0/24, 203.0.113.0/24 및 233.252.0.0/24.

참고 항목

클래스 E IP 주소 범위 240.0.0.0/4는 Windows에서 NIC에 할당하지 못하도록 차단되며 Linux의 경우 호환성 문제가 있습니다. 따라서 가상 네트워크에 범위를 프로그래밍 방식으로 할당할 수 있지만 Azure 가상 네트워크에서는 사용하지 않는 것이 좋습니다.

참고 항목

이전 범위는 IPv4 고갈 문제가 있는 조직에 대한 장기적인 솔루션을 제공하지 않습니다. 이 경우 개인 주소 공간 소비를 최소화해야 합니다.

Azure 가상 네트워크에서는 다음 IP 주소 범위를 사용할 수 없습니다.

  • 224.0.0.0/4(멀티캐스트)
  • 255.255.255.255/32(브로드캐스트)
  • 127.0.0.0/8(루프백)
  • 169.254.0.0/16(링크-로컬)
  • 168.63.129.16/32(내부 DNS)

Azure 랜딩 존 맞춤

이 문서의 권장 사항은 Azure 랜딩 존 아키텍처를 기반으로 하는 시나리오에 대한 것입니다. 이 지침에서는 다음을 가정합니다.

  • 각 지역에는 허브 및 스포크 토폴로지가 있습니다.
  • 서로 다른 지역에 있는 허브 및 스포크 네트워크는 글로벌 가상 네트워크 피어링 또는 동일한 Azure ExpressRoute 회로 또는 회로에 대한 연결을 통해 서로 연결됩니다.
  • 허브 및 스포크 네트워크는 ExpressRoute 회로와 사이트 간의 VPN 조합을 통해 온-프레미스 사이트에 연결됩니다.

다음 다이어그램은 예제 아키텍처를 보여줍니다. 권장 사항은 각 지역에 허브 및 스포크 네트워크가 있는 Azure Virtual WAN을 기반으로 구축된 네트워크에도 동일하게 적용됩니다.

지역 허브 및 스포크 토폴로지 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

Azure 랜딩 존 아키텍처를 기반으로 하는 시나리오에서는 애플리케이션이 자체 랜딩 존에 배포됩니다. 각 랜딩 존에는 지역 허브에 피어되는 스포크 가상 네트워크가 포함되어 있습니다. 스포크 가상 네트워크는 회사 네트워크의 필수적인 부분이며 라우팅 가능한 IPv4 주소가 할당됩니다. 이러한 주소는 전체 회사 네트워크에서 고유합니다. 따라서 Azure Virtual Network에 배포된 모든 아키텍처 구성 요소는 일부 구성 요소만 전체 회사 네트워크에서 연결할 수 있어야 하는 엔드포인트를 노출하는 경우에도 회사 네트워크의 주소 공간에서 IPv4 주소를 사용합니다. 이러한 아키텍처 구성 요소는 가상 머신, 자사 또는 타사 NVA(네트워크 가상 어플라이언스) 또는 가상 네트워크 주입 PaaS(Platform-as-a-Service) 서비스일 수 있습니다.

이 문서의 나머지 부분에서 프런트 엔드 구성 요소는 전체 회사 네트워크 또는 구성 요소의 랜딩 존 외부에서 연결할 수 있는 애플리케이션 구성 요소를 참조합니다. 백 엔드 구성 요소는 회사 네트워크에서 엔드포인트를 노출하지 않고 자체 랜딩 존 내에서만 연결할 수 있어야 하는 애플리케이션 구성 요소를 나타냅니다. 예를 들어 엔드포인트를 노출하는 웹 애플리케이션은 프런트 엔드 구성 요소이고 엔드포인트를 노출하지 않는 데이터베이스는 백 엔드 구성 요소입니다.

다음 섹션에서는 Azure에서 대규모 네트워크를 빌드할 때 개인 주소 공간 소비를 최소화하는 두 가지 방법을 설명합니다.

방법 1: 아웃아웃할 수 없는 랜딩 존 스포크 가상 네트워크

RFC 1918은 IP 주소가 IPv4 32비트 주소 공간에서 차단되고 공용 인터넷에서 IP 주소를 변경할 수 없도록 하므로 내부 통신을 위해 여러 개인 네트워크에서 다시 사용할 수 있습니다. 이 메서드는 개인 주소 공간에 적용되는 동일한 원칙을 기반으로 합니다. 하나 이상의 주소 범위는 조직에서 사용하고 조직의 회사 네트워크 내에서 비주택으로 선언된 전체 개인 주소 공간에서 조각됩니다. 주소 범위는 여러 랜딩 존에서 재사용됩니다. 결과적으로 각 랜딩 존은 다음과 같습니다.

  • 하나 이상의 주소 범위로 구성된 라우팅 가능한 주소 공간이 할당됩니다. 조직은 주소 범위를 중앙에서 관리하고 회사 네트워크와 통신하기 위해 랜딩 존에 고유하게 할당합니다. 라우팅 가능한 공간의 주소는 프런트 엔드 구성 요소에 할당됩니다.
  • 조직에서 회사 네트워크에서 변경할 수 없음을 선언하는 주소 범위인 변경할 수 없는 주소 공간을 사용할 수 있습니다. 모든 랜딩 존에서 내부 통신에 이러한 예약 범위를 사용할 수 있습니다. 아웃아웃할 수 없는 공간의 주소는 백 엔드 구성 요소에 할당됩니다.

고객이 관리하거나 Virtual WAN을 기반으로 하는 Azure 허브 및 스포크 네트워크에서는 둘 이상의 스포크 가상 네트워크에 IP 주소 공간이 겹칠 수 없습니다. 역주택 주소 블록은 랜딩 존 스포크에 할당할 수 없습니다. 가상 네트워크 피어링이 변환되지 않으므로 랜딩 존 스포크 가상 네트워크는 라우팅할 수 없는 주소 공간이 있는 두 번째 수준의 스포크 가상 네트워크와 피어링할 수 있습니다. 다음 다이어그램은 랜딩 존에 대한 이중 가상 네트워크 토폴로지입니다.

랜딩 존에 대한 이중 가상 네트워크 토폴로지 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

각 애플리케이션 랜딩 존에는 두 개의 피어된 가상 네트워크가 포함됩니다. 하나의 가상 네트워크에는 라우팅 가능한 IP 주소가 있으며 프런트 엔드 구성 요소를 호스트합니다. 다른 가상 네트워크에는 배포할 수 없는 IP 주소가 있으며 백 엔드 구성 요소를 호스트합니다. 라우팅 가능한 랜딩 존 스포크는 지역 허브와 피어링됩니다. 라우팅할 수 없는 랜딩 존 스포크는 라우팅 가능한 랜딩 존 스포크와 피어링됩니다. 가상 네트워크 피어링이 전송되지 않으므로 지역 허브 또는 회사 네트워크의 나머지 부분에는 라우팅할 수 없는 접두사를 볼 수 없습니다. 라우팅 가능한 가상 네트워크는 라우팅할 수 없는 주소 범위를 사용할 수 없습니다. 일부 조직에는 라우팅 가능한 네트워크에 이미 할당된 조각화된 주소 공간이 있습니다. 사용하지 않는 큰 주소 블록을 식별하고 이를 취소할 수 없음으로 선언하는 것은 어려울 수 있습니다. 이 경우 RFC 1918 주소 공간에 포함되지 않은 사용되지 않는 주소를 고려합니다. 이전 다이어그램은 RFC 6598과 같은 이동 통신 사업자급 NAT 주소의 예를 역주행 가능하지 않은 스포크 가상 네트워크에 제공합니다.

단일 가상 네트워크 랜딩 존 마이그레이션

가상 네트워크 피어링에서는 피어링된 두 가상 네트워크 간에 전체 계층 3 연결을 제공합니다. IP를 통해 서로 통신하는 기존 단일 가상 네트워크 랜딩 존에 배포된 애플리케이션 구성 요소는 랜딩 존에서 라우팅 가능한 스포크 가상 네트워크와 라우팅할 수 없는 스포크 가상 네트워크 간에 자유롭게 이동할 수 있습니다. 이 섹션에서는 두 가지 일반적인 마이그레이션 패턴에 대해 설명합니다.

다음 애플리케이션은 계층 7 애플리케이션 배달 컨트롤러를 통해 노출됩니다.

계층 7 애플리케이션 배달 컨트롤러를 통해 노출되는 애플리케이션에 대한 마이그레이션 패턴을 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

계층 7 애플리케이션 배달 컨트롤러를 통해 노출되는 애플리케이션을 라우팅할 수 없는 스포크로 이동할 수 있습니다. 애플리케이션 배달 컨트롤러는 라우팅 가능한 랜딩 존 스포크에 상주해야 하는 유일한 프런트 엔드 구성 요소입니다.

다음 애플리케이션은 Azure 부하 분산 장치를 통해 노출됩니다.

Azure Load Balancer를 통해 노출되는 애플리케이션에 대한 마이그레이션 패턴을 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

애플리케이션이 Azure 부하 분산 장치를 통해 엔드포인트를 노출하는 경우 부하 분산 장치의 백 엔드 풀에 포함된 컴퓨팅 인스턴스는 동일한 가상 네트워크에 남아 있어야 합니다. Azure 부하 분산 장치는 자체 가상 네트워크의 백 엔드 인스턴스만 지원합니다.

아웃바운드 종속성

애플리케이션의 백 엔드 구성 요소는 회사 네트워크에서 연결할 수 있거나 인바운드 연결을 받을 필요가 없지만 종종 아웃바운드 종속성이 있습니다. 백 엔드 구성 요소는 DNS 확인, Active Directory 도메인 Services 도메인 컨트롤러, 다른 랜딩 존에서 노출되는 애플리케이션 엔드포인트 액세스 또는 로깅 또는 백업 시설 액세스와 같은 인스턴스에서 랜딩 존 외부에 있는 엔드포인트에 연결해야 할 수 있습니다.

참고 항목

NAT를 통한 클라이언트 to Active Directory 도메인 Services(DC) 도메인 컨트롤러(도메인 컨트롤러) 통신이 테스트되었으며 지원되며, DC 간 통신은 테스트되지 않았으며 NAT를 통한 Active Directory에 대한 지원 경계 설명에 자세히 설명되어 있습니다.

서비스가 라우팅할 수 없는 스포크 가상 네트워크에서 연결을 시작하는 경우 라우팅 가능한 IP 주소 뒤에 있는 연결에 대한 원본 NAT(SNAT)를 구현해야 합니다. SNAT를 구현하려면 라우팅 가능한 스포크 가상 네트워크에 NAT 지원 디바이스를 배포합니다. 각 랜딩 존은 자체 전용 NAT NVA를 실행합니다. 랜딩 존에서 SNAT를 구현하는 두 가지 옵션이 있습니다. Azure Firewall 또는 타사 NVA. 두 경우 모두 라우팅할 수 없는 스포크에 있는 모든 서브넷을 사용자 지정 경로 테이블과 연결해야 합니다. 다음 다이어그램에 표시된 것처럼 경로 테이블은 랜딩 존 외부의 대상으로 트래픽을 SNAT 디바이스로 전달합니다. Azure NAT Gateway는 RFC 1918 공간과 같은 개인 IP 주소 공간으로 향하는 트래픽에 대해 SNAT를 지원하지 않습니다.

사용자 지정 경로 테이블이 트래픽을 SNAT 디바이스로 전달하는 방법을 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

Azure Firewall을 통해 SNAT 구현

Azure Firewall:

  • 고가용성을 제공합니다.
  • 네이티브 확장성과 세 가지 SKU를 제공합니다. SNAT는 리소스를 많이 사용하는 작업이 아니므로 먼저 기본 SKU를 고려하세요. 라우팅할 수 없는 주소 공간에서 대량의 아웃바운드 트래픽이 필요한 랜딩 존의 경우 표준 SKU를 사용합니다.
  • 인스턴스의 개인 IP 주소 뒤에 있는 트래픽에 대해 SNAT를 수행합니다. 각 인스턴스는 모든 권한 없는 포트를 사용할 수 있습니다.

다음 다이어그램에서는 Azure Firewall을 사용하여 허브 및 스포크 네트워크 토폴로지에서 SNAT를 구현하는 랜딩 존 레이아웃을 보여 줍니다.

Azure Firewall을 사용하여 SNAT 구현을 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

라우팅할 수 없는 스포크에 있는 모든 서브넷을 사용자 지정 경로 테이블과 연결하여 랜딩 존 외부의 대상으로 트래픽을 Azure Firewall로 보내야 합니다.

다음 다이어그램에서는 Azure Firewall을 사용하여 Virtual WAN 기반 허브 및 스포크 네트워크에서 SNAT를 구현하는 랜딩 존 레이아웃을 보여 줍니다.

Azure Firewall을 사용하여 Virtual WAN 기반 네트워크의 SNAT 구현을 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

라우팅할 수 없는 스포크 또는 Virtual WAN에 연결되지 않은 스포크에 있는 모든 서브넷을 사용자 지정 경로 테이블과 연결하여 랜딩 존 외부의 대상으로 트래픽을 Azure Firewall로 보내야 합니다.

두 레이아웃 모두 랜딩 존 외부의 라우팅 가능한 IP 주소에 대한 라우팅 가능 스포크 액세스 권한을 리소스에 제공하려면 각 랜딩 존의 라우팅 가능한 스포크에서 Always로 설정된 SNAT 수행 옵션을 사용하여 Azure Firewall을 배포해야 합니다. 공용 설명서에서 수신된 모든 연결에서 SNAT를 구현하도록 Azure Firewall을 구성하는 방법에 대한 지침을 찾을 수 있습니다. 다음 스크린샷은 Azure Firewall을 아웃아웃할 수 없는 스포크 가상 네트워크의 리소스에서 시작한 연결을 위한 NAT 디바이스로 사용하는 데 필요한 구성을 보여 줍니다.

Azure Firewall 기본 SNAT 동작에 대한 대화 상자를 보여 주는 스크린샷 SNAT 수행 옵션에 대해 항상 선택됩니다.

타사 NVA를 통해 SNAT 구현

NAT 기능이 있는 타사 NVA는 Azure Marketplace에서 사용할 수 있습니다. DSVM에서 제공하는 기능은 다음과 같습니다.

  • 스케일 인 및 스케일 아웃을 세부적으로 제어합니다.
  • NAT 풀의 세분화된 컨트롤입니다.
  • 들어오는 연결의 속성(예: 원본 또는 대상 IP 주소)에 따라 다른 NAT 주소를 사용하는 것과 같은 사용자 지정 NAT 정책입니다.

다음 권장 사항을 살펴 보십시오.

  • 고가용성을 위해 NVA가 두 개 이상 있는 클러스터를 배포합니다. Azure 부하 분산 장치를 사용하여 들어오는 연결을 비주류 스포크 가상 네트워크에서 NVA로 분산합니다. 클러스터가 랜딩 존을 벗어나는 모든 연결에서 SNAT를 구현하기 때문에 고가용성 포트 부하 분산 규칙이 필요합니다. Azure 표준 Load Balancer 고가용성 포트 부하 분산 규칙을 지원합니다.
  • Azure SDN 스택은 단일 암 및 이중 암 NVA를 지원합니다. 단일 암 NVA는 라우팅 가능한 스포크 가상 네트워크에서 주소 공간 소비를 줄이기 때문에 선호됩니다.

다음 다이어그램에서는 타사 NVA를 사용하여 허브 및 스포크 네트워크 토폴로지에서 SNAT를 구현하는 랜딩 존 레이아웃을 보여 줍니다.

타사 NVA를 사용하여 허브 및 스포크 네트워크 토폴로지에서 SNAT의 구현을 보여 주는 다이어그램.이 아키텍처의 PowerPoint 파일을 다운로드합니다.

다음 다이어그램에서는 타사 NVA를 사용하여 Virtual WAN 기반 허브 및 스포크 네트워크 토폴로지에서 SNAT를 구현하는 랜딩 존 레이아웃을 보여 줍니다.

타사 NVA를 사용하여 Virtual WAN 기반 허브 및 스포크 네트워크 토폴로지에서 SNAT의 구현을 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

타사 NVA 레이아웃의 경우 고가용성을 제공하려면 Azure 부하 분산 장치 뒤에 여러 인스턴스를 배포해야 합니다. Azure Load Balancer 표준 SKU가 필요합니다.

Private Link는 가상 네트워크에 연결되지 않은 가상 네트워크에 배포된 애플리케이션에 대한 액세스를 제공합니다. 서버 쪽 또는 애플리케이션, 가상 네트워크에서 Private Link 서비스가 배포되고 내부 Azure 표준 SKU 부하 분산 장치의 프런트 엔드 IP 주소에 노출되는 애플리케이션 엔드포인트와 연결됩니다. 클라이언트 쪽 가상 네트워크에서 프라이빗 엔드포인트 리소스가 배포되고 Private Link 서비스와 연결됩니다. 프라이빗 엔드포인트는 가상 네트워크에서 애플리케이션 엔드포인트를 노출합니다. Private Link는 클라이언트 쪽과 서버 쪽 간에 트래픽을 라우팅하는 터널링 및 NAT 논리를 제공합니다. 자세한 내용은 Azure Private Link란?을 참조하세요.

Private Link는 클라이언트 쪽 가상 네트워크와 서버 쪽 가상 네트워크 간에 계층 3 연결이 필요하지 않습니다. 두 가상 네트워크에는 IP 주소 공간이 겹칠 수 있습니다. Private Link를 사용하면 격리된 전용 가상 네트워크에 애플리케이션을 배포할 수 있으며, 모두 동일한 배포할 수 없는 주소 공간을 사용합니다. 애플리케이션은 라우팅 가능한 주소 공간을 사용하는 회사 네트워크에서 Private Link 서비스로 노출됩니다. Azure 랜딩 존 아키텍처의 컨텍스트에서 결과 랜딩 존 토폴로지의 결과는 다음과 같습니다.

  • 애플리케이션의 엔드포인트와 연결된 전체 애플리케이션 및 Private Link 서비스를 호스트하는 격리된 가상 네트워크입니다. 애플리케이션 팀은 가상 네트워크 주소 공간을 정의합니다.
  • Private Link 서비스와 연결된 프라이빗 엔드포인트를 호스트하는 라우팅 가능한 주소 공간이 있는 스포크 가상 네트워크입니다. 스포크 가상 네트워크는 지역 허브와 직접 피어됩니다.

다음 다이어그램은 Private Link 사용 랜딩 존 토폴로지입니다.

Private Link 서비스가 격리된 가상 네트워크에 배포된 애플리케이션을 노출하는 경우의 랜딩 존 토폴로지 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

격리된 스포크 가상 네트워크에 애플리케이션을 배포하는 경우 아웃바운드 종속성에 대해 Private Link 서비스를 사용합니다. 격리된 스포크 가상 네트워크에서 프라이빗 엔드포인트를 정의하고 라우팅 가능한 가상 네트워크의 Private Link 서비스와 연결합니다. 다음 다이어그램에서는 개념적 접근 방식을 보여 줍니다.

격리된 가상 네트워크에 배포된 애플리케이션의 아웃바운드 종속성에 사용되는 Private Link 서비스를 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

실제 대규모 구현에서는 Private Link 메서드가 적용되지 않을 수 있습니다.

  • 격리된 가상 네트워크에 배포된 애플리케이션에 여러 아웃바운드 종속성이 있는 경우 각 아웃바운드 종속성에 대한 Private Link 서비스 및 프라이빗 엔드포인트를 배포하면 복잡성과 관리 요구가 증가합니다.
  • 아웃바운드 종속성에 Azure Load Balancer 백 엔드 풀의 일부가 될 수 없는 라우팅 가능한 네트워크에 엔드포인트가 포함된 경우 Private Link는 적용되지 않습니다.

이러한 두 가지 제한을 해결하려면 라우팅 가능한 스포크에 프록시/NAT 솔루션을 배포하고 Private Link를 사용하여 격리된 가상 네트워크에서 액세스할 수 있도록 합니다.

아웃바운드 종속성에 Private Link 서비스를 사용하는 아키텍처를 보여 주는 다이어그램이 아키텍처의 PowerPoint 파일을 다운로드합니다.

단일 프라이빗 엔드포인트 또는 Private Link 서비스를 사용하여 라우팅 가능한 네트워크에 배포된 프록시/NAT 솔루션을 노출합니다. 포트 변환 및 주소 변환 규칙은 NVA에 정의됩니다. 이러한 규칙을 사용하면 격리된 가상 네트워크에서 단일 프라이빗 엔드포인트를 사용하여 라우팅 가능한 네트워크의 여러 종속성에 액세스할 수 있습니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

기타 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계