Bu makalede, Azure'da Standart Load Balancer kullanarak bir çift yığın (IPv4 + IPv6) uygulamasının nasıl dağıtılacağı gösterilmektedir. Senaryo, çift yığın alt ağına sahip bir çift yığın sanal ağı, çift (IPv4 + IPv6) ön uç yapılandırmalarına sahip Standart Load Balancer, çift IP yapılandırmasına sahip NIC'lere sahip VM'ler, çift ağ güvenlik grubu kuralları ve çift genel IP'leri içerir.
Azure'da Standart Load Balancer kullanarak bir çift yığın (IPv4 + IPv6) uygulaması dağıtmak için Azure PowerShell'deki bu yönergeleri izleyin.
Kaynak grubu oluşturma
Çift yığınlı sanal ağınızı oluşturabilmeniz için önce New-AzResourceGroup ile bir kaynak grubu oluşturmanız gerekir. Aşağıdaki örnek, doğu ABD konumunda myRGDualStack adlı bir kaynak grubu oluşturur:
$rg = New-AzResourceGroup `
-ResourceGroupName "dsRG1" `
-Location "east us"
IPv4 ve IPv6 genel IP adresleri oluşturma
Sanal makinelerinize İnternet'ten erişmek için yük dengeleyici için IPv4 ve IPv6 genel IP adresleri gerekir. New-AzPublicIpAddress ile genel IP adresleri oluşturun. Aşağıdaki örnek, dsRG1 kaynak grubunda dsPublicIP_v4 ve dsPublicIP_v6 adlı IPv4 ve IPv6 genel IP adresi oluşturur:
$PublicIP_v4 = New-AzPublicIpAddress `
-Name "dsPublicIP_v4" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv4 `
-Sku Standard
$PublicIP_v6 = New-AzPublicIpAddress `
-Name "dsPublicIP_v6" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-IpAddressVersion IPv6 `
-Sku Standard
RDP bağlantısı kullanarak sanal makinelerinize erişmek için New-AzPublicIpAddress ile sanal makineler için bir IPV4 genel IP adresleri oluşturun.
$RdpPublicIP_1 = New-AzPublicIpAddress `
-Name "RdpPublicIP_1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-Sku Standard `
-IpAddressVersion IPv4
$RdpPublicIP_2 = New-AzPublicIpAddress `
-Name "RdpPublicIP_2" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-AllocationMethod Static `
-Sku Standard `
-IpAddressVersion IPv4
Standart Load Balancer oluştur
Bu bölümde yük dengeleyici için çift ön uç IP'sini (IPv4 ve IPv6) ve arka uç adres havuzunu yapılandıracak ve ardından bir Standart Load Balancer oluşturacaksınız.
Ön uç IP oluşturma
New-AzLoadBalancerFrontendIpConfig ile bir ön uç IP'sini oluşturun. Aşağıdaki örnek, dsLbFrontEnd_v4 ve dsLbFrontEnd_v6 adlı IPv4 ve IPv6 ön uç IP yapılandırmaları oluşturur:
$frontendIPv4 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v4" `
-PublicIpAddress $PublicIP_v4
$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
Daha sonra dağıtılan sanal makineler için New-AzLoadBalancerBackendAddressPoolConfig ile bir arka uç adres havuzu oluşturun. Aşağıdaki örnek, hem IPV4 hem de IPv6 NIC yapılandırmalarına sahip sanal makineleri dahil etmek için dsLbBackEndPool_v4 ve dsLbBackEndPool_v6 adlı arka uç adres havuzları oluşturur:
$backendPoolv4 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v4"
$backendPoolv6 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v6"
Sağlık kontrol sondası oluşturma
ADD-AzLoadBalancerProbeConfig komutunu kullanarak VM'lerin sistem durumunu izlemek üzere bir sistem durumu araştırması oluşturun.
$probe = New-AzLoadBalancerProbeConfig -Name MyProbe -Protocol tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
Yük dengeleyici kuralı oluşturma
Trafiğin VM’lere dağıtımını tanımlamak için bir yük dengeleyici kuralı kullanılır. Gerekli kaynak ve hedef bağlantı noktalarının yanı sıra gelen trafik için ön uç IP yapılandırması ve trafiği almak için arka uç IP havuzu tanımlamanız gerekir. Yalnızca iyi durumdaki VM'lerin trafik aldığından emin olmak için isteğe bağlı olarak bir sistem durumu yoklaması tanımlayabilirsiniz. Temel yük dengeleyici, VM'ler üzerindeki hem IPv4 hem de IPv6 uç noktaların sağlık durumunu değerlendirmek için bir IPv4 denetimi kullanır. Standart yük dengeleyici açıkça IPv6 durum yoklamaları için destek içerir.
Add-AzLoadBalancerRuleConfig ile bir yük dengeleyici kuralı oluşturun. Aşağıdaki örnek, dsLBrule_v4 ve dsLBrule_v6 adlı yük dengeleyici kuralları oluşturur ve 80 numaralı TCP bağlantı noktasındaki trafiği IPv4 ve IPv6 ön uç IP yapılandırmalarına dengeler:
$lbrule_v4 = New-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v4" `
-FrontendIpConfiguration $frontendIPv4 `
-BackendAddressPool $backendPoolv4 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80 `
-probe $probe
$lbrule_v6 = New-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80 `
-probe $probe
Yük dengeleyici oluşturma
New-AzLoadBalancer komutunu kullanarak bir Standart Yük Dengeleyici oluşturun. Aşağıdaki örnek, önceki adımlarda oluşturduğunuz IPv4 ve IPv6 ön uç IP yapılandırmalarını, arka uç havuzlarını ve yük dengeleme kurallarını kullanarak myLoadBalancer adlı bir genel Standart Load Balancer oluşturur:
$lb = New-AzLoadBalancer `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "MyLoadBalancer" `
-Sku "Standard" `
-FrontendIpConfiguration $frontendIPv4,$frontendIPv6 `
-BackendAddressPool $backendPoolv4,$backendPoolv6 `
-LoadBalancingRule $lbrule_v4,$lbrule_v6 `
-Probe $probe
Ağ kaynakları oluşturma
Bazı VM'leri dağıtmadan ve dengeleyicinizi test etmeden önce destek ağ kaynakları (kullanılabilirlik kümesi, ağ güvenlik grubu, sanal ağ ve sanal NIC'ler) oluşturmanız gerekir.
Kullanılabilirlik kümesi oluşturma
Uygulamanızın yüksek oranda kullanılabilir olmasını sağlamak için VM’lerinizi bir kullanılabilirlik kümesine yerleştirin.
New-AzAvailabilitySet ile bir kullanılabilirlik kümesi oluşturun. Aşağıdaki örnek myAvailabilitySet adında bir kullanılabilirlik kümesi oluşturur:
$avset = New-AzAvailabilitySet `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsAVset" `
-PlatformFaultDomainCount 2 `
-PlatformUpdateDomainCount 2 `
-Sku aligned
Ağ güvenlik grubu oluşturma
Sanal ağınızdaki gelen ve giden iletişimi yöneten kurallar için bir ağ güvenlik grubu oluşturun.
3389 numaralı bağlantı noktası için ağ güvenlik grubu kuralı oluşturma
New-AzNetworkSecurityRuleConfig ile 3389 numaralı bağlantı noktası üzerinden RDP bağlantılarına izin vermek için bir ağ güvenlik grubu kuralı oluşturun.
$rule1 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleRDP' `
-Description 'Allow RDP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389
80 numaralı bağlantı noktası için ağ güvenlik grubu kuralı oluşturma
New-AzNetworkSecurityRuleConfig ile 80 numaralı bağlantı noktası üzerinden İnternet bağlantılarına izin vermek için bir ağ güvenlik grubu kuralı oluşturun.
$rule2 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleHTTP' `
-Description 'Allow HTTP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80
Ağ güvenlik grubu oluşturma
New-AzNetworkSecurityGroup ile bir ağ güvenlik grubu oluşturun.
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsNSG1" `
-SecurityRules $rule1,$rule2
Sanal ağ oluşturma
New-AzVirtualNetwork ile bir sanal ağ oluşturun. Aşağıdaki örnek, mySubnet ile dsVnet adlı bir sanal ağ oluşturur:
# Create dual stack subnet
$subnet = New-AzVirtualNetworkSubnetConfig `
-Name "dsSubnet" `
-AddressPrefix "10.0.0.0/24","fd00:db8:deca:deed::/64"
# Create the virtual network
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsVnet" `
-AddressPrefix "10.0.0.0/16","fd00:db8:deca::/48" `
-Subnet $subnet
NIC’leri oluşturma
New-AzNetworkInterface ile sanal NIC'ler oluşturun. Aşağıdaki örnek, hem IPv4 hem de IPv6 yapılandırmalarına sahip iki sanal NIC oluşturur. (Sonraki adımlarda uygulamanız için oluşturduğunuz her bir VM için bir sanal NIC).
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_1
$Ip6Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp6Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv6 `
-LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 = New-AzNetworkInterface `
-Name "dsNIC1" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-NetworkSecurityGroupId $nsg.Id `
-IpConfiguration $Ip4Config,$Ip6Config
$Ip4Config=New-AzNetworkInterfaceIpConfig `
-Name dsIp4Config `
-Subnet $vnet.subnets[0] `
-PrivateIpAddressVersion IPv4 `
-LoadBalancerBackendAddressPool $backendPoolv4 `
-PublicIpAddress $RdpPublicIP_2
$NIC_2 = New-AzNetworkInterface `
-Name "dsNIC2" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-NetworkSecurityGroupId $nsg.Id `
-IpConfiguration $Ip4Config,$Ip6Config
Sanal makine oluşturma
VM’ler için Get-Credential ile bir yönetici kullanıcı adı ve parola ayarlayın:
$cred = get-credential -Message "DUAL STACK VNET SAMPLE: Please enter the Administrator credential to log into the VMs."
Artık New-AzVM ile VM'leri oluşturabilirsiniz. Aşağıdaki örnek, henüz mevcut değilse iki VM ve gerekli sanal ağ bileşenlerini oluşturur.
$vmsize = "Standard_A2"
$ImagePublisher = "MicrosoftWindowsServer"
$imageOffer = "WindowsServer"
$imageSKU = "2019-Datacenter"
$vmName= "dsVM1"
$VMconfig1 = New-AzVMConfig -VMName $vmName -VMSize $vmsize -AvailabilitySetId $avset.Id 3> $null | Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent 3> $null | Set-AzVMSourceImage -PublisherName $ImagePublisher -Offer $imageOffer -Skus $imageSKU -Version "latest" 3> $null | Set-AzVMOSDisk -Name "$vmName.vhd" -CreateOption fromImage 3> $null | Add-AzVMNetworkInterface -Id $NIC_1.Id 3> $null
$VM1 = New-AzVM -ResourceGroupName $rg.ResourceGroupName -Location $rg.Location -VM $VMconfig1
$vmName= "dsVM2"
$VMconfig2 = New-AzVMConfig -VMName $vmName -VMSize $vmsize -AvailabilitySetId $avset.Id 3> $null | Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent 3> $null | Set-AzVMSourceImage -PublisherName $ImagePublisher -Offer $imageOffer -Skus $imageSKU -Version "latest" 3> $null | Set-AzVMOSDisk -Name "$vmName.vhd" -CreateOption fromImage 3> $null | Add-AzVMNetworkInterface -Id $NIC_2.Id 3> $null
$VM2 = New-AzVM -ResourceGroupName $rg.ResourceGroupName -Location $rg.Location -VM $VMconfig2
IPv4 ve IPv6 uç noktalarının IP adreslerini belirleme
ile get-AzNetworkInterfacebu dağıtımda kullanılan IP'leri özetlemek için kaynak grubundaki tüm Ağ Arabirimi Nesnelerini alın. Ayrıca, IPv4 ve IPv6 uç noktalarının Load Balancer'ın ön uç adreslerini get-AzpublicIpAddress ile alın.
$rgName= "dsRG1"
$NICsInRG= get-AzNetworkInterface -resourceGroupName $rgName
write-host `nSummary of IPs in this Deployment:
write-host ******************************************
foreach ($NIC in $NICsInRG) {
$VMid= $NIC.virtualmachine.id
$VMnamebits= $VMid.split("/")
$VMname= $VMnamebits[($VMnamebits.count-1)]
write-host `nPrivate IP addresses for $VMname
$IPconfigsInNIC= $NIC.IPconfigurations
foreach ($IPconfig in $IPconfigsInNIC) {
$IPaddress= $IPconfig.privateipaddress
write-host " "$IPaddress
IF ($IPconfig.PublicIpAddress.ID) {
$IDbits= ($IPconfig.PublicIpAddress.ID).split("/")
$PipName= $IDbits[($IDbits.count-1)]
$PipObject= get-azPublicIpAddress -name $PipName -resourceGroup $rgName
write-host " "RDP address: $PipObject.IpAddress
}
}
}
write-host `nPublic IP addresses on Load Balancer:
(get-AzpublicIpAddress -resourcegroupname $rgName | where { $_.name -notlike "RdpPublicIP*" }).IpAddress
Aşağıdaki şekilde, iki VM'nin özel IPv4 ve IPv6 adreslerini ve Load Balancer'ın ön uç IPv4 ve IPv6 IP adreslerini listeleyen bir örnek çıktı gösterilmektedir.
Azure portalında IPv6 çift yığınlı sanal ağı görüntüleme
IPv6 çift yığın sanal ağını Azure portalında aşağıdaki gibi görüntüleyebilirsiniz:
- Portalın arama çubuğuna dsVnet yazın.
-
Arama sonuçlarında dsVnet göründüğünde seçin. Bu, dsVnet adlı çift yığınlı sanal ağın Genel Bakış sayfasını başlatır. çift yığın sanal ağı, dsSubnet adlı çift yığın alt ağında bulunan hem IPv4 hem de IPv6 yapılandırmalarına sahip iki NIC'yi gösterir.
Kaynakları temizleme
Artık gerekli olmadığında Remove-AzResourceGroup komutunu kullanarak kaynak grubunu, VM'yi ve tüm ilgili kaynakları kaldırabilirsiniz.
Remove-AzResourceGroup -Name dsRG1
Azure'da Standart Load Balancer kullanarak bir çift yığın (IPv4 + IPv6) uygulaması dağıtmak için Azure CLI'daki bu yönergeleri izleyin.
Kaynak grubu oluşturma
çift yığınlı sanal ağınızı oluşturabilmeniz için önce az group create ile bir kaynak grubu oluşturmanız gerekir. Aşağıdaki örnek eastus konumunda DsResourceGroup01 adlı bir kaynak grubu oluşturur:
az group create \
--name DsResourceGroup01 \
--location eastus
Yük dengeleyici için IPv4 ve IPv6 genel IP adresleri oluşturma
İnternet'te IPv4 ve IPv6 uç noktalarınıza erişmek için yük dengeleyici için IPv4 ve IPv6 genel IP adresleri gerekir.
az network public-ip create ile bir genel IP adresi oluşturun. Aşağıdaki örnek, DsResourceGroup01 kaynak grubunda dsPublicIP_v4 ve dsPublicIP_v6 adlı IPv4 ve IPv6 genel IP adresi oluşturur:
# Create an IPV4 IP address
az network public-ip create \
--name dsPublicIP_v4 \
--resource-group DsResourceGroup01 \
--location eastus \
--sku STANDARD \
--allocation-method static \
--version IPv4
# Create an IPV6 IP address
az network public-ip create \
--name dsPublicIP_v6 \
--resource-group DsResourceGroup01 \
--location eastus \
--sku STANDARD \
--allocation-method static \
--version IPv6
VM'ler için genel IP adresleri oluşturma
İnternet'te vm'lerinize uzaktan erişmek için VM'ler için IPv4 genel IP adreslerine ihtiyacınız vardır.
az network public-ip create ile bir genel IP adresi oluşturun.
az network public-ip create \
--name dsVM0_remote_access \
--resource-group DsResourceGroup01 \
--location eastus \
--sku Standard \
--allocation-method static \
--version IPv4
az network public-ip create \
--name dsVM1_remote_access \
--resource-group DsResourceGroup01 \
--location eastus \
--sku Standard \
--allocation-method static \
--version IPv4
Standart Load Balancer oluştur
Bu bölümde yük dengeleyici için çift ön uç IP'sini (IPv4 ve IPv6) ve arka uç adres havuzunu yapılandıracak ve ardından bir Standart Load Balancer oluşturacaksınız.
Yük dengeleyici oluşturma
dsLB adlı Standart Load Balancer'ı az network lb create komutuyla oluşturun. Bu Load Balancer, önceki adımda oluşturduğunuz IPv4 genel dsPublicIP_v4 IP adresiyle ilişkili dsLbBackEndPool_v4 adlı bir arka uç havuzu ve dsLbFrontEnd_v4 adlı bir ön uç havuzu içerir.
az network lb create \
--name dsLB \
--resource-group DsResourceGroup01 \
--sku Standard \
--location eastus \
--frontend-ip-name dsLbFrontEnd_v4 \
--public-ip-address dsPublicIP_v4 \
--backend-pool-name dsLbBackEndPool_v4
IPv6 ön ucu oluşturma
az network lb frontend-ip create ile bir IPV6 ön uç IP'si oluşturun. Aşağıdaki örnek , dsLbFrontEnd_v6 adlı bir ön uç IP yapılandırması oluşturur ve dsPublicIP_v6 adresini ekler:
az network lb frontend-ip create \
--lb-name dsLB \
--name dsLbFrontEnd_v6 \
--resource-group DsResourceGroup01 \
--public-ip-address dsPublicIP_v6
az network lb address-pool create ile bir IPv6 arka uç adres havuzları oluşturun. Aşağıdaki örnek, IPv6 NIC yapılandırmalarına sahip VM'leri dahil etmek için dsLbBackEndPool_v6 adlı arka uç adres havuzu oluşturur:
az network lb address-pool create \
--lb-name dsLB \
--name dsLbBackEndPool_v6 \
--resource-group DsResourceGroup01
Sağlık kontrol sondası oluşturma
Sanal makinelerin sağlığını izlemek için az network lb probe create komutunu kullanarak bir sağlık denetimi oluşturun.
az network lb probe create -g DsResourceGroup01 --lb-name dsLB -n dsProbe --protocol tcp --port 3389
Yük dengeleyici kuralı oluşturma
Trafiğin VM’lere dağıtımını tanımlamak için bir yük dengeleyici kuralı kullanılır. Gerekli kaynak ve hedef bağlantı noktalarının yanı sıra gelen trafik için ön uç IP yapılandırması ve trafiği almak için arka uç IP havuzu tanımlamanız gerekir.
az network lb rule create komutuyla bir yük dengeleyici kuralı oluşturun. Aşağıdaki örnek, dsLBrule_v4 ve dsLBrule_v6 adlı yük dengeleyici kuralları oluşturur ve 80 numaralı TCP bağlantı noktasındaki trafiği IPv4 ve IPv6 ön uç IP yapılandırmalarına dengeler:
az network lb rule create \
--lb-name dsLB \
--name dsLBrule_v4 \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v4 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v4
az network lb rule create \
--lb-name dsLB \
--name dsLBrule_v6 \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v6 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v6
Ağ kaynakları oluşturma
Bazı VM'leri dağıtmadan önce kullanılabilirlik kümesi, ağ güvenlik grubu, sanal ağ ve sanal NIC'ler gibi destekleyici ağ kaynakları oluşturmanız gerekir.
Kullanılabilirlik kümesi oluşturma
Uygulamanızın kullanılabilirliğini geliştirmek için VM'lerinizi bir kullanılabilirlik kümesine yerleştirin.
az vm availability-set create ile bir kullanılabilirlik kümesi oluşturun. Aşağıdaki örnek, dsAVset adlı bir kullanılabilirlik kümesi oluşturur:
az vm availability-set create \
--name dsAVset \
--resource-group DsResourceGroup01 \
--location eastus \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
Ağ güvenlik grubu oluşturma
Sanal ağınızdaki gelen ve giden iletişimi yöneten kurallar için bir ağ güvenlik grubu oluşturun.
Ağ güvenlik grubu oluşturma
az network nsg create komutunu kullanarak bir ağ güvenlik grubu oluşturun
az network nsg create \
--name dsNSG1 \
--resource-group DsResourceGroup01 \
--location eastus
Gelen ve giden bağlantılar için ağ güvenlik grubu kuralı oluşturma
3389 numaralı bağlantı noktası üzerinden RDP bağlantılarına, bağlantı noktası 80 üzerinden İnternet bağlantısına ve az network nsg rule create ile giden bağlantılara izin vermek için bir ağ güvenlik grubu kuralı oluşturun.
# Create inbound rule for port 3389
az network nsg rule create \
--name allowRdpIn \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 100 \
--description "Allow Remote Desktop In" \
--access Allow \
--protocol "*" \
--direction Inbound \
--source-address-prefixes "*" \
--source-port-ranges "*" \
--destination-address-prefixes "*" \
--destination-port-ranges 3389
# Create inbound rule for port 80
az network nsg rule create \
--name allowHTTPIn \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 200 \
--description "Allow HTTP In" \
--access Allow \
--protocol "*" \
--direction Inbound \
--source-address-prefixes "*" \
--source-port-ranges 80 \
--destination-address-prefixes "*" \
--destination-port-ranges 80
# Create outbound rule
az network nsg rule create \
--name allowAllOut \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 300 \
--description "Allow All Out" \
--access Allow \
--protocol "*" \
--direction Outbound \
--source-address-prefixes "*" \
--source-port-ranges "*" \
--destination-address-prefixes "*" \
--destination-port-ranges "*"
Sanal ağ oluşturma
az network vnet create komutu ile bir sanal ağ oluşturun. Aşağıdaki örnek, dsSubNET_v4 vedsSubNET_v6 alt ağlarıyla dsVNET adlı bir sanal ağ oluşturur:
# Create the virtual network
az network vnet create \
--name dsVNET \
--resource-group DsResourceGroup01 \
--location eastus \
--address-prefixes "10.0.0.0/16" "fd00:db8:deca::/48"
# Create a single dual stack subnet
az network vnet subnet create \
--name dsSubNET \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--address-prefixes "10.0.0.0/24" "fd00:db8:deca:deed::/64" \
--network-security-group dsNSG1
NIC’leri oluşturma
az network nic create ile her VM için sanal NIC'ler oluşturun. Aşağıdaki örnek, her VM için bir sanal NIC oluşturur. Her NIC'nin iki IP yapılandırması vardır (1 IPv4 yapılandırması, 1 IPv6 yapılandırması).
IPV6 yapılandırmasını az network nic ip-config create komutuyla oluşturursunuz.
# Create NICs
az network nic create \
--name dsNIC0 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM0_remote_access
az network nic create \
--name dsNIC1 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM1_remote_access
# Create IPV6 configurations for each NIC
az network nic ip-config create \
--name dsIp6Config_NIC0 \
--nic-name dsNIC0 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB
az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name dsNIC1 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB
Sanal makine oluşturma
az vm create ile VM'leri oluşturun. Aşağıdaki örnek, henüz mevcut değilse iki VM ve gerekli sanal ağ bileşenlerini oluşturur.
Aşağıdaki gibi sanal makine dsVM0 oluşturun:
az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Aşağıdaki gibi dsVM1 sanal makinesi oluşturun:
az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Azure portalında IPv6 çift yığınlı sanal ağı görüntüleme
IPv6 çift yığın sanal ağını Azure portalında aşağıdaki gibi görüntüleyebilirsiniz:
- Portalın arama çubuğuna dsVnet yazın.
- Arama sonuçlarında myVirtualNetwork göründüğünde seçin. Bu, dsVnet adlı çift yığınlı sanal ağın Genel Bakış sayfasını başlatır. çift yığın sanal ağı, dsSubnet adlı çift yığın alt ağında bulunan hem IPv4 hem de IPv6 yapılandırmalarına sahip iki NIC'yi gösterir.
Kaynakları temizleme
Artık gerekli değilse, az group delete komutunu kullanarak kaynak grubunu, VM’yi ve tüm ilgili kaynakları kaldırabilirsiniz.
az group delete --name DsResourceGroup01
Azure'da Standart Load Balancer kullanarak bir çift yığın (IPv4 + IPv6) uygulaması dağıtmak için bu makalede açıklanan şablonu kullanın.
Gerekli yapılandırmalar
Nerede olması gerektiğini görmek için şablondaki şablon bölümlerini arayın.
Sanal ağ için IPv6 adres alanı
Eklenecek şablon bölümü:
"addressSpace": {
"addressPrefixes": [
"[variables('vnetv4AddressRange')]",
"[variables('vnetv6AddressRange')]"
IPv6 sanal ağ adres alanı içindeki IPv6 alt ağı
Eklenecek şablon bölümü:
{
"name": "V6Subnet",
"properties": {
"addressPrefix": "[variables('subnetv6AddressRange')]"
}
NIC için IPv6 yapılandırması
Eklenecek şablon bölümü:
{
"name": "ipconfig-v6",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"privateIPAddressVersion":"IPv6",
"subnet": {
"id": "[variables('v6-subnet-id')]"
},
"loadBalancerBackendAddressPools": [
{
"id": "[concat(resourceId('Microsoft.Network/loadBalancers','loadBalancer'),'/backendAddressPools/LBBAP-v6')]"
}
IPv6 ağ güvenlik grubu (NSG) kuralları
{
"name": "default-allow-rdp",
"properties": {
"description": "Allow RDP",
"protocol": "Tcp",
"sourcePortRange": "33819-33829",
"destinationPortRange": "5000-6000",
"sourceAddressPrefix": "fd00:db8:deca:deed::/64",
"destinationAddressPrefix": "fd00:db8:deca:deed::/64",
"access": "Allow",
"priority": 1003,
"direction": "Inbound"
}
Koşullu yapılandırma
Ağ sanal gereci kullanıyorsanız, Yönlendirme Tablosu'na IPv6 yolları ekleyin. Aksi takdirde, bu yapılandırma isteğe bağlıdır.
{
"type": "Microsoft.Network/routeTables",
"name": "v6route",
"apiVersion": "[variables('ApiVersion')]",
"location": "[resourceGroup().location]",
"properties": {
"routes": [
{
"name": "v6route",
"properties": {
"addressPrefix": "fd00:db8:deca:deed::/64",
"nextHopType": "VirtualAppliance",
"nextHopIpAddress": "fd00:db8:ace:f00d::1"
}
İsteğe bağlı yapılandırma
Sanal ağ için IPv6 İnternet erişimi
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
IPv6 Genel IP adresleri
{
"apiVersion": "[variables('ApiVersion')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "lbpublicip-v6",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard"
},
"properties": {
"publicIPAllocationMethod": "Static",
"publicIPAddressVersion": "IPv6"
}
Yük Dengeleyici için IPv6 Ön Ucu
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
Load Balancer için IPv6 Arka uç adres havuzu
"backendAddressPool": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers', 'loadBalancer'), '/backendAddressPools/LBBAP-v6')]"
},
"protocol": "Tcp",
"frontendPort": 8080,
"backendPort": 8080
},
"name": "lbrule-v6"
Gelen ve giden bağlantı noktalarını ilişkilendirmek için IPv6 yük dengeleyici kuralları
{
"name": "ipconfig-v6",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"privateIPAddressVersion":"IPv6",
"subnet": {
"id": "[variables('v6-subnet-id')]"
},
"loadBalancerBackendAddressPools": [
{
"id": "[concat(resourceId('Microsoft.Network/loadBalancers','loadBalancer'),'/backendAddressPools/LBBAP-v6')]"
}
Örnek VM şablonu JSON
Azure Resource Manager şablonunu kullanarak Azure sanal ağında bir IPv6 çift yığın uygulaması dağıtmak için örnek şablonu burada görüntüleyin.