توضح لك هذه المقالة كيفية نشر تطبيق مكدس مزدوج (IPv4 + IPv6) باستخدام موازن التحميل القياسي في Azure. يتضمن السيناريو شبكة ظاهرية مزدوجة المكدس مع شبكة فرعية مزدوجة المكدس ، وموازن تحميل قياسي مع تكوينات الواجهة الأمامية المزدوجة (IPv4 + IPv6) ، وأجهزة ظاهرية مزودة ببطاقات واجهة إنشاء (NIC) تحتوي على تكوين IP مزدوج ، وقواعد مجموعة أمان الشبكة المزدوجة ، وعناوين IP العامة المزدوجة.
اتبع هذه الإرشادات في Azure PowerShell لنشر تطبيق مكدس مزدوج (IPv4 + IPv6) باستخدام موازن التحميل القياسي في Azure.
إنشاء مجموعة موارد
قبل أن تتمكن من إنشاء الشبكة الظاهرية مزدوجة المكدس، يجب عليك إنشاء مجموعة موارد باستخدام New-AzResourceGroup. ينشئ المثال التالي مجموعة موارد تسمى myRGDualStack في موقع شرق الولايات المتحدة :
$rg = New-AzResourceGroup `
-ResourceGroupName "dsRG1" `
-Location "east us"
إنشاء عناوين IP العامة ل IPv4 و IPv6
للوصول إلى أجهزتك الظاهرية من الإنترنت، تحتاج إلى عناوين IP العامة IPv4 وIPv6 لموازن التحميل. قم بإنشاء عناوين IP عامة باستخدام New-AzPublicIpAddress. ينشئ المثال التالي عنوان IP عام IPv4 و IPv6 المسمى dsPublicIP_v4 و dsPublicIP_v6 في مجموعة موارد dsRG1 :
$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، قم بإنشاء عناوين IP عامة IPV4 للأجهزة الظاهرية باستخدام New-AzPublicIpAddress.
$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
إنشاء موازن تحميل قياسي
في هذا القسم، يمكنك تكوين عنوان IP مزدوج للواجهة الأمامية (IPv4 و IPv6) وتجمع عناوين الواجهة الخلفية لموازن التحميل ثم إنشاء موازن تحميل قياسي.
إنشاء عنوان IP للواجهة الأمامية
قم بإنشاء عنوان IP للواجهة الأمامية باستخدام New-AzLoadBalancerFrontendIpConfig. ينشئ المثال التالي تكوينات IP للواجهة الأمامية IPv4 وIPv6 باسم dsLbFrontEnd_v4و dsLbFrontEnd_v6:
$frontendIPv4 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v4" `
-PublicIpAddress $PublicIP_v4
$frontendIPv6 = New-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
قم بإنشاء تجمع عناوين خلفية باستخدام New-AzLoadBalancerBackendAddressPoolConfig للأجهزة الظاهرية التي تم نشرها لاحقا. ينشئ المثال التالي تجمعات عناوين خلفية تسمى dsLbBackEndPool_v4و dsLbBackEndPool_v6 لتضمين الأجهزة الظاهرية مع تكوينات بطاقة واجهة شبكة الإنترنت IPV4 وIPv6:
$backendPoolv4 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v4"
$backendPoolv6 = New-AzLoadBalancerBackendAddressPoolConfig `
-Name "dsLbBackEndPool_v6"
إنشاء فحوصات السلامة
استخدم Add-AzLoadBalancerProbeConfig لإنشاء فحص صحة لمراقبة صحة الأجهزة الظاهرية.
$probe = New-AzLoadBalancerProbeConfig -Name MyProbe -Protocol tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
إنشاء قاعدة موازن التحميل
قاعدة موازنة التحميل التي تُستخدم لتعريف كيفية توزيع حركة المرور على الأجهزة الظاهرية. يمكنك تحديد تكوين IP الأمامية لنسبة استخدام الشبكة الواردة وتجمع IP الخلفية لتلقي نسبة استخدام الشبكة، جنباً إلى جنب مع المصدر المطلوب ومنفذ الوجهة. للتأكد من أن الأجهزة الظاهرية السليمة فقط تتلقى نسبة استخدام الشبكة، يمكنك اختياريا تحديد فحص صحي. يستخدم موازن التحميل الأساسي مسبار IPv4 لتقييم السلامة لكل من نقاط نهاية IPv4 وIPv6 على الأجهزة الظاهرية. يتضمن موازن التحميل القياسي دعما لفحوصات حماية IPv6 بشكل صريح.
قم بإنشاء قاعدة موازن تحميل باستخدام Add-AzLoadBalancerRuleConfig. في المثال التالي، يتم إنشاء قواعد موازنة التحميل المسماة dsLBrule_v4 وdsLBrule_v6 وأرصدة نسبة استخدام الشبكة على منفذ TCP80 لتكوينات IP الأمامية IPv4 و IPv6:
$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
إنشاء موازن التحميل
قم بإنشاء موازن تحميل قياسي باستخدام New-AzLoadBalancer. ينشئ المثال التالي موازن تحميل قياسي عام يسمى myLoadBalancer باستخدام تكوينات IP للواجهة الأمامية IPv4 وIPv6 وتجمعات الواجهة الخلفية وقواعد موازنة التحميل التي قمت بإنشائها في الخطوات السابقة:
$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
إنشاء موارد الشبكة
قبل نشر بعض الأجهزة الظاهرية واختبار الموازن، يجب عليك إنشاء موارد شبكة داعمة - مجموعة التوفر ومجموعة أمان الشبكة والشبكة الظاهرية وبطاقات واجهة الشبكة الظاهرية.
إنشاء مجموعة قابلية وصول
لتحسين قابلية الوصول العالية لتطبيقك، ضع الأجهزة الظاهرية في مجموعة توفر.
قم بإنشاء مجموعة توفر باستخدام New-AzAvailabilitySet. ينشئ المثال التالي مجموعة إتاحة باسم myAvailabilitySet:
$avset = New-AzAvailabilitySet `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsAVset" `
-PlatformFaultDomainCount 2 `
-PlatformUpdateDomainCount 2 `
-Sku aligned
إنشاء مجموعة أمان شبكة الاتصال
قم بإنشاء مجموعة أمان شبكة للقواعد التي تحكم الاتصال الوارد والصادر في شبكتك الظاهرية.
إنشاء قاعدة مجموعة أمان الشبكة للمنفذ 3389
قم بإنشاء قاعدة مجموعة أمان الشبكة للسماح باتصالات RDP من خلال المنفذ 3389 باستخدام New-AzNetworkSecurityRuleConfig.
$rule1 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleRDP' `
-Description 'Allow RDP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 100 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389
إنشاء قاعدة مجموعة أمان الشبكة للمنفذ 80
قم بإنشاء قاعدة مجموعة أمان الشبكة للسماح باتصالات الإنترنت من خلال المنفذ 80 باستخدام New-AzNetworkSecurityRuleConfig.
$rule2 = New-AzNetworkSecurityRuleConfig `
-Name 'myNetworkSecurityGroupRuleHTTP' `
-Description 'Allow HTTP' `
-Access Allow `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80
إنشاء مجموعة أمان الشبكة
إنشاء مجموعة أمان شبكة باستخدام New-AzNetworkSecurityGroup.
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Name "dsNSG1" `
-SecurityRules $rule1,$rule2
إنشاء شبكة ظاهرية
أنشئ شبكة افتراضية باستخدام New-AzVirtualNetwork. ينشئ المثال التالي شبكة ظاهرية باسم dsVnet مع mySubnet:
# 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
إنشاء بطاقات واجهة الشبكة (NICs)
إنشاء بطاقات واجهة شبكة افتراضية باستخدام New-AzNetworkInterface. ينشئ المثال التالي بطاقة واجهة شبكة (NIC) ظاهرية مع تكوينات IPv4 و IPv6. (بطاقة واجهة شبكة (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
أنشئ الأجهزة الظاهرية
قم بتعيين اسم مستخدم وكلمة مرور مسؤول للأجهزة الظاهرية باستخدام Get-Credential:
$cred = get-credential -Message "DUAL STACK VNET SAMPLE: Please enter the Administrator credential to log into the VMs."
يمكنك الآن إنشاء الأجهزة الظاهرية باستخدام New-AzVM. ينشئ المثال التالي جهازين ظاهريين ومكونات الشبكة الظاهرية المطلوبة إذا لم تكن موجودة بالفعل.
$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
تحديد عناوين IP لنقاط نهاية IPv4 و IPv6
احصل على كافة كائنات واجهة الشبكة في مجموعة الموارد لتلخيص عناوين IP المستخدمة في هذا التوزيع باستخدام get-AzNetworkInterface. أيضا، احصل على عناوين الواجهة الأمامية لموازن التحميل لنقطتي نهاية IPv4 وIPv6 باستخدام get-AzpublicIpAddress.
$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
يوضح الشكل التالي عينة من الإخراج يسرد عناوين IPv4 وIPv6 الخاصة للجهازين الظاهريين، وعناوين IP للواجهة الأمامية IPv4 وIPv6 لموازن التحميل.
عرض شبكة IPv6 الظاهرية للمكدس المزدوج في مدخل Microsoft Azure
يمكنك عرض شبكة الاتصال الظاهرية للمكدس المزدوج IPv6 في مدخل Microsoft Azure كما يلي:
- في شريط البحث في المدخل، أدخل myVnet.
- عندما يظهر dsVnet في نتائج البحث ، حدده. سيفتح هذا صفحة الاستعراض العام للشبكة الظاهرية مزدوجة المكدس تحت اسم dsVnet. تُظهر الشبكة الظاهرية للمكدس المزدوج اثنين من بطاقات NICs مع تكوينات IPv4 وIPv6 الموجودة في الشبكة الفرعية للمكدس المزدوج باسم dsSubnet.
تنظيف الموارد
عندما لا تكون هناك حاجة إليها، يمكنك استخدام الأمر Remove-AzResourceGroup لإزالة مجموعة الموارد والجهاز الظاهري وجميع الموارد ذات الصلة.
Remove-AzResourceGroup -Name dsRG1
اتبع هذه الإرشادات في Azure CLI لنشر تطبيق مكدس مزدوج (IPv4 + IPv6) باستخدام موازن التحميل القياسي في Azure.
إنشاء مجموعة موارد
قبل أن تتمكن من إنشاء الشبكة الظاهرية مزدوجة المكدس، يجب إنشاء مجموعة موارد باستخدام az group create. ينشئ المثال التالي مجموعة موارد تسمى DsResourceGroup01 في موقع eastus :
az group create \
--name DsResourceGroup01 \
--location eastus
إنشاء عناوين IP العامة IPv4 وIPv6 لموازن التحميل
للوصول إلى نقاط نهاية IPv4 وIPv6 على الإنترنت، تحتاج إلى عناوين IP العامة IPv4 وIPv6 لموازن التحميل. إنشاء عنوان IP عام باستخدام az network public-ip create. ينشئ المثال التالي عنوان IP العام IPv4 وIPv6 المسمى dsPublicIP_v4dsPublicIP_v6 في مجموعة موارد DsResourceGroup01 :
# 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
إنشاء عناوين IP عامة للأجهزة الظاهرية
للوصول عن بعد إلى الأجهزة الظاهرية الخاصة بك على الإنترنت، تحتاج إلى عناوين IP العامة IPv4 للأجهزة الظاهرية. إنشاء عنوان IP عام باستخدام az network public-ip create.
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
إنشاء موازن تحميل قياسي
في هذا القسم، يمكنك تكوين عنوان IP مزدوج للواجهة الأمامية (IPv4 و IPv6) وتجمع عناوين الواجهة الخلفية لموازن التحميل ثم إنشاء موازن تحميل قياسي.
إنشاء موازن التحميل
قم بإنشاء موازن التحميل القياسي باستخدام az network lb إنشاء المسمى dsLB الذي يتضمن تجمع الواجهة الأمامية المسمى dsLbFrontEnd_v4، وهو تجمع خلفي باسم dsLbBackEndPool_v4 مقترن بعنوان IP العام IPv4 dsPublicIP_v4 الذي قمت بإنشائه في الخطوة السابقة.
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 الأمامية
إنشاء IP للواجهة الأمامية IPV6 مع az network lb frontend-ip create. ينشئ المثال التالي تكوين IP للواجهة الأمامية يسمى dsLbFrontEnd_v6 ويرفق عنوان dsPublicIP_v6 :
az network lb frontend-ip create \
--lb-name dsLB \
--name dsLbFrontEnd_v6 \
--resource-group DsResourceGroup01 \
--public-ip-address dsPublicIP_v6
إنشاء تجمعات عناوين الواجهة الخلفية IPv6 باستخدام az network lb address-pool create. ينشئ المثال التالي تجمع عناوين الخلفية المسمى dsLbBackEndPool_v6 لتضمين الأجهزة الظاهرية مع تكوينات IPv6 NIC:
az network lb address-pool create \
--lb-name dsLB \
--name dsLbBackEndPool_v6 \
--resource-group DsResourceGroup01
إنشاء فحوصات السلامة
إنشاء مسبار صحة باستخدام az network lb probe create لمراقبة صحة الأجهزة الظاهرية.
az network lb probe create -g DsResourceGroup01 --lb-name dsLB -n dsProbe --protocol tcp --port 3389
إنشاء قاعدة موازن التحميل
قاعدة موازنة التحميل التي تُستخدم لتعريف كيفية توزيع حركة المرور على الأجهزة الظاهرية. يمكنك تحديد تكوين IP الأمامية لنسبة استخدام الشبكة الواردة وتجمع IP الخلفية لتلقي نسبة استخدام الشبكة، جنباً إلى جنب مع المصدر المطلوب ومنفذ الوجهة.
إنشاء قاعدة موازن تحميل باستخدام az network lb rule create. في المثال التالي، يتم إنشاء قواعد موازنة التحميل المسماة dsLBrule_v4 وdsLBrule_v6 وأرصدة نسبة استخدام الشبكة على منفذ TCP80 لتكوينات IP الأمامية IPv4 و IPv6:
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
إنشاء موارد الشبكة
قبل نشر بعض الأجهزة الظاهرية، يجب إنشاء موارد شبكة الاتصال الداعمة - مجموعة التوفر ومجموعة أمان الشبكة والشبكة الظاهرية وNIC الظاهرية.
إنشاء مجموعة قابلية وصول
لتحسين توفر تطبيقك، ضع الأجهزة الظاهرية في مجموعة توفر.
إنشاء مجموعة توفر باستخدام az vm availability-set create. في المثال التالي، يتم إنشاء مجموعة توفر باسم dsAVset:
az vm availability-set create \
--name dsAVset \
--resource-group DsResourceGroup01 \
--location eastus \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
إنشاء مجموعة أمان شبكة الاتصال
قم بإنشاء مجموعة أمان شبكة للقواعد التي تحكم الاتصال الوارد والصادر في شبكتك الظاهرية.
إنشاء مجموعة أمان الشبكة
إنشاء مجموعة أمان شبكة باستخدام az network nsg create
az network nsg create \
--name dsNSG1 \
--resource-group DsResourceGroup01 \
--location eastus
إنشاء قاعدة مجموعة أمان الشبكة للاتصالات الواردة والصادرة
إنشاء قاعدة مجموعة أمان الشبكة للسماح باتصالات RDP من خلال المنفذ 3389، والاتصال بالإنترنت من خلال المنفذ 80، وللاتصالات الصادرة باستخدام az network nsg rule create.
# 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 "*"
إنشاء شبكة ظاهرية
قم بإنشاء شبكة ظاهرية باستخدام az network vnet create. ينشئ المثال التالي شبكة ظاهرية تسمى dsVNET مع شبكات فرعية dsSubNET_v4dsSubNET_v6:
# 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
إنشاء بطاقات واجهة الشبكة (NICs)
إنشاء بطاقات واجهة الشبكة الظاهرية لكل جهاز ظاهري باستخدام az network nic create. ينشئ المثال التالي NIC ظاهريا لكل جهاز ظاهري. يحتوي كل NIC على تكويني IP (تكوين IPv4 واحد، تكوين IPv6 واحد). يمكنك إنشاء تكوين IPV6 باستخدام az network nic ip-config create.
# 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
أنشئ الأجهزة الظاهرية
إنشاء الأجهزة الظاهرية باستخدام az vm create. ينشئ المثال التالي جهازين ظاهريين ومكونات الشبكة الظاهرية المطلوبة إذا لم تكن موجودة بالفعل.
إنشاء الجهاز الظاهري dsVM0 كما يلي:
az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
إنشاء الجهاز الظاهري dsVM1 كما يلي:
az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
عرض شبكة IPv6 الظاهرية للمكدس المزدوج في مدخل Microsoft Azure
يمكنك عرض شبكة الاتصال الظاهرية للمكدس المزدوج IPv6 في مدخل Microsoft Azure كما يلي:
- في شريط البحث في المدخل، أدخل myVnet.
- عندما يظهر myVirtualNetwork في نتائج البحث، يُرجى تحديده. سيفتح هذا صفحة الاستعراض العام للشبكة الظاهرية مزدوجة المكدس تحت اسم dsVnet. تُظهر الشبكة الظاهرية للمكدس المزدوج اثنين من بطاقات NICs مع تكوينات IPv4 وIPv6 الموجودة في الشبكة الفرعية للمكدس المزدوج باسم dsSubnet.
تنظيف الموارد
عندما لم تعد هناك حاجة إليها، يمكنك استخدام الأمر "az group delete" لإزالة مجموعة الموارد والأجهزة الافتراضية وجميع الموارد ذات الصلة.
az group delete --name DsResourceGroup01
استخدم القالب الموضح في هذه المقالة لنشر تطبيق مكدس مزدوج (IPv4 + IPv6) باستخدام موازن التحميل القياسي في Azure.
التكوينات المطلوبة
ابحث عن أقسام القالب في القالب لمعرفة مكان حدوثها.
مساحة عنوان IPv6 للشبكة الظاهرية
قسم القالب لإضافته:
"addressSpace": {
"addressPrefixes": [
"[variables('vnetv4AddressRange')]",
"[variables('vnetv6AddressRange')]"
الشبكة الفرعية IPv6 داخل مساحة عنوان الشبكة الظاهرية IPv6
قسم القالب لإضافته:
{
"name": "V6Subnet",
"properties": {
"addressPrefix": "[variables('subnetv6AddressRange')]"
}
تكوين IPv6 لبطاقة واجهة الشبكة (NIC)
قسم القالب لإضافته:
{
"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 (NSG)
{
"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"
}
التكوين الشرطي
إذا كنت تستخدم جهازا ظاهريا للشبكة، فأضف مسارات IPv6 في جدول التوجيه. وإلا، يكون هذا التكوين اختياريا.
{
"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"
}
التكوين الاختياري
الوصول إلى الإنترنت IPv6 للشبكة الظاهرية
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
عناوين IP العامة IPv6
{
"apiVersion": "[variables('ApiVersion')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "lbpublicip-v6",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard"
},
"properties": {
"publicIPAllocationMethod": "Static",
"publicIPAddressVersion": "IPv6"
}
IPv6 الواجهة الأمامية لموازن التحميل
{
"name": "LBFE-v6",
"properties": {
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
}
تجمع عناوين IPv6 الخلفي لموازن التحميل
"backendAddressPool": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers', 'loadBalancer'), '/backendAddressPools/LBBAP-v6')]"
},
"protocol": "Tcp",
"frontendPort": 8080,
"backendPort": 8080
},
"name": "lbrule-v6"
قواعد موازن تحميل IPv6 لإقران المنافذ الواردة والصادرة
{
"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')]"
}
نموذج قالب الجهاز الظاهري JSON
لنشر تطبيق مكدس مزدوج IPv6 في شبكة Azure الظاهرية باستخدام قالب Azure Resource Manager، اعرض نموذج القالب هنا.