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

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

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

Windows 관리 센터 또는 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 또는 os(Windows Server 운영 체제)를 포함하는 VHDX 파일을 사용합니다. VHDX의 OS 버전은 Azure Stack HCI Hyper-V 호스트에서 사용하는 버전과 일치해야 합니다. 이 VHDX 파일은 모든 SDN 인프라 구성 요소에서 사용됩니다.

ISO에서 Azure Stack HCI OS를 다운로드하여 설치한 경우 Convert-WindowsImage 유틸리티를 사용하여 VHDX 파일을 만들 수 있습니다.

다음은 다음을 사용하는 예제를 보여줍니다.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

참고

이 스크립트는 Windows 클라이언트 컴퓨터에서 실행해야 합니다. 관리자 권한으로 실행하고 명령을 사용하여 Set-ExecutionPolicy 스크립트에 대한 실행 정책을 수정해야 할 수 있습니다.

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에서 사용되는 VHD 파일 경로(NC, SLB, GW)
  • VHDFile - 모든 SDN 인프라 VM에서 사용되는 VHD 파일 이름
  • VMLocation - SDN 인프라 VM에 대한 파일 경로
  • JoinDomain - SDN 인프라 VM이 조인되는 도메인
  • SDNMacPoolStart - 클라이언트 워크로드 VM에 대한 MAC 풀 주소 시작
  • SDNMacPoolEnd - 클라이언트 워크로드 VM에 대한 최종 MAC 풀 주소
  • ManagementSubnet - NC에서 Hyper-V 호스트, SLB 및 GW 구성 요소를 관리하는 데 사용하는 관리 네트워크 서브넷
  • ManagementGateway - 관리 네트워크의 게이트웨이 주소
  • ManagementDNS - 관리 네트워크에 대한 DNS 서버
  • ManagementVLANID - 관리 네트워크에 대한 VLAN ID
  • DomainJoinUsername - 관리자 사용자 이름
  • LocalAdminDomainUser - 로컬 관리자 사용자 이름
  • RestName - 관리 클라이언트(예: Windows 관리 센터)에서 NC와 통신하는 데 사용되는 DNS 이름
  • 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의 MACAddress 매개 변수와 PAMACAddress 매개 변수가 일반 설정에 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에는 최소 3개의 게이트웨이 VM(활성 VM 2개와 중복 1개)이 권장됩니다.

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

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

  • ComputerName - 게이트웨이 VM의 이름
  • HostName - 게이트웨이 VM이 있는 서버의 호스트 이름
  • ManagementIP - 게이트웨이 VM에 대한 관리 네트워크 IP 주소
  • MACAddress - 게이트웨이 VM의 MAC 주소
  • FrontEndIp - 게이트웨이 VM에 대한 공급자 네트워크 프런트 엔드 IP 주소
  • 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 용량

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

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

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

배포 스크립트 실행

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

  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 네트워크에서 마이크로 분리 및 서비스 품질과 같은 네트워크 정책을 관리하기 위한 네트워크 컨트롤러를 배포합니다.

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

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

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

다음 단계