الشبكات لمجموعات مقياس الجهاز الظاهري Azure

عند نشر Azure Virtual Machine Scale Set من خلال المدخل، يتم تعيين خصائص معينة للشبكة افتراضيا، على سبيل المثال Azure Load Balancer مع قواعد NAT الواردة. توضح هذه المقالة كيفية استخدام بعض ميزات الشبكات الأكثر تقدماً التي يمكنك تكوينها باستخدام مجموعات المقاييس.

يمكنك تكوين جميع الميزات التي تتناولها هذه المقالة باستخدام قوالب Azure Resource Manager. يتم أيضاً تضمين أمثلة Azure CLI وPowerShell للميزات المحددة.

تسريع الشبكات

تعمل شبكة Azure المسرّعة على تحسين أداء الشبكة من خلال تمكين المحاكاة الافتراضية للإدخال/الإخراج أحادية الجذر (SR-IOV) إلى جهاز ظاهري. لمعرفة المزيد حول استخدام الشبكات المسرّعة، راجع الشبكات المسرّعة للأجهزة الظاهرية Windows أو Linux. لاستخدام الشبكة المسرّعة مع مجموعات قياس، قم بتعيين enableAcceleratedNetworking إلى true في إعدادات networkInterfaceConfigurations الخاصة بمجموعة القياس. على سبيل المثال:

"networkProfile": {
    "networkInterfaceConfigurations": [
    {
      "name": "niconfig1",
      "properties": {
        "primary": true,
        "enableAcceleratedNetworking" : true,
        "ipConfigurations": [
          ...
        ]
      }
    }
   ]
}

مجموعات مقياس الجهاز الظاهري Azure مع موازن تحميل Azure

راجع موازن تحميل Azure ومجموعات قياس الجهاز الظاهري لمعرفة المزيد حول كيفية تكوين موازن التحميل القياسي باستخدام مجموعات قياس الجهاز الظاهري استناداً إلى السيناريو الخاص بك.

إضافة مجموعة مقياس الجهاز الظاهري إلى بوابة تطبيق

لإضافة مجموعة مقياس إلى تجمع الواجهة الخلفية لبوابة التطبيق، راجع تجمع الواجهة الخلفية لبوابة التطبيق في ملف تعريف شبكة مجموعة المقياس. يمكن القيام بذلك إما عند إنشاء مجموعة المقياس (راجع قالب ARM أدناه) أو على مجموعة تحجيم موجودة.

إضافة مجموعات مقياس الجهاز الظاهري الموحدة للتنسيق إلى بوابة التطبيق

عند إضافة مجموعات مقياس الجهاز الظاهري الموحدة إلى تجمع الواجهة الخلفية لبوابة التطبيق، ستختلف العملية لمجموعات التحجيم الجديدة أو الموجودة:

  • بالنسبة لمجموعات المقياس الجديدة، راجع معرف تجمع الواجهة الخلفية لبوابة التطبيق في ملف تعريف شبكة نموذج مجموعة المقياس، ضمن تكوين IP واحد أو أكثر لواجهة الشبكة. عند النشر، سيتم وضع المثيلات المضافة إلى مجموعة المقياس في تجمع الواجهة الخلفية لبوابة التطبيق.
  • بالنسبة لمجموعات المقياس الموجودة، أضف أولا معرف تجمع الواجهة الخلفية لبوابة التطبيق في ملف تعريف شبكة نموذج مجموعة المقياس، ثم طبق النموذج المثيلات الموجودة لديك عن طريق الترقية. إذا كان نهج ترقية مجموعة المقياس هو Automatic أو Rolling، فسيتم تحديث المثيلات لك. إذا كان كذلك Manual، فستحتاج إلى ترقية المثيلات يدويا.
  1. إنشاء Application Gateway وتجمع الواجهة الخلفية في نفس المنطقة مثل مجموعة المقياس الخاصة بك، إذا لم يكن لديك واحدة بالفعل
  2. انتقل إلى مجموعة مقياس الجهاز الظاهري في المدخل
  3. ضمن الإعدادات، افتح جزء Networking
  4. في جزء Networking، حدد علامة التبويب Load balancing وانقر فوق Add Load Balancing
  5. حدد بوابة التطبيق من القائمة المنسدلة خيارات موازنة التحميل، واختر بوابة تطبيق موجودة
  6. حدد تجمع الواجهة الخلفية الهدف وانقر فوق حفظ
  7. إذا كان نهج الترقية لمجموعة المقياس هو "يدوي"، فانتقل إلى جزء الإعدادات> Instances لتحديد كل مثيل من مثيلاتك وترقيته

إضافة مجموعات مقياس الجهاز الظاهري للتزامن المرن إلى بوابة التطبيق

عند إضافة مجموعة مقياس مرنة إلى Application Gateway، تكون العملية هي نفسها إضافة أجهزة ظاهرية مستقلة إلى تجمع الواجهة الخلفية لبوابة التطبيق - يمكنك تحديث تكوين IP لواجهة شبكة الجهاز الظاهري ليكون جزءا من تجمع الواجهة الخلفية. يمكن القيام بذلك إما من خلال تكوين بوابة التطبيق أو عن طريق تكوين واجهة شبكة الجهاز الظاهري.

إشعار

لاحظ أن بوابة التطبيق يجب أن تكون في نفس الشبكة الظاهرية مثل مجموعة المقياس ولكن يجب أن تكون في شبكة فرعية مختلفة عن مجموعة القياس.

إعدادات DNS القابلة للتكوين

بشكلٍ افتراضي، تأخذ مجموعات المقاييس إعدادات DNS المحددة لـ VNET والشبكة الفرعية التي تم إنشاؤها فيها. ومع ذلك، يمكنك تكوين إعدادات DNS لمجموعة مقياس مباشرة.

إنشاء مجموعة مقاييس باستخدام خوادم DNS القابلة للتكوين

لإنشاء مجموعة مقاييس باستخدام تكوين DNS مخصص باستخدام Azure CLI، أضف وسيطة --dns-servers إلى الأمر إنشاء vmss، متبوعة بعناوين IP للخادم مفصولة بمسافات. على سبيل المثال:

--dns-servers 10.0.0.6 10.0.0.5

لتكوين خوادم DNS مخصصة في قالب Azure، أضف خاصية dnsSettings إلى قسم networkInterfaceConfigurations الخاص بمجموعة القياس. على سبيل المثال:

"dnsSettings":{
    "dnsServers":["10.0.0.6", "10.0.0.5"]
}

إنشاء مجموعة قياس باستخدام أسماء مجالات الجهاز الظاهري القابلة للتكوين

لإنشاء مجموعة مقياس باسم DNS مخصص للأجهزة الظاهرية باستخدام CLI، أضف الوسيطة --vm-domain-name إلى الأمر إنشاء مجموعة مقياس الجهاز الظاهري، متبوعا بسلسلة تمثل اسم المجال.

لتعيين اسم المجال في قالب Azure، أضف خاصية dnsSettings إلى قسم networkInterfaceConfigurations الخاص بمجموعة القياس. على سبيل المثال:

"networkProfile": {
  "networkInterfaceConfigurations": [
    {
    "name": "nic1",
    "properties": {
      "primary": true,
      "ipConfigurations": [
      {
        "name": "ip1",
        "properties": {
          "subnet": {
            "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
          },
          "publicIPAddressconfiguration": {
            "name": "publicip",
            "properties": {
            "idleTimeoutInMinutes": 10,
              "dnsSettings": {
                "domainNameLabel": "[parameters('vmssDnsName')]"
              }
            }
          }
        }
      }
    ]
    }
}

سيكون الإخراج، لاسم DNS للجهاز الظاهري الفردي في النموذج التالي:

<vm><vmindex>.<specifiedVmssDomainNameLabel>

IPv4 عام لكل جهاز ظاهري

بشكلٍ عام، لا تتطلب الأجهزة الظاهرية لمجموعة مقياس Azure عناوين IP العامة الخاصة بها. بالنسبة لمعظم السيناريوهات، من الأكثر اقتصاداً وأماناً ربط عنوان IP العام بموازنة التحميل أو بجهاز ظاهري فردي (يُعرف أيضاً باسم Jumpbox)، والذي يقوم بعد ذلك بتوجيه الاتصالات الواردة لتوسيع نطاق الأجهزة الظاهرية المحددة حسب الحاجة (على سبيل المثال، من خلال قواعد NAT الواردة).

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

إنشاء مجموعة مقاييس باستخدام عنوان IP عام لكل جهاز ظاهري

لإنشاء مجموعة مقاييس تقوم بتعيين عنوان IP عام لكل جهاز ظاهري باستخدام CLI، أضف المعلمة --public-ip-per-vm إلى الأمر إنشاء vmss .

لإنشاء مجموعة مقياس باستخدام قالب Azure، تأكد من أن إصدار واجهة برمجة التطبيقات لمورد Microsoft.Compute/virtualMachineScaleSets هو 2017-03-30 على الأقل، وأضف خاصية publicIpAddressConfiguration JSON إلى قسم مجموعة المقياس ipConfigurations. على سبيل المثال:

"publicIpAddressConfiguration": {
    "name": "pub1",
    "sku": {
      "name": "Standard"
    },
    "properties": {
      "idleTimeoutInMinutes": 15
    }
}

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

مثال على القالب باستخدام موازن تحميل أساسي: vmss-public-ip-linux

بدلا من ذلك، يمكن استخدام بادئة IP العامة (كتلة قريبة من عناوين IP العامة SKU القياسية) لإنشاء عناوين IP على مستوى المثيل في مجموعة مقياس الجهاز الظاهري. سيتم تمرير الخصائص الإقليمية للبادئة إلى عناوين IP للمثيل، على الرغم من أنها لن تظهر في الإخراج.

مثال على القالب باستخدام بادئة IP عامة: vmms-with-public-ip-prefix

الاستعلام عن عناوين IP العامة للأجهزة الظاهرية في مجموعة مقاييس

لسرد عناوين IP العامة المعينة لمجموعة قياس الأجهزة الظاهرية باستخدام CLI، استخدم الأمر az vmss list-instance-public-ips.

لسرد عناوين IP العامة الخاصة بمجموعة القياس باستخدام PowerShell، استخدم الأمر Get-AzPublicIpAddress. على سبيل المثال:

Get-AzPublicIpAddress -ResourceGroupName myrg -VirtualMachineScaleSetName myvmss

يمكنك أيضاً الاستعلام عن عناوين IP العامة عن طريق الرجوع إلى معرف المورد الخاص بتكوين عنوان IP العام مباشرةً. على سبيل المثال:

Get-AzPublicIpAddress -ResourceGroupName myrg -Name myvmsspip

يُمكنك أيضاً عرض عناوين IP العامة المعينة للأجهزة الظاهرية لمجموعة المقاييس عن طريق الاستعلام عن مستكشف موارد Azure أو واجهة برمجة تطبيقات Azure REST باستخدام الإصدار 2017-03-30 أو أعلى.

للاستعلام عن مستكشف موارد Azure:

  1. افتح مستكشف موارد Azure في مستعرض ويب.
  2. قم بتوسيع الاشتراكات على الجانب الأيسر بالنقر فوق + بجوارها. إذا كان لديك عنصر واحد فقط ضمن الاشتراكات، فقد يتم توسيعه بالفعل.
  3. قم بتوسيع اشتراكك.
  4. قم بتوسيع مجموعة الموارد الخاصة بك.
  5. قم بتوسيع موفري الخدمات.
  6. قم بتوسيع Microsoft.Compute.
  7. قم بتوسيع virtualMachineScaleSets.
  8. قم بتوسيع مجموعة القياس.
  9. انقر فوق publicipaddresses.

للاستعلام عن واجهة برمجة تطبيقات Azure REST:

GET https://management.azure.com/subscriptions/{your sub ID}/resourceGroups/{RG name}/providers/Microsoft.Compute/virtualMachineScaleSets/{scale set name}/publicipaddresses?api-version=2017-03-30

مثال للإخراج من مستكشف موارد Azure وواجهة برمجة تطبيقات Azure REST:

{
  "value": [
    {
      "name": "pub1",
      "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/pipvmss/virtualMachines/0/networkInterfaces/pipvmssnic/ipConfigurations/yourvmssipconfig/publicIPAddresses/pub1",
      "etag": "W/\"a64060d5-4dea-4379-a11d-b23cd49a3c8d\"",
      "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "ee8cb20f-af8e-4cd6-892f-441ae2bf701f",
        "ipAddress": "13.84.190.11",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Dynamic",
        "idleTimeoutInMinutes": 15,
        "ipConfiguration": {
          "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/0/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig"
        }
      }
    },
    {
      "name": "pub1",
      "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/3/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig/publicIPAddresses/pub1",
      "etag": "W/\"5f6ff30c-a24c-4818-883c-61ebd5f9eee8\"",
      "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "036ce266-403f-41bd-8578-d446d7397c2f",
        "ipAddress": "13.84.159.176",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Dynamic",
        "idleTimeoutInMinutes": 15,
        "ipConfiguration": {
          "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/3/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig"
        }
      }
    }

عناوين IP المتعددة لكل NIC

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

بطاقات واجهة الشبكة المتعددة لكل جهاز ظاهري

يمكنك الحصول على ما يصل إلى 8 بطاقات NIC لكل جهاز ظاهري، حسب حجم الجهاز. يتوفر الحد الأقصى لعدد بطاقات NIC لكل جهاز في مقالة حجم الجهاز الظاهري. يجب أن تتصل جميع بطاقات NIC المتصلة بمثيل الجهاز الظاهري بالشبكة الظاهرية نفسها. قد تتصل بطاقات NIC بشبكات فرعية مختلفة، ولكن يجب أن تكون جميع الشبكات الفرعية جزءاً من نفس الشبكة الظاهرية.

المثال التالي هو ملف تعريف شبكة مجموعة مقياس يعرض إدخالات NIC متعددة وعناوين IP عامة متعددة لكل جهاز ظاهري:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
        "name": "nic1",
        "properties": {
            "primary": true,
            "ipConfigurations": [
            {
                "name": "ip1",
                "properties": {
                "subnet": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                },
                "publicipaddressconfiguration": {
                    "name": "pub1",
                    "properties": {
                    "idleTimeoutInMinutes": 15
                    }
                },
                "loadBalancerInboundNatPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                    }
                ],
                "loadBalancerBackendAddressPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                    }
                ]
                }
            }
            ]
        }
        },
        {
        "name": "nic2",
        "properties": {
            "primary": false,
            "ipConfigurations": [
            {
                "name": "ip1",
                "properties": {
                "subnet": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                },
                "publicipaddressconfiguration": {
                    "name": "pub1",
                    "properties": {
                    "idleTimeoutInMinutes": 15
                    }
                },
                "loadBalancerInboundNatPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                    }
                ],
                "loadBalancerBackendAddressPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                    }
                ]
                }
            }
            ]
        }
        }
    ]
}

NSG وASGs لكل مجموعة مقياس

تسمح لك مجموعات أمان الشبكة بتصفية حركة المرور من وإلى موارد Azure في شبكة Azure الظاهرية باستخدام قواعد الأمان. تمكّنك مجموعات أمان التطبيق من معالجة أمان الشبكة لموارد Azure وتجميعها باعتبارها امتداداً لبنية التطبيق الخاص بك.

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

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

على سبيل المثال:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
            "name": "nic1",
            "properties": {
                "primary": true,
                "ipConfigurations": [
                    {
                        "name": "ip1",
                        "properties": {
                            "subnet": {
                                "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                            },
                            "applicationSecurityGroups": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/applicationSecurityGroups/', variables('asgName'))]"
                                }
                            ],
                "loadBalancerInboundNatPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                                }
                            ],
                            "loadBalancerBackendAddressPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                                }
                            ]
                        }
                    }
                ],
                "networkSecurityGroup": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/networkSecurityGroups/', variables('nsgName'))]"
                }
            }
        }
    ]
}

للتحقق من اقتران مجموعة أمان الشبكة بمجموعة المقاييس الخاصة بك، استخدم الأمر az vmss show. يستخدم المثال أدناه --query لتصفية النتائج وإظهار القسم ذي الصلة فقط من المخرجات.

az vmss show \
    -g myResourceGroup \
    -n myScaleSet \
    --query virtualMachineProfile.networkProfile.networkInterfaceConfigurations[].networkSecurityGroup

[
  {
    "id": "/subscriptions/.../resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/nsgName",
    "resourceGroup": "myResourceGroup"
  }
]

للتحقق من اقتران مجموعة أمان التطبيق بمجموعة المقاييس الخاصة بك، استخدم الأمر az vmss show. يستخدم المثال أدناه --query لتصفية النتائج وإظهار القسم ذي الصلة فقط من المخرجات.

az vmss show \
    -g myResourceGroup \
    -n myScaleSet \
    --query virtualMachineProfile.networkProfile.networkInterfaceConfigurations[].ipConfigurations[].applicationSecurityGroups

[
  [
    {
      "id": "/subscriptions/.../resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationSecurityGroups/asgName",
      "resourceGroup": "myResourceGroup"
    }
  ]
]

إجراء تحديثات الشبكات لمثيلات محددة

يمكنك إجراء تحديثات شبكة الاتصال لمثيلات محددة لمجموعة مقياس الجهاز الظاهري.

يمكنك PUT مقابل المثيل لتحديث تكوين الشبكة. يمكن استخدام هذا للقيام بأشياء مثل إضافة بطاقات واجهة الشبكة (NIC) أو إزالتها، أو إزالة مثيل من مجموعة الواجهة الخلفية.

PUT https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01

يوضح المثال التالي كيفية إضافة تكوين IP ثانٍ إلى NIC الخاص بك.

  1. GET تفاصيل مثيل معين لمجموعة مقياس الجهاز الظاهري.

    GET https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01
    

    تم تبسيط ما يلي لعرض معلمات الشبكة فقط لهذا المثال.

    {
      ...
      "properties": {
        ...
        "networkProfileConfiguration": {
          "networkInterfaceConfigurations": [
            {
              "name": "vmssnic-vnet-nic01",
              "properties": {
                "primary": true,
                "enableAcceleratedNetworking": false,
                "networkSecurityGroup": {
                  "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/networkSecurityGroups/basicNsgvmssnic-vnet-nic01"
                },
                "dnsSettings": {
                  "dnsServers": []
                },
                "enableIPForwarding": false,
                "ipConfigurations": [
                  {
                    "name": "vmssnic-vnet-nic01-defaultIpConfiguration",
                    "properties": {
                      "publicIPAddressConfiguration": {
                        "name": "publicIp-vmssnic-vnet-nic01",
                        "properties": {
                          "idleTimeoutInMinutes": 15,
                          "ipTags": [],
                          "publicIPAddressVersion": "IPv4"
                        }
                      },
                      "primary": true,
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  }
                ]
              }
            }
          ]
        },
        ...
      }
    }
    
  2. PUT مقابل المثيل، التحديث لإضافة تكوين IP الإضافي. هذا مشابه لإضافة networkInterfaceConfiguration إضافية.

    PUT https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01
    

    تم تبسيط ما يلي لعرض معلمات الشبكة فقط لهذا المثال.

      {
      ...
      "properties": {
        ...
        "networkProfileConfiguration": {
          "networkInterfaceConfigurations": [
            {
              "name": "vmssnic-vnet-nic01",
              "properties": {
                "primary": true,
                "enableAcceleratedNetworking": false,
                "networkSecurityGroup": {
                  "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/networkSecurityGroups/basicNsgvmssnic-vnet-nic01"
                },
                "dnsSettings": {
                  "dnsServers": []
                },
                "enableIPForwarding": false,
                "ipConfigurations": [
                  {
                    "name": "vmssnic-vnet-nic01-defaultIpConfiguration",
                    "properties": {
                      "publicIPAddressConfiguration": {
                        "name": "publicIp-vmssnic-vnet-nic01",
                        "properties": {
                          "idleTimeoutInMinutes": 15,
                          "ipTags": [],
                          "publicIPAddressVersion": "IPv4"
                        }
                      },
                      "primary": true,
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  },
                  {
                    "name": "my-second-config",
                    "properties": {
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  }
                ]
              }
            }
          ]
        },
        ...
      }
    }
    

اتصال صريح للشبكة الخارجية لمجموعات المقاييس المرنة

من أجل تحسين أمان الشبكة الافتراضي، تتطلب مجموعات مقياس الجهاز الظاهري مع التنسيق المرن أن المثيلات التي تم إنشاؤها ضمنيا عبر ملف تعريف التحجيم التلقائي لها اتصال صادر محدد بشكل صريح من خلال إحدى الطرق التالية:

  • بالنسبة لمعظم السيناريوهات، نوصي بربط بوابة NAT بالشبكة الفرعية.
  • بالنسبة للسيناريوهات ذات متطلبات الأمان العالية أو عند استخدام جدار حماية Azure أو جهاز الشبكة الظاهري (NVA)، يمكنك تحديد مسار مخصص معرف من قبل المستخدم كخطوة تالية عبر جدار الحماية.
  • توجد المثيلات في مجموعة الواجهة الخلفية لموازن تحميل SKU Azure القياسي.
  • إرفاق عنوان IP عام بواجهة شبكة المثيل.

مع الأجهزة الظاهرية لمثيل واحد ومجموعات مقياس الجهاز الظاهري مع تنسيق موحد، يتم توفير الاتصال الصادر تلقائيا.

تتضمن السيناريوهات الشائعة التي تتطلب اتصالاً صريحاً بالصادر ما يلي:

راجع الوصول الصادر الافتراضي في Azure للحصول على مزيد من التفاصيل حول تعريف الاتصالات الصادرة الآمنة.

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

لمزيدٍ من المعلومات حول شبكات Azure الظاهرية، راجع نظرة عامة على شبكات Azure الظاهرية.