نشر تطبيق مكدس مزدوج IPv6 في شبكة Azure الظاهرية باستخدام Azure CLI

توضح هذه المقالة كيفية نشر تطبيق مكدس مزدوج (IPv4 + IPv6) باستخدام موازن التحميل القياسي في Azure الذي يتضمن شبكة ظاهرية مزدوجة المكدس مع شبكة فرعية مزدوجة المكدس، وموازن تحميل قياسي مع تكوينات أمامية مزدوجة (IPv4 + IPv6)، وأجهزة ظاهرية مع بطاقات واجهة الشبكة التي تحتوي على تكوين IP مزدوج، وقواعد مجموعة أمان الشبكة المزدوجة، وعناوين IP العامة المزدوجة.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

المتطلبات الأساسية

  • تتطلب هذه المقالة الإصدار 2.0.49 أو الأحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.

إنشاء مجموعة موارد

قبل أن تتمكن من إنشاء شبكة الاتصال الظاهرية مزدوجة المكدس، عليك إنشاء مجموعة موارد من خلال az group create. في المثال التالي، يتم إنشاء مجموعة موارد باسم DsResourceGroup01 في موقع eastus:

az group create \
--name DsResourceGroup01 \
--location eastus

إنشاء عناوين IP العامة IPv4 و IPv6 لموازنة التحميل

للوصول إلى نقاط النهاية IPv4 و IPv6 عبر الإنترنت، تحتاج إلى عناوين IP العامة IPv4 و IPv6 لموازنة التحميل. أنشئ عنوان IP عامًا باستخدام إنشاء عنوان IP عام لشبكة az. في المثال التالي، سيتم إنشاء عنوان 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 عامًا باستخدام إنشاء عنوان IP عام لشبكة az.

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 createالمسماة 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 الأمامية

إنشاء واجهة 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

إنشاء تجمعات عناوين الواجهة الخلفية 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 ib 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

إنشاء موارد الشبكة

قبل نشر بعض الأجهزة الظاهرية و اختبار موازنة التحميل خاصتك، عليك إنشاء موارد شبكة داعمة - مجموعة التوفر، ومجموعة أمان شبكة الاتصال، وشبكة اتصال ظاهرية، وبطاقات واجهة الشبكة الظاهرية.

إنشاء مجموعة قابلية وصول

لتحسين التوفر الخاص بتطبيقك، ضع أجهزتك الظاهرية في مجموعة التوفر.

إنشاء مجموعة التوفر باستخدام 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. في المثال التالي، يتم إنشاء بطاقة واجهة شبكة ظاهرية لكل جهاز ظاهري. تحتوي كل بطاقة واجهة شبكة على اثنين من تكوينات 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 كما يلي:

  1. في شريط البحث في المدخل، أدخل myVnet.
  2. عندما يظهر myVirtualNetwork في نتائج البحث، يُرجى تحديده. سيفتح هذا صفحة الاستعراض العام للشبكة الظاهرية مزدوجة المكدس تحت اسم dsVnet. تُظهر الشبكة الظاهرية للمكدس المزدوج اثنين من بطاقات NICs مع تكوينات IPv4 وIPv6 الموجودة في الشبكة الفرعية للمكدس المزدوج باسم dsSubnet.

IPv6 dual stack virtual network in Azure

تنظيف الموارد

عندما لم تعد هناك حاجة إليها، يمكنك استخدام الأمر "az group delete" لإزالة مجموعة الموارد والأجهزة الافتراضية وجميع الموارد ذات الصلة.

 az group delete --name DsResourceGroup01

الخطوات التالية

في هذه المقالة، قمت بإنشاء موازنة تحميل قياسية مع تكوين IP الواجهة الأمامية المزدوجة (IPv4 وIPv6). قمت أيضا بإنشاء جهازين ظاهريين يتضمنان NICs مع تكوينات IP مزدوجة (IPV4 + IPv6) تمت إضافتها إلى تجمع الواجهة الخلفية لموازن التحميل. لمعرفة المزيد حول دعم IPv6 في شبكات Azure الظاهرية، راجع ما هو IPv6 لشبكة Azure الظاهرية؟