مشاركة عبر


توزيع تطبيق IPv6 مزدوج المكدس باستخدام Azure Load Balancer

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

المتطلبات

نشر تطبيق مكدس مزدوج (IPv4 + IPv6)

اتبع هذه الإرشادات في 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

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

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

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

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

 az group delete --name DsResourceGroup01

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