Product Documentation

부록

Aug 30, 2016
이 부록에서는 Azure PowerShell에서 다음 작업을 수행하는 데 사용할 수 있는 cmdlet을 제공합니다.
  • Azure Resource Manager에서 NetScaler 프로비전 및 구성
    • 독립 실행형 모드로 NetScaler VPX 프로비전
    • Azure 외부 부하 분산 장치로 NetScaler VPX 고가용성 구성
    • Azure 내부 부하 분산 장치로 NetScaler VPX 고가용성 구성
  • Azure Service Management에서 NetScaler 프로비전 및 구성
    • Azure 클라우드에서 NetScaler 가상 컴퓨터 프로비전
    • Azure 외부 부하 분산 장치로 NetScaler VPX 고가용성 구성
    • Azure 내부 부하 분산 장치로 NetScaler VPX 고가용성 구성
    • Azure에서 정적 IIP로 NetScaler VPX 프로비전

Azure PowerShell에서 독립 실행형 모드로 NetScaler VPX 프로비전

1.   리소스 그룹 만들기

$rgName="<리소스 그룹 이름>"

$locName="<위치 이름(예: West US)>"

New-AzureRmResourceGroup -Name $rgName -Location $locName

예를 들면 다음과 같습니다.

$rgName = "ARM-VPX"

$locName = "East Asia"

New-AzureRmResourceGroup -Name $rgName -Location $locName

 

2.   스토리지 계정 만들기: 스토리지 계정에 대해 소문자와 숫자만 포함된 글로벌 고유 이름을 선택해야 합니다.

$saName=""

$saType=""

New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName –Type $saType -Location $locName

예를 들면 다음과 같습니다.

$saName="vpxstorage"

$saType="Standard_LRS"

New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName –Type $saType -Location $locName

 

3.   가용성 집합

$avName=""

New-AzureRmAvailabilitySet –Name $avName –ResourceGroupName $rgName -Location $locName

 

4.   이전에 만들지 않은 경우 서브넷이 1개 이상인 새 Vnet 추가

$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix 10.0.1.0/24 ß(이 매개 변수 값은 요구 사항에 따라야 함)

$backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix 10.0.2.0/24

New-AzureRmVirtualNetwork -Name TestNet -ResourceGroupName $rgName -Location $locName -AddressPrefix 10.0.0.0/16 -Subnet $frontendSubnet,$backendSubnet

예를 들면 다음과 같습니다.

$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix 10.0.1.0/24

$backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix 10.0.2.0/24

New-AzureRmVirtualNetwork -Name TestNet -ResourceGroupName $rgName -Location $locName -AddressPrefix 10.0.0.0/16

 -Subnet $frontendSubnet,$backendSubnet

 

5.   NIC 만들기:

위의 서브넷에서 프런트 엔드 서브넷은 인덱스 0에 있고 백엔드 서브넷은 인덱스 1에 있습니다. NIC는 여러 가지 방법으로 만들 수 있습니다.

a)      공용 IP 주소를 사용하는 NIC:

$nicName=""

$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic

$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id

b)     공용 IP 및 DNS 레이블을 사용하는 NIC

$nicName=""

$domName="<도메인 이름 레이블>"

$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -DomainNameLabel $domName -Location $locName -AllocationMethod Dynamic

$domName을 할당하기 전에 다음 명령을 사용하여 사용 가능 여부를 확인하십시오.

Test-AzureRmDnsAvailability -DomainQualifiedName $domName -Location $locName

$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id

예를 들면 다음과 같습니다.

$nicName="frontendNIC"

$domName="vpxazure"

$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -DomainNameLabel $domName -Location

$locName -AllocationMethod Dynamic

$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.

Subnets[0].Id -PublicIpAddressId $pip.Id

c)      동적 공용 주소 및 정적 사설 IP 주소를 사용하는 NIC       

$nicName=""

$staticIP="<서브넷에서 사용 가능한 정적 IP 주소>"

$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic

$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id -PrivateIpAddress $staticIP

 

6.   VM 개체 만들기

$vmName=""

$vmSize=""

$avSet=Get-AzureRmAvailabilitySet –Name $avName –ResourceGroupName $rgName

$vm=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id

 

7.    필요한 이미지 가져오기

$pubName="<이미지 게시자 이름>"

$offerName="<이미지 제공 이름>"

$skuName="<이미지 SKU 이름>"

$cred=Get-Credential -Message "Type the name and password of the local administrator account."

VPX 로그인에 사용하는 자격 증명 입력

$vm=Set-AzureRmVMOperatingSystem -VM $vm -Linux -ComputerName $vmName -Credential $cred -Verbose

$vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"

$vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id

예를 들면 다음과 같습니다.

$pubName="citrix"

 

다음 명령은 Citrix의 모든 제공 프로그램을 표시할 때 사용됩니다.

Get-AzureRMVMImageOffer -Location $locName -Publisher $pubName | Select Offer

$offerName="netscalervpx110-6531"

 

다음 명령은 특정 제공 이름에 대한 게시자가 제공하는 sku를 확인할 때 사용됩니다.

Get-AzureRMVMImageSku -Location $locName -Publisher $pubName -Offer $offerName | Select Skus

 

8.   VM 만들기

$diskName=""

예를 들면 다음과 같습니다.

$diskName="dynamic”

$storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName

$osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName  + ".vhd"

$vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskName -VhdUri $osDiskUri -CreateOption fromImage

MarketPlace에서 제공되는 이미지에서 VM을 만드는 경우 다음 명령을 사용하여 VM 계획을 지정하십시오.

Set-AzureRmVMPlan -VM $vm -Publisher citrix -Product netscalervpx110-6531 -Name netscalerbyol

 

참고: Product 매개 변수는 이전에 지정한 제공 Name 매개 변수와 일치해야 합니다. Name 매개 변수는 이전에 선택한 sku와 일치해야 합니다.

New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm

Azure 외부 부하 분산 장치로 HA 모드의 NetScaler VPX 프로비전

1)      리소스 그룹 만들기

$rgName="<리소스 그룹 이름>"

$locName="<위치 이름(예: West US)>"

New-AzureRmResourceGroup -Name $rgName -Location $locName

예를 들면 다음과 같습니다.

$rgName = "ARM-LB-NS"

$locName = "East Asia"

New-AzureRmResourceGroup -Name $rgName -Location $locName

 

2)      스토리지 계정 만들기: 스토리지 계정에 대해 소문자와 숫자만 포함된 글로벌 고유 이름을 선택해야 합니다.

$saName=""

$saType=""

New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName –Type $saType -Location $locName

예를 들면 다음과 같습니다.

$saName="vpxstorage"

$saType="Standard_LRS"

New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName –Type $saType -Location $locName

 

3)      가용성 집합

$avName=""

New-AzureRmAvailabilitySet –Name $avName –ResourceGroupName $rgName -Location $locName

 

4)      이전에 만들지 않은 경우 서브넷이 1개 이상인 새 Vnet 추가

$vnetName = “LBVnet”

$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix 10.0.1.0/24

참고: AddressPrefix 매개 변수 값은 요구 사항에 따라야 합니다.

$backendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix 10.0.2.0/24

New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $locName -AddressPrefix 10.0.0.0/16 -Subnet $frontendSubnet,$backendSubnet

 

5)      공용 IP 만들기

$publicIP1 = New-AzureRmPublicIpAddress -Name PublicIp1 -ResourceGroupName $rgName -Location $locName –AllocationMethod Static -DomainNameLabel nsvpx

참고: 사용하기 전에 DomainNameLabel에 대한 값을 사용할 수 있는지 확인하십시오.

 

6)      지정된 공용 IP에 대한 프런트 엔드 IP 만들기

$FIPName = “ELBFIP”

$frontendIP1 = New-AzureRmLoadBalancerFrontendIpConfig -Name $FIPName -PublicIpAddress $publicIP1

 

7)      백엔드 풀 만들기

$BEPool = “LB-backend-Pool”

$beaddresspool1= New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BEPool

 

8)      상태 프로브 만들기:

포트 9000을 사용하고 간격을 5초로 하여 TCP 상태 프로브를 만듭니다.

$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name HealthProbe -Protocol Tcp -Port 9000 –IntervalInSeconds 5 -ProbeCount 2

 

9)      부하 분산을 수행하려는 서비스에 대해 LB 규칙 만들기.

예를 들어 다음에서는 http 서비스를 부하 분산합니다.

$lbrule1 = New-AzureRmLoadBalancerRuleConfig -Name "HTTP-LB" -FrontendIpConfiguration $frontendIP1 -BackendAddressPool  $beAddressPool1 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80

 

10)   인바운드 NAT 규칙 만들기:

부하 분산이 필요하지 않은 서비스의 경우 NAT 규칙을 만듭니다.

예를 들어 VPX 인스턴스에 대한 ssh 액세스가 있을 수 있습니다.

참고: Protocol-FrontEndPort-BackendPort 조합은 2개의 NAT 규칙에 대해 동일해서는 안 됩니다.

$inboundNATRule1= New-AzureRmLoadBalancerInboundNatRuleConfig -Name SSH1 -FrontendIpConfiguration $frontendIP1 -Protocol TCP -FrontendPort 22 -BackendPort 22

$inboundNATRule2= New-AzureRmLoadBalancerInboundNatRuleConfig -Name SSH2 -FrontendIpConfiguration $frontendIP1 -Protocol TCP -FrontendPort 10022 -BackendPort 22

11)   부하 분산 장치 엔터티 만들기

$NRPLB = New-AzureRmLoadBalancer -ResourceGroupName $rgName -Name ELB -Location $locName -InboundNatRule $inboundNATRule1, $inboundNATRule2 -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule1 -BackendAddressPool $beAddressPool1 -Probe $healthProbe

 

12)   NICs 만들기.

NIC 2개를 만들고 각 NIC를 VPX 인스턴스에 연결합니다.

a)      NIC1을 VPX1에 연결

예를 들면 다음과 같습니다.

$nicName="NIC1”

$lbName="ELB"

$bePoolIndex=0  ß 규칙 인덱스는 0부터 시작합니다.

$natRuleIndex=0

$subnetIndex=0 ß 프런트 엔드 서브넷 인덱스

$lb=Get-AzureRmLoadBalancer -Name $lbName -ResourceGroupName $rgName

$nic1=New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -Subnet $vnet.Subnets[$subnetIndex] -LoadBalancerBackendAddressPool $lb.BackendAddressPools[$bePoolIndex] -LoadBalancerInboundNatRule $lb.InboundNatRules[$natRuleIndex]

b)      NIC2를 VPX2에 연결

예를 들면 다음과 같습니다.

$nicName="NIC2”

$lbName="ELB"

$bePoolIndex=0

$natRuleIndex=1 ß 사용해야 하는 두 번째 인바운드 NAT(ssh) 규칙

$subnetIndex=0 ß 프런트 엔드 서브넷 인덱스

$lb=Get-AzureRmLoadBalancer -Name $lbName -ResourceGroupName $rgName

$nic2=New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -Subnet $vnet.Subnets[$subnetIndex] -LoadBalancerBackendAddressPool $lb.BackendAddressPools[$bePoolIndex] -LoadBalancerInboundNatRule  $lb.InboundNatRules[$natRuleIndex]

 

13)   이제 VPX 인스턴스 만들기.

동일한 리소스 그룹 및 가용성 집합에 속한 두 개의 VPX 인스턴스를 만들어 외부 부하 분산 장치에 연결합니다.

a)      VPX 1

예를 들면 다음과 같습니다.

$vmName="VPX1"

$vmSize="Standard_A3"

$avSet=Get-AzureRmAvailabilitySet –Name $avName –ResourceGroupName $rgName

$vm1=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id

$cred=Get-Credential -Message "Type Credentials which will be used to login to VPX instance"

$vm1=Set-AzureRmVMOperatingSystem -VM $vm1 -Linux -ComputerName $vmName -Credential $cred -Verbose

$vm1=Set-AzureRmVMSourceImage -VM $vm1 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"

$vm1=Add-AzureRmVMNetworkInterface -VM $vm1 -Id $nic1.Id

$diskName="dynamic” 

$storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName

$osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds1/" + $diskName  + ".vhd"

$vm1=Set-AzureRmVMOSDisk -VM $vm1 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage

Set-AzureRmVMPlan -VM $vm1 -Publisher $pubName -Product $offerName -Name $skuName

New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm1

 

b)      VPX2

예를 들면 다음과 같습니다.

$vmName="VPX2"

$vmSize="Standard_A3"

$avSet=Get-AzureRmAvailabilitySet –Name $avName –ResourceGroupName $rgName

$vm2=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id

$cred=Get-Credential -Message " Type Credentials which will be used to login to VPX instance "

$vm2=Set-AzureRmVMOperatingSystem -VM $vm2 -Linux -ComputerName $vmName -Credential $cred -Verbose

$vm2=Set-AzureRmVMSourceImage -VM $vm2 -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"

$vm2=Add-AzureRmVMNetworkInterface -VM $vm2 -Id $nic2.Id

$diskName="dynamic” 

$storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName

$osDiskUri1=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds2/" + $diskName  + ".vhd"

$vm2=Set-AzureRmVMOSDisk -VM $vm2 -Name $diskName -VhdUri $osDiskUri1 -CreateOption fromImage

Set-AzureRmVMPlan -VM $vm2 -Publisher $pubName -Product $offerName -Name $skuName

New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm2

 

14)   VPX 인스턴스가 나타나면 두 vpx 인스턴스에 대한 ssh를 통해 VM 구성:

a)      활성-활성: NetScaler CLI에서 동일한 집합의 구성 명령을 실행합니다.

b)      활성-비활성: 두 노드의 NetScaler CLI에서 다음 명령을 실행합니다.

add ha node #nodeID <다른 VPX의 nsip>

그런 다음 구성 명령은 주 노드에서만 실행합니다.

Azure PowerShell을 사용하여 단일 NIC로 NetScaler VPX 프로비전

$image = Get-AzureVMImage -ImageName "vpx_105_51_1040"  $vm = New-AzureVMConfig -Name "vpx_bwc_105" -InstanceSize "Medium" -Image $image.ImageName  Add-AzureProvisioningConfig -VM $vm -Linux -Linuxuser "user" -Password "Citrix123" Set-AzureSubnet –SubnetNames “mgmt.-1” –VM  $vm Set-AzureStaticVNetIP -IPAddress "10.3.1.10" -VM $vm  New-AzureService -ServiceName "vpx105" -Location "North Europe" Set-AzureEndpoint -Name “SSH” –LocalPort 22 -PublicPort 22 -Protocol tcp -VM $vm Add-AzureEndpoint -Name “HTTP” -LocalPort 80 -PublicPort 80 -Protocol tcp -VM $vm  Add-AzureEndpoint -Name “SSL” –LocalPort 443 -PublicPort 443 -Protocol tcp -VM $vm  New-AzureVM -ServiceName "vpx105" -VNetName "systemtestazure" -VM $vm

Azure PowerShell을 사용하여 Azure 외부 부하 분산 장치로 NetScaler VPX 고가용성 구성

$vm1 = "vpxne1" $vm2 = "vpxne2” $svc = "vpxne" $lbsetname = "azurelb" $epname = "vip"  Get-AzureVM -Name $vm1 -ServiceName $svc | Add-AzureEndpoint -LBSetName $lbsetname -Name  $epname -Protocol "tcp" -LocalPort 15000 -PublicPort 15000 –ProbeProtocol TCP –ProbePort  9000 –ProbeIntervalInSeconds 5 | Update-AzureVM  Get-AzureVM -Name $vm1 -ServiceName $svc | Add-AzureEndpoint -LBSetName $lbsetname -Name  $epname -Protocol "tcp" -LocalPort 15000 -PublicPort 15000 –ProbeProtocol TCP –ProbePort  9000 –ProbeIntervalInSeconds 5 | Update-AzureVM

Azure PowerShell을 사용하여 Azure 내부 부하 분산 장치로 NetScaler VPX 고가용성 구성

$svc = "vpxne" [Cloud service name]  $ilb = "vpx-ilb" [Name of the internal load balancer] $subnet = "mgmtsub"  [Management subnet where the default NIC exists]  $IP = "10.3.1.50" [IP address from the management subnet]   Add-AzureInternalLoadBalancer -ServiceName $svc -InternalLoadBalancerName $ilb  –SubnetName $subnet –StaticVNetIPAddress $IP   $vm1 = "vpxne1"  $vm2 = "vpxne2"  $epname = "vip2"  $prot = "TCP"  $locport = 1500  $pubport = 1500  $lbsetname = "azure_ilb"   Get-AzureVM -ServiceName $svc -Name $vm1 | Add-AzureEndpoint -Name $epname -Protocol  $prot -LocalPort $locport -PublicPort $pubport -LBSetName $lbsetname -InternalLoadBalancerName  $ilb –ProbeProtocol TCP –ProbePort 9000 –ProbeIntervalInSeconds 5 | Update-AzureVM   Get-AzureVM -ServiceName $svc -Name $vm2 | Add-AzureEndpoint -Name $epname -Protocol  $prot -LocalPort $locport -PublicPort $pubport -LBSetName $lbsetname -InternalLoadBalancerName  $ilb –ProbeProtocol TCP –ProbePort 9000 –ProbeIntervalInSeconds 5 | Update-AzureVM

Azure PowerShell을 사용하여 정적 IIP로 Azure에 NetScaler VPX 프로비전

정적 내부 IP 주소로 가상 컴퓨터 프로비전을 시작하기 전에 다음을 확인하십시오.
  • Azure 가상 네트워크가 구성되었음
  • Azure PowerShell이 다운로드되었음

Azure PowerShell에서 다음 명령을 실행하여 정적 IIP로 Azure에 NetScaler VPX를 프로비전합니다.

$image = Get-AzureVMImage -ImageName “image1045"  $vm = New-AzureVMConfig -Name "vpx3" -InstanceSize "Medium" -Image $image.ImageName  Add-AzureProvisioningConfig -VM $vm -Linux -Linuxuser "user" -Password “Citrix123”  Set-AzureSubnet  –SubnetNames  “mgmt-1” -VM $vm  Set-AzureStaticVNetIP -IPAddress “1.10.1.5" -VM $vm  New-AzureService -ServiceName “singlevpx" -Location "North Europe”    Set-AzureEndpoint -Name “SSH” –LocalPort 22 -PublicPort 1322 -Protocol tcp -VM $vm  New-AzureVM -ServiceName “singlevpx" -VNetName “pcwestus" -VM $vm