SDN Express를 사용하여 SDN 인프라 배포

적용 대상: Azure Stack HCI, 버전 22H2 및 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

이 항목에서는 SDN Express PowerShell 스크립트를 사용하여 엔드 투 엔드 SDN(소프트웨어 정의 네트워크) 인프라를 배포합니다. 인프라에는 고가용성(HA) NC(네트워크 컨트롤러) 및 필요에 따라 고가용성 SLB(소프트웨어 Load Balancer) 및 고가용성 게이트웨이(GW)가 포함됩니다. 스크립트는 네트워크 컨트롤러 구성 요소만 배포하여 최소한의 네트워크 요구 사항으로 핵심 기능 집합을 달성할 수 있는 단계별 배포를 지원합니다.

Windows Admin Center 사용하거나 VMM(System Center Virtual Machine Manager)을 사용하여 SDN 인프라를 배포할 수도 있습니다. 자세한 내용은 클러스터 만들기 - 5단계: SDN 을 참조하고 VMM 패브릭에서 SDN 리소스 관리를 참조하세요.

중요

Microsoft System Center Virtual Machine Manager 2019를 사용하여 Azure Stack HCI, 버전 21H2 또는 Windows Server 2022를 실행하는 클러스터를 관리할 수 없습니다.

시작하기 전에

SDN 배포를 시작하기 전에 실제 및 호스트 네트워크 인프라를 계획하고 구성합니다. 다음 문서를 참조하세요.

모든 SDN 구성 요소를 배포할 필요는 없습니다. 소프트웨어 정의 네트워크 인프라 계획의단계별 배포 섹션을 참조하여 필요한 인프라 구성 요소를 확인한 다음 그에 따라 스크립트를 실행합니다.

모든 호스트 서버에 Azure Stack HCI 운영 체제가 설치되어 있는지 확인합니다. 이 작업을 수행하는 방법은 Azure Stack HCI 운영 체제 배포 를 참조하세요.

요구 사항

성공적인 SDN 배포를 위해서는 다음 요구 사항을 충족해야 합니다.

  • 모든 호스트 서버는 Hyper-V를 사용하도록 설정해야 합니다.
  • 모든 호스트 서버를 Active Directory에 조인해야 합니다.
  • 가상 스위치를 만들어야 합니다.
  • 구성 파일에 정의된 서브넷 및 VLAN에 대해 물리적 네트워크를 구성해야 합니다.
  • SDN Express 스크립트는 Windows Server 2016 이상 컴퓨터에서 실행해야 합니다.
  • 구성 파일에 지정된 VHDX 파일은 SDN Express 스크립트가 실행되는 컴퓨터에서 연결할 수 있어야 합니다.

VHDX 파일 다운로드

SDN은 SDN VM(가상 머신)을 만들기 위한 원본으로 Azure Stack HCI 또는 Windows Server OS(운영 체제)를 포함하는 VHDX 파일을 사용합니다.

참고

VHDX의 OS 버전은 Azure Stack HCI Hyper-V 호스트에서 사용하는 버전과 일치해야 합니다. 이 VHDX 파일은 모든 SDN 인프라 구성 요소에서 사용됩니다.

VHDX 파일의 영어 버전을 다운로드하려면 Azure Portal Azure Stack HCI 운영 체제 다운로드를 참조하세요. 언어 선택 드롭다운 목록에서 영어 VHDX선택 해야 합니다.

현재 영어 이외의 VHDX 파일을 다운로드할 수 없습니다. 영어 이외의 버전이 필요한 경우 해당 ISO 파일을 다운로드하고 cmdlet을 사용하여 Convert-WindowsImage VHDX로 변환합니다. Windows 클라이언트 컴퓨터에서 이 스크립트를 실행해야 합니다. 이 스크립트를 관리자로 실행하고 명령을 사용하여 Set-ExecutionPolicy 스크립트에 대한 실행 정책을 수정해야 할 수 있습니다.

다음 구문은 을 사용하는 Convert-WindowsImage예제를 보여줍니다.

Install-Module -Name Convert-WindowsImage
Import-Module Convert-WindowsImage

$wimpath = "E:\sources\install.wim"
$vhdpath = "D:\temp\AzureStackHCI.vhdx"
$edition=1
Convert-WindowsImage -SourcePath $wimpath -Edition $edition -VHDPath $vhdpath -SizeBytes 500GB -DiskLayout UEFI

GitHub 리포지토리 다운로드

SDN Express 스크립트 파일은 GitHub에 있습니다. 첫 번째 단계는 배포 컴퓨터에 필요한 파일 및 폴더를 가져오는 것입니다.

  1. Microsoft SDN GitHub 리포지토리로 이동합니다.

  2. 리포지토리에서 코드 드롭다운 목록을 확장한 다음 복제 또는 ZIP 다운로드 를 선택하여 지정된 배포 컴퓨터에 SDN 파일을 다운로드합니다.

    참고

    지정된 배포 컴퓨터가 Windows Server 2016 이상 실행 중이어야 합니다.

  3. ZIP 파일을 추출하고 배포 컴퓨터의 C:\ 폴더에 폴더를 복사 SDNExpress 합니다.

구성 파일 편집

PowerShell MultiNodeSampleConfig.psd1 구성 데이터 파일에는 SDN Express 스크립트에 필요한 모든 매개 변수와 설정이 다양한 매개 변수 및 구성 설정에 대한 입력으로 포함됩니다. 이 파일에는 네트워크 컨트롤러 구성 요소만 배포하는지 또는 소프트웨어 부하 분산 장치 및 게이트웨이 구성 요소만 배포하는지에 따라 작성해야 하는 항목에 대한 특정 정보가 있습니다. 자세한 내용은 소프트웨어 정의 네트워크 인프라 계획 항목을 참조하세요.

폴더로 C:\SDNExpress\scripts 이동하여 즐겨 찾는 텍스트 편집기 MultiNodeSampleConfig.psd1 에서 파일을 엽니다. 인프라 및 배포에 맞게 특정 매개 변수 값을 변경합니다.

일반 설정 및 매개 변수

설정 및 매개 변수는 모든 배포에 일반적으로 SDN에서 사용됩니다. 특정 권장 사항은 SDN 인프라 VM 역할 요구 사항을 참조하세요.

  • VHDPath - 모든 SDN 인프라 VM(NC, SLB, GW)에서 사용되는 VHD 파일 경로
  • VHDFile - 모든 SDN 인프라 VM에서 사용하는 VHDX 파일 이름
  • VMLocation - SDN 인프라 VM에 대한 파일 경로입니다. UNC(범용 명명 규칙) 경로는 지원되지 않습니다. 클러스터 스토리지 기반 경로의 경우 다음과 같은 형식을 사용합니다. C:\ClusterStorage\...
  • JoinDomain - SDN 인프라 VM이 조인되는 도메인
  • SDNMacPoolStart - 클라이언트 워크로드 VM에 대한 MAC 풀 주소 시작
  • SDNMacPoolEnd - 클라이언트 워크로드 VM에 대한 MAC 풀 주소 종료
  • ManagementSubnet - NC에서 Hyper-V 호스트, SLB 및 GW 구성 요소를 관리하는 데 사용하는 관리 네트워크 서브넷
  • ManagementGateway - 관리 네트워크의 게이트웨이 주소
  • ManagementDNS - 관리 네트워크에 대한 DNS 서버
  • ManagementVLANID - 관리 네트워크에 대한 VLAN ID
  • DomainJoinUsername - 관리자 사용자 이름입니다. 사용자 이름은 형식 domainname\username이어야 합니다. 예를 들어 도메인이 인 contoso.com경우 사용자 이름을 로 contoso\<username>입력합니다. 또는 같은 contoso.com\<username> 형식을 사용하지 마세요. username@contoso.com
  • LocalAdminDomainUser - 로컬 관리자 사용자 이름입니다. 사용자 이름은 형식 domainname\username이어야 합니다. 예를 들어 도메인이 인 contoso.com경우 사용자 이름을 로 contoso\<username>입력합니다. 또는 같은 contoso.com\<username> 형식을 사용하지 마세요. username@contoso.com
  • RestName - 관리 클라이언트(예: Windows Admin Center)에서 NC와 통신하는 데 사용되는 DNS 이름
  • RestIpAddress - 관리 네트워크에서 할당되는 REST API의 고정 IP 주소입니다. DNS 확인 또는 REST IP 기반 배포에 사용할 수 있습니다.
  • HyperVHosts - 네트워크 컨트롤러에서 관리할 호스트 서버
  • NCUsername - 네트워크 컨트롤러 계정 사용자 이름
  • ProductKey - SDN 인프라 VM에 대한 제품 키
  • SwitchName - Hyper-V 호스트에 둘 이상의 가상 스위치가 있는 경우에만 필요합니다.
  • VMMemory - 인프라 VM에 할당된 메모리(GB)입니다. 기본값은 4GB입니다.
  • VMProcessorCount - 인프라 VM에 할당된 프로세서 수입니다. 기본값은 8입니다.
  • 로캘 - 지정하지 않으면 배포 컴퓨터의 로캘이 사용됩니다.
  • TimeZone - 지정하지 않으면 배포 컴퓨터의 현지 표준 시간대가 사용됩니다.

텍스트로 인코딩된 보안 문자열로 암호화된 저장된 경우 필요에 따라 암호를 포함할 수 있습니다. 암호는 SDN Express 스크립트가 암호가 암호화된 동일한 컴퓨터에서 실행되는 경우에만 사용되며, 그렇지 않으면 다음 암호를 묻는 메시지가 표시됩니다.

  • DomainJoinSecurePassword - 도메인 계정의 경우
  • LocalAdminSecurePassword - 로컬 관리자 계정
  • NCSecurePassword - 네트워크 컨트롤러 계정용

네트워크 컨트롤러 VM 섹션

SDN에는 최소 3개의 네트워크 컨트롤러 VM이 권장됩니다.

NCs = @() 섹션은 네트워크 컨트롤러 VM에 사용됩니다. 각 NC VM의 MAC 주소가 일반 설정에 나열된 범위를 벗어났 SDNMACPool 는지 확인합니다.

  • ComputerName - NC VM의 이름
  • HostName - NC VM이 있는 서버의 호스트 이름
  • ManagementIP - NC VM에 대한 관리 네트워크 IP 주소
  • MACAddress - NC VM의 MAC 주소

소프트웨어 Load Balancer VM 섹션

SDN에는 최소 두 개의 소프트웨어 Load Balancer VM이 권장됩니다.

섹션은 Muxes = @() SLB VM에 사용됩니다. 각 SLB VM의 MACAddressPAMACAddress 매개 변수가 일반 설정에 SDNMACPool 나열된 범위 밖에 있는지 확인합니다. 구성 파일에 지정된 PA 풀 외부에서 매개 변수를 가져와 PAIPAddress 야 하지만 구성 파일에 지정된 PASubnet의 일부인지 확인합니다.

SLB 구성 요소를 배포하지 않으면 이 섹션을 비워 둡니다(Muxes = @()).

  • ComputerName - SLB VM의 이름
  • HostName - SLB VM이 있는 서버의 호스트 이름
  • ManagementIP - SLB VM에 대한 관리 네트워크 IP 주소
  • MACAddress - SLB VM의 MAC 주소
  • PAIPAddress - SLB VM에 대한 PA(공급자 네트워크 IP 주소)
  • PAMACAddress - SLB VM에 대한 PA(공급자 네트워크 IP 주소)

게이트웨이 VM 섹션

SDN에는 최소 2개의 게이트웨이 VM(활성 VM 1개 및 중복 1개)이 권장됩니다.

섹션은 Gateways = @() 게이트웨이 VM에 사용됩니다. 각 게이트웨이 VM의 매개 변수가 MACAddress 일반 설정에 SDNMACPool 나열된 범위를 벗어났는지 확인합니다. 및 BackendMacFrontEndMac 범위 내의 에 SDNMACPool 있어야 합니다. 범위의 끝에서 및 BackendMac 매개 변수를 가져와 FrontEndMac 야 합니다SDNMACPool.

게이트웨이 구성 요소를 배포하지 않으면 이 섹션을 비워 둡니다(Gateways = @()).

  • ComputerName - 게이트웨이 VM의 이름
  • HostName - 게이트웨이 VM이 있는 서버의 호스트 이름
  • ManagementIP - 게이트웨이 VM에 대한 관리 네트워크 IP 주소
  • MACAddress - 게이트웨이 VM의 MAC 주소
  • FrontEndMac - 게이트웨이 VM에 대한 공급자 네트워크 프런트 엔드 MAC 주소
  • BackEndMac - 게이트웨이 VM에 대한 공급자 네트워크 백 엔드 MAC 주소

SLB 및 게이트웨이에 대한 추가 설정

다음 추가 매개 변수는 SLB 및 게이트웨이 VM에서 사용됩니다. SLB 또는 게이트웨이 VM을 배포하지 않는 경우 다음 값을 비워 둡니다.

  • SDNASN - SDN 에서 네트워크 스위치와 피어링하는 데 사용하는 ASN(자치 시스템 번호)
  • RouterASN - 게이트웨이 라우터 ASN
  • RouterIPAddress - 게이트웨이 라우터 IP 주소
  • PrivateVIPSubnet - 프라이빗 서브넷에 대한 VIP(가상 IP 주소)
  • PublicVIPSubnet - 공용 서브넷의 가상 IP 주소

다음 추가 매개 변수는 게이트웨이 VM에서만 사용됩니다. 게이트웨이 VM을 배포하지 않는 경우 다음 값을 비워 둡니다.

  • PoolName - 모든 게이트웨이 VM에서 사용하는 풀 이름

  • GRESubnet - GRE용 VIP 서브넷(GRE 연결을 사용하는 경우)

  • 용량 - 풀의 각 게이트웨이 VM에 대한 Kbps 용량

  • RedundantCount - 중복 모드의 게이트웨이 수입니다. 기본값은 1입니다. 중복 게이트웨이에는 활성 연결이 없습니다. 활성 게이트웨이가 다운되면 해당 게이트웨이의 연결이 중복 게이트웨이로 이동하고 중복 게이트웨이가 활성화됩니다.

    참고

    RedundantCount 값을 입력하는 경우 게이트웨이 VM의 총 수가 RedundantCount보다 하나 이상 많은지 확인합니다. 기본적으로 RedundantCount 는 1이므로 게이트웨이 연결을 호스트하는 활성 게이트웨이가 1개 이상 있는지 확인하려면 게이트웨이 VM이 2개 이상 있어야 합니다.

테넌트 오버레이 네트워크에 대한 설정

테넌트용 오버레이 가상화된 네트워크를 배포하고 관리하는 경우 다음 매개 변수가 사용됩니다. 네트워크 컨트롤러를 사용하여 기존 VLAN 네트워크를 관리하는 경우 이러한 값을 비워 둘 수 있습니다.

  • PASubnet - PA(공급자 주소) 네트워크의 서브넷
  • PAVLANID - PA 네트워크에 대한 VLAN ID
  • PAGateway - PA 네트워크 게이트웨이의 IP 주소
  • PAPoolStart - PA 네트워크 풀의 시작 IP 주소
  • PAPoolEnd - PA 네트워크 풀의 끝 IP 주소

HNV(Hyper-V 네트워크 가상화) 공급자 논리 네트워크가 IP 주소를 할당하는 방법은 다음과 같습니다. 이를 사용하여 HNV 공급자 네트워크의 주소 공간을 계획합니다.

  • 각 물리적 서버에 두 개의 IP 주소를 할당합니다.
  • 각 SLB MUX VM에 하나의 IP 주소를 할당합니다.
  • 각 게이트웨이 VM에 하나의 IP 주소 할당

배포 스크립트 실행

SDN Express 스크립트는 지정된 SDN 인프라를 배포합니다. 스크립트가 완료되면 SDN 인프라를 VM 워크로드 배포에 사용할 준비가 됩니다.

  1. 배포 스크립트를 README.md 실행하는 방법에 대한 최신 정보는 파일을 검토합니다.

  2. 클러스터 호스트 서버에 대한 관리 자격 증명이 있는 사용자 계정에서 다음 명령을 실행합니다.

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
    
  3. NC VM을 만든 후 DNS 서버에서 네트워크 컨트롤러 클러스터 이름에 대한 동적 DNS 업데이트를 구성합니다. 자세한 내용은 동적 DNS 업데이트를 참조하세요.

구성 샘플 파일

SDN을 배포하기 위한 다음 구성 샘플 파일은 Microsoft SDN GitHub 리포지토리에서 사용할 수 있습니다.

  • 기존 VLAN networks.psd1 - 기존 VLAN 네트워크에서 마이크로 세분화 및 서비스 품질과 같은 네트워크 정책을 관리하기 위해 네트워크 컨트롤러를 배포합니다.

  • 가상화된 network.psd1 - 가상 네트워크에서 가상 네트워크 및 네트워크 정책을 관리하기 위한 네트워크 컨트롤러를 배포합니다.

  • Software Load Balancer.psd1 - 가상 네트워크의 부하 분산을 위해 네트워크 컨트롤러 및 소프트웨어 Load Balancer 배포합니다.

  • SDN Gateways.psd1 - 외부 네트워크에 연결하기 위해 네트워크 컨트롤러, 소프트웨어 Load Balancer 및 게이트웨이를 배포합니다.

다음 단계