كوِّن إعدادات الشبكة للمجموعات المُدارة من Service Fabric
تُنشأ مجموعات مُدارة من Service Fabric باستخدام تكوين افتراضي للشبكة. يتألف هذا التكوين من Azure Load Balancer مع عنوان IP عام، و VNet بشبكة فرعية واحدة مخصصة، ومجموعة NSG تم تكوينها لوظيفة المجموعة الأساسية. هناك أيضًا قواعد اختيارية لمجموعة NSG مطبقة مثل السماح لجميع حركات المرور الصادرة افتراضيًا والتي تهدف إلى تسهيل تكوين العميل. يستعرض هذا المستند كيفية تعديل خيارات تكوين الشبكة التالية والمزيد:
- إدارة قَواعد NSG
- إِدارة الوصول إلى RDP
- إدارة تكوين موازنة التحميل
- تَمكين IPv6
- إنشاء شبكتك الافتراضية الخاصة
- إنشاء موازنة التحميل الخاصة بك
- تمكين تسريع الشبكات
- تَكوين الشبكات الفرعية الإضافية
إدارة قواعد NSG
دليل قواعد NSG
كُن على دراية بهذه الاعتبارات عند إنشاء قواعد NSG جديدة لمجموعتك المدارة.
- تحتفظ مجموعات Service Fabric المدارة بنطاق أولوية قاعدة NSG من 0 إلى 999 للوظائف الأساسية. لا يمكنك إنشاء قواعد NSG مخصصة بقيمة أولوية تقل عن 1000.
- تحتفظ مجموعات Service Fabric المدارة بنطاق الأولوية 3001 إلى 4000 لإنشاء قواعد NSG الاختيارية. تتم إضافة هذه القواعد تلقائيًا لجعل التكوينات سريعة وسهلة. يمكنك تجاوز هذه القواعد عن طريق إضافة قواعد NSG المخصصة في نطاق الأولوية 1000 إلى 3000.
- يجب أن يكون لقواعد NSG المخصصة أولوية في النطاق 1000 إلى 3000.
تَطبيق قواعد NSG
تمكنك مجموعات Service Fabric المدارة من تعيين قواعد NSG مباشرة داخل مورد المجموعة لقالب النشر الخاص بك.
استخدم خاصية networkSecurityRules الخاصة بمورد Microsoft.ServiceFabric/managedclusters (الإصدار 2021-05-01 أو الأحدث) لتعيين قواعد NSG. على سبيل المثال:
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedclusters",
"properties": {
"networkSecurityRules": [
{
"name": "AllowCustomers",
"protocol": "*",
"sourcePortRange": "*",
"sourceAddressPrefix": "Internet",
"destinationAddressPrefix": "*",
"destinationPortRange": "33000-33499",
"access": "Allow",
"priority": 2001,
"direction": "Inbound"
},
{
"name": "AllowARM",
"protocol": "*",
"sourcePortRange": "*",
"sourceAddressPrefix": "AzureResourceManager",
"destinationAddressPrefix": "*",
"destinationPortRange": "33500-33699",
"access": "Allow",
"priority": 2002,
"direction": "Inbound"
},
{
"name": "DenyCustomers",
"protocol": "*",
"sourcePortRange": "*",
"sourceAddressPrefix": "Internet",
"destinationAddressPrefix": "*",
"destinationPortRange": "33700-33799",
"access": "Deny",
"priority": 2003,
"direction": "Outbound"
},
{
"name": "DenyRDP",
"protocol": "*",
"sourcePortRange": "*",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "VirtualNetwork",
"destinationPortRange": "3389",
"access": "Deny",
"priority": 2004,
"direction": "Inbound",
"description": "Override for optional SFMC_AllowRdpPort rule. This is required in tests to avoid Sev2 incident for security policy violation."
}
],
"fabricSettings": [
"..."
]
}
}
قواعد ClientConnection وHttpGatewayConnection الافتراضية والاختيارية
قاعدة NSG: SFMC_AllowServiceFabricGatewayToSFRP
تمت إضافة قاعدة NSG الافتراضية للسماح لموفر مورد Service Fabric بالوصول إلى clientConnectionPort وhttpGatewayConnectionPort في المجموعة. تسمح هذه القاعدة بالوصول إلى المنافِذ من خلال علامة الخدمة "ServiceFabric".
ملاحظة
تتم إضافة هذه القاعدة دائمًا ولا يمكن تجاوزها.
{
"name": "SFMC_AllowServiceFabricGatewayToSFRP",
"type": "Microsoft.Network/networkSecurityGroups/securityRules",
"properties": {
"description": "This is required rule to allow SFRP to connect to the cluster. This rule cannot be overridden.",
"protocol": "TCP",
"sourcePortRange": "*",
"sourceAddressPrefix": "ServiceFabric",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 500,
"direction": "Inbound",
"sourcePortRanges": [],
"destinationPortRanges": [
"19000",
"19080"
]
}
}
قاعدة NSG: SFMC_AllowServiceFabricGatewayPorts
تتيح هذه القاعدة الاختيارية للعملاء الوصول إلى SFX، والاتصال بالعنقود باستخدام PowerShell، واستخدام نقاط نهاية API لمجموعة نسيج الخدمة من الإنترنت عن طريق فتح منافذ LB لـ clientConnectionPort وhttpGatewayPort.
ملاحظة
لن تضاف هذه القاعدة إذا كانت هناك قاعدة مخصصة بنفس قيم الوصول والاتجاه والبروتوكول لنفس المنفذ. يمكنك تجاوز هذه القاعدة بقواعد مجموعة NSG المخصصة.
{
"name": "SFMC_AllowServiceFabricGatewayPorts",
"type": "Microsoft.Network/networkSecurityGroups/securityRules",
"properties": {
"description": "Optional rule to open SF cluster gateway ports. To override add a custom NSG rule for gateway ports in priority range 1000-3000.",
"protocol": "tcp",
"sourcePortRange": "*",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 3001,
"direction": "Inbound",
"sourcePortRanges": [],
"destinationPortRanges": [
"19000",
"19080"
]
}
}
تمكين الوصول إلى منافذ RDP من خلال الإنترنت
لا تتيح مجموعات Service Fabric المُدارة الوصول الداخلي إلى منافذ RDP من الإنترنت افتراضيًا. يمكنك فتح الوصول الداخلي إلى منافذ RDP من الإنترنت عن طريق تعيين الخاصية التالية على مورد مجموعة مُدار من Service Fabric.
"allowRDPAccess": true
عندما يتم تعيين الخاصية allowRDPAccess على "صحيحة"، ستتم إضافة قاعدة مجموعة NSG التالية إلى نشر نظام المجموعة الخاص بك.
{
"name": "SFMC_AllowRdpPort",
"type": "Microsoft.Network/networkSecurityGroups/securityRules",
"properties": {
"description": "Optional rule to open RDP ports.",
"protocol": "tcp",
"sourcePortRange": "*",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 3002,
"direction": "Inbound",
"sourcePortRanges": [],
"destinationPortRange": "3389"
}
}
تُنشئ المجموعات المُدارة من Service Fabric تلقائيًا قواعد NAT واردة لكل مثيل في نوع عقدة. للعثور على تعيينات المنافذ للوصول إلى مثيلات محددة (عقد المجموعة)، اتبع الخطوات التالية:
باستخدام بوابة Azure، حدد موقع المجموعة المُدارة التي تم إنشاؤها قواعد NAT الواردة لبروتوكول سطح المكتب البعيد (RDP).
انتقل إلى مجموعة موارد المجموعة المُدارة ضمن اشتراكك المسماة بالتنسيق التالي: SFC_{cluster-id}
حدد موازنة التحميل للمجموعة بالتنسيق التالي: LB-{cluster-name}
في صفحة موازنة التحميل، حدد قواعد NAT الواردة. راجع قواعد NAT الواردة لتأكيد منفذ الواجهة الأمامية الواردة لاستهداف مخطط المنفذ للعقدة.
تُظهر لقطة الشاشة التالية قواعد NAT الواردة لثلاثة أنواع مختلفة من العقد:

بشكل افتراضي، بالنسبة لمجموعات Windows، يكون منفذ الواجهة الأمامية في النطاق 50000 وأعلى والمنفذ الهدف هو المنفذ 3389، والذي يعيّن خدمة RDP على العقدة الهدف.
ملاحظة
إذا كنت تستخدم ميزة BYOLB وتريد RDP، يجب عليك تكوين تجمع NAT بشكل منفصل للقيام بذلك. لن يُنشئ هذا تلقائيًا أي قواعد NAT لأنواع العقد تلك.
الاتصال عن بُعد بالعقدة المحددة (مثيل مجموعة المقياس). يمكنك استخدام اسم المستخدم وكلمة المرور اللذين قمت بتعيينهما عند إنشاء نظام المجموعة أو أي بيانات اعتماد أخرى كونتها.
تُظهر لقطة الشاشة التالية استخدام Remote Desktop Connection للاتصال بعقدة التطبيقات (Instance 0) في مجموعة Windows:

تعديل تكوين موازنة التحميل الافتراضي
منافذ موازنة التحميل
تُنشئ المجموعات المُدارة من Service Fabric قاعدة NSG في نطاق الأولوية الافتراضي لجميع منافذ موازنة التحميل (LB) التي تم تكوينها ضمن قسم "loadBalancingRules" ضمن خصائص ManagedCluster. تفتح هذه القاعِدة منافذ LB لحركة المرور الواردة من الإنترنت.
ملاحظة
تتم إضافة هذه القاعدة في نطاق الأولوية الاختياري ويمكن تجاوزها عن طريق إضافة قواعد NSG المخصصة.
{
"name": "SFMC_AllowLoadBalancedPorts",
"type": "Microsoft.Network/networkSecurityGroups/securityRules",
"properties": {
"description": "Optional rule to open LB ports",
"protocol": "*",
"sourcePortRange": "*",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 3003,
"direction": "Inbound",
"sourcePortRanges": [],
"destinationPortRanges": [
"80", "8080", "4343"
]
}
}
تحقيقات موازن التحميل
تُنشئ المجموعات المُدارة من Service Fabric تلقائيًا تحقيقات موازن الحمل لمنافذ عبّارة النسيج وجميع المنافذ التي تم تكوينها ضمن loadBalancingRulesقسم خصائص المجموعة المُدارة.
{
"value": [
{
"name": "FabricTcpGateway",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Tcp",
"port": 19000,
"intervalInSeconds": 5,
"numberOfProbes": 2,
"loadBalancingRules": [
{
"id": "<>"
}
]
},
"type": "Microsoft.Network/loadBalancers/probes"
},
{
"name": "FabricHttpGateway",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Tcp",
"port": 19080,
"intervalInSeconds": 5,
"numberOfProbes": 2,
"loadBalancingRules": [
{
"id": "<>"
}
]
},
"type": "Microsoft.Network/loadBalancers/probes"
},
{
"name": "probe1_tcp_8080",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Tcp",
"port": 8080,
"intervalInSeconds": 5,
"numberOfProbes": 2,
"loadBalancingRules": [
{
"id": "<>"
}
]
},
"type": "Microsoft.Network/loadBalancers/probes"
}
]
}
مكِّن IPv6
لا تمكِّن المجموعات المُدارة IPv6 افتراضيًا. ستعمل هذه الميزة على تمكين قدرة مكدس مزدوج كامل IPv4 / IPv6 من واجهة Load Balancer إلى موارد الواجهة الخلفية. ستؤثر أي تغييرات تجريها على تكوين موازنة تحميل المجموعة المُدار أو قواعد NSG على كل من توجيه IPv4 و IPv6.
ملاحظة
هذا الإعداد غير متاح في البوابة الإلكترونية ولا يمكن تغييره بمجرد إنشاء المجموعة
- يجب أن يكون إصدار apiVersion لمورد نظام المجموعة المُدار من Service Fabric هو 2022-01-01 أو أحدث.
عيِّن الخاصية التالية على مورد نظام مجموعة مُدار Service Fabric.
"resources": [ { "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters", ... "properties": { "enableIpv6": true }, } ]انشر نظام المجموعة المُدار الذي تم تمكين IPv6 الخاص بك به. خصص نموذج القالب حسب الحاجة أو قم بإنشاء القالب الخاص بك. في المثال التالي، إنشئ مجموعة موارد تم
MyResourceGroupاستدعاؤهاwestusووزع مجموعة مع تمكين هذه الميزة.New-AzResourceGroup -Name MyResourceGroup -Location westus New-AzResourceGroupDeployment -Name deployment -ResourceGroupName MyResourceGroup -TemplateFile AzureDeploy.jsonبعد النشر، ستكون الشبكة والموارد الافتراضية لمجموعاتك مكدسة مزدوجة. نتيجة لذلك، سيكون لموازن تحميل الواجهة الأمامية للكتل عنوان DNS فريد تم إنشاؤه على سبيل المثال،
mycluster-ipv6.southcentralus.cloudapp.azure.comوالذي يرتبط بعنوان IPv6 عام على Azure Load Balancer وعناوين IPv6 الخاصة على الأجهزة الظاهرية.
أنشئ شبكتك الافتراضية الخاصة
تتيح هذه الميزة للعملاء استخدام شبكة افتراضية موجودة من خلال تحديد شبكة فرعية مخصصة سيقوم نظام المجموعة المُدار بنشر موارده فيها. يمكن أن يكون هذا مفيدًا إذا كان لديك بالفعل شبكة VNet وشبكة فرعية تم تكوينها مع سياسات الأمان ذات الصلة وتوجيه حركة المرور التي تريد استخدامها. بعد النشر إلى شبكة افتراضية حالية، يكون من السهل استخدام ميزات الشبكات الأخرى أو دمجها، مثل Azure ExpressRoute و Azure VPN Gateway ومجموعة أمان الشبكة ونظراء الشبكة الافتراضية. بالإضافة إلى ذلك، يمكنك إنشاء موازنة تحميل Azure الخاصة بك إذا لزم الأمر أيضا.
ملاحظة
عند استخدام BYOVNET، سيتم توزيع موارد نظام المجموعة المُدارة في شبكة فرعية واحدة.
ملاحظة
لا يمكن تغيير هذا الإعداد بمجرد إنشاء المجموعة وسيقوم نظام المجموعة المُدار بتعيين NSG للشبكة الفرعية المتوفرة. لا يتجاوز تعيين NSG وإلا فقد تقاطع نسبة استخدام الشبكة.
لإنشاء شبكتك الافتراضية الخاصة:
احصل على الخدمة
Idمن خلال اشتراكك في تطبيق Service Fabric Resource Provider.Login-AzAccount Select-AzSubscription -SubscriptionId <SubId> Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"ملاحظة
تأكد من أنك في الاشتراك الصحيح، سيتغير المعرِّف الرئيسي إذا كان الاشتراك في مستأجر مختلف.
ServicePrincipalNames : {74cb6831-0dbb-4be1-8206-fd4df301cdc2} ApplicationId : 74cb6831-0dbb-4be1-8206-fd4df301cdc2 ObjectType : ServicePrincipal DisplayName : Azure Service Fabric Resource Provider Id : 00000000-0000-0000-0000-000000000000لاحظ أن معرِّف الإخراج السابق كمعرِّف أساسي للاستخدام في خطوة لاحقة
اسم تَعريف الدور معرّف تعريف الدور مساهم الشبكة 4d97b98b-1d4f-4787-a291-c67834d212e7 لاحظ قيم الخاصية
Role definition nameوRole definition IDلاستخدامها في خطوة لاحقةأضف تعيين دور لتطبيق Service Fabric Resource Provider. تُعد إضافة تعيين دور إجراءً لمرة واحدة. يُمكنك إضافة الدور عن طريق تشغيل أوامر PowerShell التالية، أو عن طريق تكوين قالب Azure Resource Manager (ARM) كما هو مفصل أدناه.
نبدأ في الخطوات التالية بشبكة افتراضية موجودة تسمى ExistingRG-vnet، في مجموعة موارد ExistingRG. تسمى الشبكة الفرعية الافتراضية.
الحصول على المعلومات المطلوبة من VNet الموجودة.
Login-AzAccount Select-AzSubscription -SubscriptionId <SubId> Get-AzVirtualNetwork -Name ExistingRG-vnet -ResourceGroupName ExistingRGلاحظ اسم الشبكة الفرعية التالية، وقيمة
Idالخاصية التي يتم إرجاعها من المقطعSubnetsفي الاستجابة التي ستستخدمها في الخطوات اللاحقة.Subnets:[ { ... "Id": "/subscriptions/<subscriptionId>/resourceGroups/Existing-RG/providers/Microsoft.Network/virtualNetworks/ExistingRG-vnet/subnets/default" }]شغل الأمر PowerShell التالي باستخدام المعرف الأساسي واسم تعريف الدور من الخطوة 2 ونطاق
Idالتعيين الذي تم الحصول عليه أعلاه:New-AzRoleAssignment -PrincipalId 00000000-0000-0000-0000-000000000000 -RoleDefinitionName "Network Contributor" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"أو يمكنك إضافة تعيين الدور باستخدام قالب Azure Resource Manager (ARM) الذي يُكوَّن بقيم مناسبة لـ
principalId،roleDefinitionId،vnetName، وsubnetName:"type": "Microsoft.Authorization/roleAssignments", "apiVersion": "2020-04-01-preview", "name": "[parameters('VNetRoleAssignmentID')]", "scope": "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'), '/subnets/', parameters('subnetName'))]", "dependsOn": [ "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]" ], "properties": { "roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7')]", "principalId": "00000000-0000-0000-0000-000000000000" }ملاحظة
يتعين أن يكون VNetRoleAssignmentID GUID. إذا وزعت قالب مرة أخرى بما في ذلك تعيين الدور هذا، فتأكد من أن GUID هو نفسه المستخدم في الأصل. نقترح عليك تشغيل هذا المورد المعزول أو إزالة هذا المورد من نشر ما بعد نشر قالب المجموعة لأنه يحتاج فقط إلى الإنشاء مرة واحدة.
موضح فيما يلي نموذج كامل لقالب Azure Resource Manager (ARM) الذي ينشئ شبكة فرعية VNet ويعين دور يمكنك استخدامه لهذه الخطوة.
تكوين
subnetIdالخاصية لتوزيع نظام المجموعة بعد إعداد الدور كما هو موضح أدناه:
يجب أن يكون إصدار apiVersion لمورد نظام المجموعة المُدار من Service Fabric هو 2022-01-01 أو أحدث.
"resources": [ { "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters", ... }, "properties": { "subnetId": "subnetId", ... } ]انظر إنشاء نموذج مجموعة VNet الخاص بك أو تخصيص قالب نموذج مجموعة VNet الخاص بك.
توزيع قالب Azure Resource Manager (ARM) الذي تم تكوينه.
في المثال التالي، إنشئ مجموعة موارد تم
MyResourceGroupاستدعاؤهاwestusووزع مجموعة مع تمكين هذه الميزة.New-AzResourceGroup -Name MyResourceGroup -Location westus New-AzResourceGroupDeployment -Name deployment -ResourceGroupName MyResourceGroup -TemplateFile AzureDeploy.jsonعند إنشاء شبكة VNet الفرعية الخاصة بك، يستمر إنشاء نقطة النهاية العامة وإدارتها بواسطة موفر الموارد، ولكن في الشبكة الفرعية المكونة. لا تسمح لك هذه الميزة بتحديد IP العام/ إعادة استخدام IP الثابت على Azure Load Balancer. يمكنك إنشاء Azure Load Balancer الخاص بك بالتنسيق مع هذه الميزة أو بمفرده إذا كنت بحاجة إلى سيناريوهات موازنة التحميل هذه أو غيرها من سيناريوهات موازنة التحميل غير المدعومة أصلا.
أنشئ موازنة التحميل Azure الخاص بك
تنشئ المجموعات المُدارة موازن تحميل قياسي عام لـ Azure واسم مجال مؤهل بالكامل باستخدام عنوان IP عام ثابت لكل من أنواع العقد الأساسية والثانوية. يتيح لك إحضار موازنة التحميل الخاصة بك استخدام Azure Load Balancer الموجود لأنواع العقد الثانوية لحركة المرور الواردة والصادرة. عند إنشاء Azure Load Balancer الخاص بك، يمكنك:
- استخدم عنوان IP ثابتًا تم تكوينه مسبقًا لـ Load Balancer لحركة المرور الخاصة أو العامة
- قم بتعيين Load Balancer إلى نوع عقدة معينة
- تكوين قواعد مجموعة أمان الشبكة لكل نوع عقدة لأنه يتم توزيع كل نوع عقدة في شبكتها الفرعية
- حافظ على السياسات والضوابط الحالية التي قد تكون لديك في مكانها الصحيح
- كوِّن موازن تحميل داخلي فقط واستخدم موازنة التحميل الافتراضي لحركة المرور الخارجية
ملاحظة
عند استخدام BYOVNET، سيتم نشر موارد المجموعة المُدارة في شبكة فرعية واحدة مع NSG واحد بغض النظر عن موازنات التحميل الإضافية المكونة.
ملاحظة
لا يمكنك التبديل من موازنة التحميل الافتراضي إلى موازنة مخصصة بعد توزيع نوع عقدة، ولكن يمكنك تعديل تكوين موازنة التحميل المخصصة بعد النشر إذا تم تمكينه.
مُتطلبات الميزة
- تُدعَم أنواع SKU Azure Load Balancer الأساسية والقياسية
- يجب أن يكون لديك الواجهة الخلفية وتجمعات NAT التي تُكوّن في Azure Load Balancer
- يجب تمكين الاتصال الخارجي إما باستخدام موازنة التحميل العامة المتوفرة أو موازنة التحميل العامة الافتراضية
في ما يلي بعض الأمثلة على السيناريوهات التي قد يستخدمها العملاء من أجل:
في هذا المثال، يريد العميل توجيه حركة المرور من خلال Azure Load Balancer الموجود والذي تم تكوينه باستخدام عنوان IP ثابت حالي إلى نوعين من العقد.

في هذا المثال، يريد العميل توجيه حركة المرور من خلال Azure Load Balancers الموجودة لمساعدتهم على إدارة تدفق حركة المرور إلى تطبيقاتهم بشكل مستقل والتي تعيش على أنواع عقد منفصلة. عند الإعداد مثل هذا المثال، سيكون كل نوع عقدة وراء NSG المُدارة الخاصة به.

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

لللتكوين، أنشئ موازنة التحميل الخاصة بك:
احصل على الخدمة
Idمن خلال اشتراكك في تطبيق Service Fabric Resource Provider:Login-AzAccount Select-AzSubscription -SubscriptionId <SubId> Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"ملاحظة
تأكد من أنك في الاشتراك الصحيح، سيتغير المعرِّف الرئيسي إذا كان الاشتراك في مستأجر مختلف.
ServicePrincipalNames : {74cb6831-0dbb-4be1-8206-fd4df301cdc2} ApplicationId : 74cb6831-0dbb-4be1-8206-fd4df301cdc2 ObjectType : ServicePrincipal DisplayName : Azure Service Fabric Resource Provider Id : 00000000-0000-0000-0000-000000000000لاحظ أن معرِّف الإخراج السابق كمعرِّف أساسي للاستخدام في خطوة لاحقة
اسم تَعريف الدور معرّف تعريف الدور مساهم الشبكة 4d97b98b-1d4f-4787-a291-c67834d212e7 لاحظ قيم الخاصية
Role definition nameوRole definition IDلاستخدامها في خطوة لاحقةأضف تعيين دور لتطبيق Service Fabric Resource Provider. تُعد إضافة تعيين دور إجراءً لمرة واحدة. يُمكنك إضافة الدور عن طريق تشغيل أوامر PowerShell التالية، أو عن طريق تكوين قالب Azure Resource Manager (ARM) كما هو مفصل أدناه.
نبدأ في الخطوات التالية مع موازن تحميل موجود يسمى Existing-LoadBalancer1، في مجموعة موارد Existing-RG.
احصل على معلومات الخاصية المطلوبة
Idمن موازنة التحميل Azure الحالية.Login-AzAccount Select-AzSubscription -SubscriptionId <SubId> Get-AzLoadBalancer -Name "Existing-LoadBalancer1" -ResourceGroupName "Existing-RG"لاحظ ما يلي
Id، ستستخدمه في الخطوة التالية:{ ... "Id": "/subscriptions/<subscriptionId>/resourceGroups/Existing-RG/providers/Microsoft.Network/loadBalancers/Existing-LoadBalancer1" }شغِّل الأمر PowerShell التالي باستخدام المعرف الأساسي واسم تعريف الدور من الخطوة 2 ونطاق
Idالتعيين الذي حصلت عليه للتو:New-AzRoleAssignment -PrincipalId 00000000-0000-0000-0000-000000000000 -RoleDefinitionName "Network Contributor" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<LoadBalancerName>"أو يمُكنك إضافة تعيين الدور باستخدام قالب Azure Resource Manager (ARM) تم تكوينه بقيم مناسبة لـ
principalId،roleDefinitionId":"type": "Microsoft.Authorization/roleAssignments", "apiVersion": "2020-04-01-preview", "name": "[parameters('loadBalancerRoleAssignmentID')]", "scope": "[concat('Microsoft.Network/loadBalancers/', variables('lbName'))]", "dependsOn": [ "[concat('Microsoft.Network/loadBalancers/', variables('lbName'))]" ], "properties": { "roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7')]", "principalId": "00000000-0000-0000-0000-000000000000" }ملاحظة
يتعيَّن أن يكون VNetRoleAssignmentID GUID. إذا وزعت قالب مرة أخرى بما في ذلك تعيين الدور هذا، فتأكد من أن GUID هو نفسه المستخدم في الأصل. نقترح عليك تشغيل هذا المورد المعزول أو إزالة هذا المورد من نشر ما بعد نشر قالب المجموعة لأنه يحتاج فقط إلى الإنشاء مرة واحدة.
راجع قالب المثال الماثل لإنشاء موازنة تحميل عامة وتعيين دور.
تكوين الاتصال الخارجي المطلوب لنوع العقدة. يجب عليك تكوين موازنة التحميل العام لتوفير اتصال خارجي أو استخدام موازنة التحميل العام الافتراضي.
تكوين
outboundRulesلتكوين موازن تحميل عام لتوفير اتصال صادر انظر قالب إنشاء موازن تحميل وتعيين نموذج دور Azure Resource Manager (ARM)أو
لتكوين نوع العقدة لاستخدام موازنة التحميل الافتراضي، عَيِّن ما يلي في القالب الخاص بك:
- يجب أن يكون إصدار apiVersion لمورد نظام المجموعة المُدار من Service Fabric هو 2022-01-01 أو أحدث.
"resources": [ { "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", "properties": { "isPrimary": false, "useDefaultPublicLoadBalancer": true } } ]يمكنك بشكل اختياري تكوين منفذ تطبيق وارد والمسبار ذي الصلة على Azure Load Balancer الموجود لديك. انظر إحضار نموذج موازنة التحميل الخاصة بك إلى قالب Azure Resource Manager (ARM) للاطلاع على مثال
اختياريًا، كوِّن قواعد مجموعة NSG للمجموعة المُدارة المطبقة على نوع العقدة للسماح بأي حركة مرور مطلوبة قمت بتكوينها على Azure Load Balancer أو سيتم حظر حركة المرور. انظر إحضار نموذج موازنة التحميل الخاصة بك إلى قالب Azure Resource Manager (ARM) للحصول على مثال على تكوين قاعدة NSG الواردة. في القالب، ابحث عن
networkSecurityRulesالخاصية.نشر قالب ARM للمموعة المدارة التي تم تكوينها لهذه الخطوة، سنستخدم نموذج موازنة التحميل الخاصة بك Azure Resource Manager (ARM)
سيُنشئ ما يلي مجموعة موارد تم استدعاؤها
MyResourceGroupwestusوتوزيع مجموعة باستخدام موازنة تحميل حالية.New-AzResourceGroup -Name MyResourceGroup -Location westus New-AzResourceGroupDeployment -Name deployment -ResourceGroupName MyResourceGroup -TemplateFile AzureDeploy.jsonبعد النشر، يتم تكوين نوع العقدة الثانوية لاستخدام موازنة التحميل المحددة لحركة المرور الواردة والصادرة. سيظل اتصال عميل Service Fabric ونقاط نهاية البوابة تشير إلى DNS العام لعنوان IP الثابت لنوع العقدة الأساسي للمجموعة المدارة.
تمكين الشبكات السريعة
تمكّن الشبكات المعجلة من التمثيل الافتراضي لجذر واحد (SR-IOV) لمجموعة مقياس آلة ظاهرية VM الذي يعد المورد الأساسي لأنواع العقدة. يتجاوز هذا المسار عالي الأداء المضيف من مسار البيانات، مما يقلل من زمن الوصول، وعدم الاستقرار، واستخدام وحدة المعالجة المركزية لأحمال عمل الشبكة الأكثر تطلبًا. يمكن توفير أنواع عقدة المجموعة المُدارة بواسطة Service Fabric باستخدام "الشبكات السريعة على وحدات SKU VM المدعومة. يرجى الرجوع إلى تلك المحددات والقيود لاعتبارات إضافية.
- لاحظ أن الشبكات السريعة مدعومة في معظم الأغراض العامة وأحجام المثيلات المحسوبة مع وحدتي vCPU أو أكثر. في الحالات التي تدعم الترابط التشعبي، يتم دعم الشبكات السريعة على مثيلات الجهاز الظاهري مع 4 أو أكثر من وحدات المعالجة المركزية الافتراضية.
مّكِّن الشبكات السريعة من خلال إعلان enableAcceleratedNetworkingالخاصية في قالب Resource Manager الخاص بك على النحو التالي:
- يجب أن يكون إصدار apiVersion لمورد نظام المجموعة المُدار من Service Fabric هو 2022-01-01 أو أحدث.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
...
"properties": {
...
"enableAcceleratedNetworking": true,
...
}
لتمكين الشبكات السريعة على مجموعة Service Fabric حالية، تحتاج أولا إلى توسيع نطاق مجموعة Service Fabric عن طريق إضافة نوع عقدة جديد وتنفيذ ما يلي:
- توفير نوع عقدة مع تمكين الشبكات السريعة
- قم بترحيل خدماتك وحالتها إلى نوع العقدة المتوفرة مع تمكين الشبكات السريعة
يلزم توسيع نطاق البنية التحتية لتمكين الشبكات السريعة على مجموعة موجودة، لأن تمكين الشبكات السريعة في نفس المكان سيؤدي إلى توقف عن العمل، لأنه يتطلب إيقاف جميع الأجهزة الظاهرية في مجموعة التوفر وتحديد موقعها قبل تمكين الشبكات السريعة على أي بطاقة واجهة شبكة معلومات وطنية موجودة.
تكوين الشبكات الفرعية المساعدة
توفر الشبكات الفرعية المساعدة القدرة على إنشاء شبكات فرعية مدارة إضافية بدون نوع عقدة لدعم سيناريوهات مثل خدمة الارتباط التشعبي الخاصومضيفي Bastion.
كوِّن الشبكات الفرعية الإضافية عن طريق الإعلان عن auxiliarySubnets الخاصية والمعلمات المطلوبة في قالب Resource Manager الخاص بك كما يلي:
- يجب أن يكون إصدار apiVersion لمورد نظام المجموعة المُدار من Service Fabric هو 2022-01-01 أو أحدث.
"resources": [
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters",
"properties": {
"auxiliarySubnets": [
{
"name" : "mysubnet",
"enableIpv6" : "true"
}
]
}
}
]
انظر القائمة الكاملة المتوفرة للمَعلَمات
الخطوات التالية
خيارات تكوين المجموعة المدارة بواسطة بنيةالخدمة نظرة عامة على المجموعات المدارة بواسطة Service Fabric