Ismertető: Windows rendszert futtató Service Fabric fürt telepítése Azure virtuális hálózatba

Ez az oktatóanyag egy sorozat első része. Megtudhatja, hogyan helyezhet üzembe Windows rendszerű Azure Service Fabric-fürtöt egy Azure-beli virtuális hálózatban és hálózati biztonsági csoportban a PowerShell és egy sablon használatával. Ha végzett, egy fürt fut a felhőben, amelyen alkalmazásokat helyezhet üzembe. Az Azure CLI-t használó Linux-fürt létrehozásához lásd : Biztonságos Linux-fürt létrehozása az Azure-ban.

Ez az oktatóanyag egy éles forgatókönyvet ismertet. Ha tesztelési célból szeretne létrehozni egy kisebb fürtöt, olvassa el a Tesztfürt létrehozása című témakört.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • VNET létrehozása a PowerShell használatával
  • Kulcstartó létrehozása és tanúsítvány feltöltése
  • A Microsoft Entra-hitelesítés beállítása
  • Diagnosztikai gyűjtemény konfigurálása
  • Az EventStore szolgáltatás beállítása
  • Azure Monitor-naplók beállítása
  • Biztonságos Service Fabric-fürt létrehozása az Azure PowerShellben
  • A fürt védelme X.509-tanúsítvánnyal
  • Csatlakozás a fürthöz PowerShell használatával
  • Fürt eltávolítása

Ebben az oktatóanyag-sorozatban az alábbiakkal ismerkedhet meg:

Megjegyzés:

We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Előfeltételek

Az oktatóanyag elkezdése előtt:

Az alábbi eljárások egy hétcsomópontos Service Fabric-fürtöt hoznak létre. Az Azure díjszabási kalkulátorával kiszámíthatja a Service Fabric-fürt Azure-ban való futtatásával járó költségeket.

A sablon letöltése és megismerése

Töltse le a következő Azure Resource Manager-sablonfájlokat:

Ez a sablon egy hét virtuális gépből és három csomóponttípusból álló biztonságos fürtöt helyez üzembe egy virtuális hálózatban és egy hálózati biztonsági csoportban. További mintasablonokat a GitHubon talál. Az azuredeploy.json számos erőforrást helyez üzembe, beleértve a következőket is.

Service Fabric-fürt

A Microsoft.ServiceFabric/clusters erőforrásban egy Windows-fürt az alábbi jellemzőkkel lesz konfigurálva:

  • Három csomóponttípus.
  • Az elsődleges csomóponttípus öt csomópontja (a sablonparaméterekben konfigurálható), a másik két csomóponttípusban pedig egy csomópont.
  • Operációs rendszer: Windows Server 2016 Datacenter tárolókkal (a sablonparaméterekben konfigurálható).
  • Tanúsítvány biztonságos (a sablonparaméterekben konfigurálható).
  • A fordított proxy engedélyezve van.
  • A DNS-szolgáltatás engedélyezve van.
  • A Bronz tartóssági szintje (a sablonparaméterekben konfigurálható).
  • A Silver megbízhatósági szintje (a sablonparaméterekben konfigurálható).
  • Ügyfélkapcsolati végpont: 19000 (a sablonparaméterekben konfigurálható).
  • HTTP-átjáró végpontja: 19080 (a sablonparaméterekben konfigurálható).

Azure Load Balancer

A Microsoft.Network/loadBalancers erőforrásban egy terheléselosztó van konfigurálva. A mintavételek és szabályok a következő portokhoz vannak beállítva:

  • Ügyfélkapcsolati végpont: 19000
  • HTTP-átjáró végpontja: 19080;
  • Alkalmazásport: 80
  • Alkalmazásport: 443
  • Service Fabric fordított proxyja: 19081.

Ha más alkalmazásportokra van szükség, módosítania kell a Microsoft.Network/loadBalancers erőforrást és a Microsoft.Network/networkSecurityGroups erőforrást, hogy engedélyezze a forgalmat.

Virtuális hálózat, alhálózat és hálózati biztonsági csoport

A virtuális hálózat, az alhálózat és a hálózati biztonsági csoport neve a sablon paramétereiben van meghatározva. A virtuális hálózat és az alhálózat címtere szintén a sablon paramétereiben határozható meg, és a Microsoft.Network/virtualNetworks erőforrásban van konfigurálva:

  • Virtuális hálózati címtér: 172.16.0.0/20
  • Service Fabric-alhálózat címtere: 172.16.2.0/23.

Az alábbi bejövő forgalmi szabályok vannak engedélyezve a Microsoft.Network/networkSecurityGroups erőforrásban. A portok értékét a sablon változóinak módosításával módosíthatja.

  • ClientConnectionEndpoint (TCP): 19000
  • HttpGatewayEndpoint (HTTP/TCP): 19080
  • SMB: 445
  • Internodecommunication: 1025, 1026, 1027
  • Rövid élettartam: 49152 és 65534 között (legalább 256 port szükséges).
  • alkalmazások által használható portok: 80 és 443,
  • Alkalmazásport-tartomány: 49152–65534 (szolgáltatás-szolgáltatás kommunikációhoz használatos). Más portok nincsenek megnyitva a Terheléselosztón.
  • összes többi port letiltása.

Ha más alkalmazásportokra van szükség, módosítania kell a Microsoft.Network/loadBalancers erőforrást és a Microsoft.Network/networkSecurityGroups erőforrást, hogy engedélyezze a forgalmat.

Windows Defender

A Windows Defender víruskereső program alapértelmezés szerint telepítve van és működik a Windows Server 2016-on. A felhasználói felület alapértelmezés szerint telepítve van néhány termékváltozaton, de nem szükséges. A sablonban deklarált csomóponttípusok/virtuálisgép-méretezési csoportok esetében az Azure VM Antimalware bővítmény a Service Fabric-címtárak és -folyamatok kizárására szolgál:

{
"name": "[concat('VMIaaSAntimalware','_vmNodeType0Name')]",
"properties": {
        "publisher": "Microsoft.Azure.Security",
        "type": "IaaSAntimalware",
        "typeHandlerVersion": "1.5",
        "settings": {
        "AntimalwareEnabled": "true",
        "Exclusions": {
                "Paths": "D:\\SvcFab;D:\\SvcFab\\Log;C:\\Program Files\\Microsoft Service Fabric",
                "Processes": "Fabric.exe;FabricHost.exe;FabricInstallerService.exe;FabricSetup.exe;FabricDeployer.exe;ImageBuilder.exe;FabricGateway.exe;FabricDCA.exe;FabricFAS.exe;FabricUOS.exe;FabricRM.exe;FileStoreService.exe"
        },
        "RealtimeProtectionEnabled": "true",
        "ScheduledScanSettings": {
                "isEnabled": "true",
                "scanType": "Quick",
                "day": "7",
                "time": "120"
        }
        },
        "protectedSettings": null
}
}

Sablon paramétereinek megadása

Az azuredeploy.parameters.json paraméterfájl számos, a fürt és a társított erőforrások üzembe helyezéséhez használt értéket meghatároz. Az alábbi paraméterek módosíthatók az üzembe helyezéshez:

Paraméter Példaérték Megjegyzések
adminUserName vmadmin Rendszergazdai felhasználónév a fürt virtuális gépeihez. A virtuális gép felhasználónévre vonatkozó követelményei.
adminPassword Password#1234 Rendszergazdai jelszó a fürt virtuális gépeihez. A virtuális gép jelszókövetelményei.
clusterName mysfcluster123 A fürt neve. Csak betűket és számokat tartalmazhat. 3–23 karakter hosszú lehet.
hely USA déli középső régiója A fürt helye.
certificateThumbprint

Önaláírt tanúsítvány létrehozása vagy tanúsítványfájl megadása esetén az értéknek üresnek kell lennie.

Ha meglévő, egy kulcstárolóba korábban feltöltött tanúsítványt szeretne használni, adja meg a tanúsítvány SHA1 ujjlenyomatának értékét. Például: „6190390162C988701DB5676EB81083EA608DCCF3”

certificateUrlValue

Önaláírt tanúsítvány létrehozása vagy tanúsítványfájl megadása esetén az értéknek üresnek kell lennie.

Ha meglévő, egy kulcstárolóba korábban feltöltött tanúsítványt szeretne használni, adja meg a tanúsítvány URL-címét. Például: "https://mykeyvault.vault.azure.net:443/secrets/mycertificate/02bea722c9ef4009a76c5052bcbf8346".

sourceVaultValue

Önaláírt tanúsítvány létrehozása vagy tanúsítványfájl megadása esetén az értéknek üresnek kell lennie.

Ha meglévő, egy kulcstárolóba korábban feltöltött tanúsítványt szeretne használni, adja meg a forrástároló értékét. For example, "/subscriptions/333cc2c84-12fa-5778-bd71-c71c07bf873f/resourceGroups/MyTestRG/providers/Microsoft.KeyVault/vaults/MYKEYVAULT".

A Microsoft Entra ügyfélhitelesítésének beállítása

Az Azure-ban üzemeltetett nyilvános hálózaton üzembe helyezett Service Fabric-fürtök esetében az ügyfél–csomópont kölcsönös hitelesítésre vonatkozó javaslat a következő:

  • Használja a Microsoft Entra-azonosítót az ügyfélidentitáshoz.
  • Használjon tanúsítványt a kiszolgálóidentitáshoz és a HTTP-kommunikáció TLS-titkosításához.

A Microsoft Entra-azonosítót a Service Fabric-fürt ügyfeleinek hitelesítéséhez a fürt létrehozása előtt kell beállítani. A Microsoft Entra ID lehetővé teszi, hogy a szervezetek (más néven bérlők) felügyelhessék az alkalmazásokhoz való felhasználói hozzáférést.

A Service Fabric-fürtök számos belépési pontot kínálnak a felügyeleti funkciókhoz, köztük a webalapú Service Fabric Explorert és a Visual Studiót. Ennek eredményeképpen két Microsoft Entra-alkalmazást hoz létre a fürthöz való hozzáférés szabályozásához: egy webalkalmazást és egy natív alkalmazást. Az alkalmazások létrehozása után a felhasználókat írásvédett és rendszergazdai szerepkörökhöz rendeli.

Megjegyzés:

A fürt létrehozása előtt el kell végeznie a következő lépéseket. Mivel a szkriptek fürtneveket és végpontokat várnak, az értékeket tervezni kell, nem pedig a már létrehozott értékeket.

Ebben a cikkben feltételezzük, hogy már létrehozott egy bérlőt. Ha még nem tette meg, először olvassa el a Microsoft Entra-bérlő beszerzésének módját.

A Microsoft Entra ID Service Fabric-fürttel való konfigurálásának lépéseinek egyszerűsítése érdekében létrehoztunk egy Windows PowerShell-szkriptkészletet. Töltse le a szkripteket a számítógépre.

Microsoft Entra-alkalmazások létrehozása és felhasználók hozzárendelése szerepkörökhöz

Hozzon létre két Microsoft Entra-alkalmazást a fürthöz való hozzáférés szabályozásához: egy webalkalmazást és egy natív alkalmazást. Miután létrehozta a fürtöt képviselő alkalmazásokat, rendelje hozzá a felhasználókat a Service Fabric által támogatott szerepkörökhöz: írásvédett és rendszergazda.

Futtassa SetupApplications.ps1, és adja meg paraméterként a bérlőazonosítót, a fürt nevét és a webalkalmazás válasz URL-címét. Adja meg a felhasználók felhasználóneveit és jelszavát. Például:

$Configobj = .\SetupApplications.ps1 -TenantId '<MyTenantID>' -ClusterName 'mysfcluster123' -WebApplicationReplyUrl 'https://mysfcluster123.eastus.cloudapp.azure.com:19080/Explorer/index.html' -AddResourceAccess
.\SetupUser.ps1 -ConfigObj $Configobj -UserName 'TestUser' -Password 'P@ssword!123'
.\SetupUser.ps1 -ConfigObj $Configobj -UserName 'TestAdmin' -Password 'P@ssword!123' -IsAdmin

Megjegyzés:

Az országos felhők (például az Azure Government, a Microsoft Azure által üzemeltetett 21Vianet, Azure Germany) esetében adja meg a paramétert -Location .

A TenantId vagy a címtárazonosító az Azure Portalon található. Válassza a Microsoft Entra AZONOSÍTÓ>tulajdonságai lehetőséget, és másolja ki a címtárazonosító értékét.

A ClusterName a szkript által létrehozott Microsoft Entra-alkalmazások előtagjainak előtagja. Nem kell pontosan megegyeznie a tényleges fürt nevével. Ez csak a Microsoft Entra-összetevőknek a használatban lévő Service Fabric-fürtre való leképezését teszi egyszerűbbé.

A WebApplicationReplyUrl az alapértelmezett végpont, amelyet a Microsoft Entra ID visszaad a felhasználóknak a bejelentkezés befejezése után. Állítsa be ezt a végpontot Service Fabric Explorer-végpontként a fürthöz, amely alapértelmezés szerint a következő:

<https:// cluster_domain>:19080/Explorer

A rendszer arra kéri, hogy jelentkezzen be egy olyan fiókba, amely rendszergazdai jogosultságokkal rendelkezik a Microsoft Entra-bérlőhöz. A bejelentkezés után a szkript létrehozza a web- és natív alkalmazásokat, hogy a Service Fabric-fürtöt képviselje. A bérlői alkalmazásokban az Azure Portalon két új bejegyzésnek kell megjelennie:

  • ClusterName_Cluster
  • ClusterName_Client

A szkript kinyomtatja a Resource Manager-sablonhoz szükséges JSON-t a fürt létrehozásakor, ezért érdemes nyitva tartani a PowerShell-ablakot.

"azureActiveDirectory": {
  "tenantId":"<guid>",
  "clusterApplication":"<guid>",
  "clientApplication":"<guid>"
},

Microsoft Entra-konfiguráció hozzáadása a Microsoft Entra-azonosító ügyfélhozzáféréshez való használatához

Az azuredeploy.jsonban konfigurálja a Microsoft Entra-azonosítót a Microsoft.ServiceFabric/clusters szakaszban. Adjon hozzá paramétereket a bérlőazonosítóhoz, a fürtalkalmazás-azonosítóhoz és az ügyfélalkalmazás-azonosítóhoz.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
  "contentVersion": "1.0.0.0",
  "parameters": {
    ...

    "aadTenantId": {
      "type": "string",
      "defaultValue": "0e3d2646-78b3-4711-b8be-74a381d9890c"
    },
    "aadClusterApplicationId": {
      "type": "string",
      "defaultValue": "cb147d34-b0b9-4e77-81d6-420fef0c4180"
    },
    "aadClientApplicationId": {
      "type": "string",
      "defaultValue": "7a8f3b37-cc40-45cc-9b8f-57b8919ea461"
    }
  },

...

{
  "apiVersion": "2018-02-01",
  "type": "Microsoft.ServiceFabric/clusters",
  "name": "[parameters('clusterName')]",
  ...
  "properties": {
    ...
    "azureActiveDirectory": {
      "tenantId": "[parameters('aadTenantId')]",
      "clusterApplication": "[parameters('aadClusterApplicationId')]",
      "clientApplication": "[parameters('aadClientApplicationId')]"
    },
    ...
  }
}

Adja hozzá a paraméterértékeket az azuredeploy.parameters.json paraméterfájlban. Például:

"aadTenantId": {
"value": "0e3d2646-78b3-4711-b8be-74a381d9890c"
},
"aadClusterApplicationId": {
"value": "cb147d34-b0b9-4e77-81d6-420fef0c4180"
},
"aadClientApplicationId": {
"value": "7a8f3b37-cc40-45cc-9b8f-57b8919ea461"
}

Diagnosztikai gyűjtemény konfigurálása a fürtön

Service Fabric-fürt futtatásakor érdemes összegyűjteni a naplókat egy központi helyen található összes csomópontról. A naplók központi helyen való elhelyezésével elemezheti és elháríthatja a fürt problémáit, illetve a fürtben futó alkalmazásokban és szolgáltatásokban fellépő problémákat.

A naplók feltöltésének és gyűjtésének egyik módja az Azure Diagnostics (WAD) bővítmény használata, amely naplókat tölt fel az Azure Storage-ba, valamint lehetősége van naplókat küldeni Azure-alkalmazás Elemzések vagy Event Hubs szolgáltatásba. Külső folyamatokkal is elolvashatja az eseményeket a tárolóból, és elhelyezheti őket egy elemzési platform termékében, például az Azure Monitor-naplókban vagy egy másik naplóelemzési megoldásban.

Ha ezt az oktatóanyagot követi, a diagnosztikai gyűjtemény már konfigurálva van a sablonban.

Ha olyan meglévő fürtje van, amely nem rendelkezik a Diagnostics üzembe helyezésével, hozzáadhatja vagy frissítheti a fürtsablonon keresztül. Módosítsa a meglévő fürt létrehozásához használt Resource Manager-sablont, vagy töltse le a sablont a portálról. Módosítsa a template.json fájlt a következő feladatok végrehajtásával:

Adjon hozzá egy új tárolási erőforrást a sablon erőforrások szakaszához:

"resources": [
...
{
  "apiVersion": "2015-05-01-preview",
  "type": "Microsoft.Storage/storageAccounts",
  "name": "[parameters('applicationDiagnosticsStorageAccountName')]",
  "location": "[parameters('computeLocation')]",
  "sku": {
    "accountType": "[parameters('applicationDiagnosticsStorageAccountType')]"
  },
  "tags": {
    "resourceType": "Service Fabric",
    "clusterName": "[parameters('clusterName')]"
  }
},
...
]

Ezután adja hozzá a tárfiók nevének és típusának paramétereit a sablon paraméterek szakaszához. Cserélje le a helyőrző szövegtárfiók nevét a kívánt tárfiók nevére.

"parameters": {
...
"applicationDiagnosticsStorageAccountType": {
    "type": "string",
    "allowedValues": [
    "Standard_LRS",
    "Standard_GRS"
    ],
    "defaultValue": "Standard_LRS",
    "metadata": {
    "description": "Replication option for the application diagnostics storage account"
    }
},
"applicationDiagnosticsStorageAccountName": {
    "type": "string",
    "defaultValue": "**STORAGE ACCOUNT NAME GOES HERE**",
    "metadata": {
    "description": "Name for the storage account that contains application diagnostics data from the cluster"
    }
},
...
}

Ezután adja hozzá az IaaSDiagnostics bővítményt a fürt minden Egyes Microsoft.Compute/virtualMachineScaleSets-erőforrás VirtualMachineProfile tulajdonságának bővítménytömbjében. Ha a mintasablont használja, három virtuálisgép-méretezési csoport van (egy a fürt minden csomóponttípusához).

"apiVersion": "2018-10-01",
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "[variables('vmNodeType1Name')]",
"properties": {
    ...
    "virtualMachineProfile": {
        "extensionProfile": {
            "extensions": [
                {
                    "name": "[concat(parameters('vmNodeType0Name'),'_Microsoft.Insights.VMDiagnosticsSettings')]",
                    "properties": {
                        "type": "IaaSDiagnostics",
                        "autoUpgradeMinorVersion": true,
                        "protectedSettings": {
                        "storageAccountName": "[parameters('applicationDiagnosticsStorageAccountName')]",
                        "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('applicationDiagnosticsStorageAccountName')),'2015-05-01-preview').key1]",
                        "storageAccountEndPoint": "https://core.windows.net/"
                        },
                        "publisher": "Microsoft.Azure.Diagnostics",
                        "settings": {
                        "WadCfg": {
                            "DiagnosticMonitorConfiguration": {
                            "overallQuotaInMB": "50000",
                            "EtwProviders": {
                                "EtwEventSourceProviderConfiguration": [
                                {
                                    "provider": "Microsoft-ServiceFabric-Actors",
                                    "scheduledTransferKeywordFilter": "1",
                                    "scheduledTransferPeriod": "PT5M",
                                    "DefaultEvents": {
                                    "eventDestination": "ServiceFabricReliableActorEventTable"
                                    }
                                },
                                {
                                    "provider": "Microsoft-ServiceFabric-Services",
                                    "scheduledTransferPeriod": "PT5M",
                                    "DefaultEvents": {
                                    "eventDestination": "ServiceFabricReliableServiceEventTable"
                                    }
                                }
                                ],
                                "EtwManifestProviderConfiguration": [
                                {
                                    "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
                                    "scheduledTransferLogLevelFilter": "Information",
                                    "scheduledTransferKeywordFilter": "4611686018427387904",
                                    "scheduledTransferPeriod": "PT5M",
                                    "DefaultEvents": {
                                    "eventDestination": "ServiceFabricSystemEventTable"
                                    }
                                }
                                ]
                            }
                            }
                        },
                        "StorageAccount": "[parameters('applicationDiagnosticsStorageAccountName')]"
                        },
                        "typeHandlerVersion": "1.5"
                    }
                }
            ...
            ]
        }
    }
}

Az EventStore szolgáltatás konfigurálása

Az EventStore szolgáltatás egy monitorozási lehetőség a Service Fabricben. Az EventStore segítségével megismerheti a fürt vagy a számítási feladatok állapotát egy adott időpontban. Az EventStore egy állapotalapú Service Fabric szolgáltatás, amely a fürtből származó eseményeket tartja karban. Az esemény a Service Fabric Explorer, a REST és az API-k segítségével érhető el. Az EventStore közvetlenül lekérdezi a fürtöt, hogy diagnosztikai adatokat kapjon a fürt bármely entitásáról, és a következő segítségére van:

  • Fejlesztési vagy tesztelési problémák diagnosztizálása, illetve a monitorozási folyamat használata
  • Ellenőrizze, hogy a fürtön végrehajtott felügyeleti műveletek megfelelően vannak-e feldolgozva
  • "Pillanatkép" lekérése arról, hogy a Service Fabric hogyan kommunikál egy adott entitással

Ha engedélyezni szeretné az EventStore szolgáltatást a fürtön, adja hozzá a következőket a Microsoft.ServiceFabric/clusters erőforrás háló Gépház tulajdonságához:

"apiVersion": "2018-02-01",
"type": "Microsoft.ServiceFabric/clusters",
"name": "[parameters('clusterName')]",
"properties": {
    ...
    "fabricSettings": [
        ...
        {
            "name": "EventStoreService",
            "parameters": [
                {
                "name": "TargetReplicaSetSize",
                "value": "3"
                },
                {
                "name": "MinReplicaSetSize",
                "value": "1"
                }
            ]
        }
    ]
}

Azure Monitor-naplók beállítása a fürthöz

Az Azure Monitor-naplók a fürtszintű események monitorozására vonatkozó javaslatunk. Ha azure Monitor-naplókat szeretne beállítani a fürt figyeléséhez, engedélyeznie kell a diagnosztika használatát a fürtszintű események megtekintéséhez.

A munkaterületnek csatlakoznia kell a fürtből érkező diagnosztikai adatokhoz. Ezek a naplóadatok az applicationDiagnosticsStorageAccountName tárfiókban, a WADServiceFabric*EventTable, a WADWindowsEventLogsTable és a WADETWEventTable táblákban lesznek tárolva.

Adja hozzá az Azure Log Analytics-munkaterületet, és adja hozzá a megoldást a munkaterülethez:

"resources": [
    ...
    {
        "apiVersion": "2015-11-01-preview",
        "location": "[parameters('omsRegion')]",
        "name": "[parameters('omsWorkspacename')]",
        "type": "Microsoft.OperationalInsights/workspaces",
        "properties": {
            "sku": {
                "name": "Free"
            }
        },
        "resources": [
            {
                "apiVersion": "2015-11-01-preview",
                "name": "[concat(variables('applicationDiagnosticsStorageAccountName'),parameters('omsWorkspacename'))]",
                "type": "storageinsightconfigs",
                "dependsOn": [
                    "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]",
                    "[concat('Microsoft.Storage/storageAccounts/', variables('applicationDiagnosticsStorageAccountName'))]"
                ],
                "properties": {
                    "containers": [],
                    "tables": [
                        "WADServiceFabric*EventTable",
                        "WADWindowsEventLogsTable",
                        "WADETWEventTable"
                    ],
                    "storageAccount": {
                        "id": "[resourceId('Microsoft.Storage/storageaccounts/', variables('applicationDiagnosticsStorageAccountName'))]",
                        "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('applicationDiagnosticsStorageAccountName')),'2015-06-15').key1]"
                    }
                }
            },
            {
                "apiVersion": "2015-11-01-preview",
                "type": "datasources",
                "name": "sampleWindowsPerfCounter",
                "dependsOn": [
                    "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
                ],
                "kind": "WindowsPerformanceCounter",
                "properties": {
                    "objectName": "Memory",
                    "instanceName": "*",
                    "intervalSeconds": 10,
                    "counterName": "Available MBytes"
                }
            },
            {
                "apiVersion": "2015-11-01-preview",
                "type": "datasources",
                "name": "sampleWindowsPerfCounter2",
                "dependsOn": [
                    "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
                ],
                "kind": "WindowsPerformanceCounter",
                "properties": {
                    "objectName": "Service Fabric Service",
                    "instanceName": "*",
                    "intervalSeconds": 10,
                    "counterName": "Average milliseconds per request"
                }
            }
        ]
    },
    {
        "apiVersion": "2015-11-01-preview",
        "location": "[parameters('omsRegion')]",
        "name": "[variables('solution')]",
        "type": "Microsoft.OperationsManagement/solutions",
        "dependsOn": [
            "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
        ],
        "properties": {
            "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
        },
        "plan": {
            "name": "[variables('solution')]",
            "publisher": "Microsoft",
            "product": "[Concat('OMSGallery/', variables('solutionName'))]",
            "promotionCode": ""
        }
    }
]

Következő lépésként adja hozzá a paramétereket

"parameters": {
    ...
    "omsWorkspacename": {
        "type": "string",
        "defaultValue": "mysfomsworkspace",
        "metadata": {
            "description": "Name of your OMS Log Analytics Workspace"
        }
    },
    "omsRegion": {
        "type": "string",
        "defaultValue": "West Europe",
        "allowedValues": [
            "West Europe",
            "East US",
            "Southeast Asia"
        ],
        "metadata": {
            "description": "Specify the Azure Region for your OMS workspace"
        }
    }
}

Ezután adjon hozzá változókat:

"variables": {
    ...
    "solution": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]",
    "solutionName": "ServiceFabric"
}

Adja hozzá a Log Analytics-ügynök bővítményt a fürt összes virtuálisgép-méretezési csoportjához, és csatlakoztassa az ügynököt a Log Analytics-munkaterülethez. Ez lehetővé teszi a tárolókkal, alkalmazásokkal és teljesítményfigyeléssel kapcsolatos diagnosztikai adatok gyűjtését. Ha bővítményként hozzáadja a virtuálisgép-méretezési csoport erőforrásához, az Azure Resource Manager biztosítja, hogy minden csomópontra telepítve legyen, még a fürt skálázásakor is.

"apiVersion": "2018-10-01",
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "[variables('vmNodeType1Name')]",
"properties": {
    ...
    "virtualMachineProfile": {
        "extensionProfile": {
            "extensions": [
                {
                    "name": "[concat(variables('vmNodeType0Name'),'OMS')]",
                    "properties": {
                        "publisher": "Microsoft.EnterpriseCloud.Monitoring",
                        "type": "MicrosoftMonitoringAgent",
                        "typeHandlerVersion": "1.0",
                        "autoUpgradeMinorVersion": true,
                        "settings": {
                            "workspaceId": "[reference(resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename')), '2015-11-01-preview').customerId]"
                        },
                        "protectedSettings": {
                            "workspaceKey": "[listKeys(resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename')),'2015-11-01-preview').primarySharedKey]"
                        }
                    }
                }
            ...
            ]
        }
    }
}

A virtuális hálózat és a fürt üzembe helyezése

Ezután állítsa be a hálózati topológiát, és helyezze üzembe a Service Fabric-fürtöt. Az azuredeploy.json Resource Manager-sablon létrehoz egy virtuális hálózatot, alhálózatot és hálózati biztonsági csoportot a Service Fabric számára. A sablon emellett egy fürtöt is üzembe helyez engedélyezett tanúsítványalapú biztonsággal. Éles fürtök esetén használjon tanúsítványt egy hitelesítésszolgáltatótól fürttanúsítványként. A tesztfürtök számára önaláírt tanúsítvánnyal is biztosítható védelem.

A cikkben szereplő sablon üzembe helyez egy fürtöt, amely a tanúsítvány ujjlenyomatával azonosítja a fürttanúsítványt. Két tanúsítvány nem rendelkezhet ugyanazzal az ujjlenyomattal, ami megnehezíti a tanúsítványkezelést. Az üzembe helyezett fürt tanúsítvány-ujjlenyomatokról tanúsítványnevekre való váltása leegyszerűsíti a tanúsítványkezelést. Ha meg szeretné tudni, hogyan frissítheti a fürtöt a tanúsítványkezeléshez gyakran használt tanúsítványnevek használatára, olvassa el a Fürt módosítása tanúsítványnévkezelésre című cikket.

Fürt létrehozása meglévő tanúsítvány használatával

Az alábbi szkript a New-AzServiceFabricCluster parancsmagot és egy sablont használ egy új fürt üzembe helyezéséhez az Azure-ban. A parancsmag létrehoz egy új kulcstartót az Azure-ban, és feltölti a tanúsítványt.

# Variables.
$groupname = "sfclustertutorialgroup"
$clusterloc="southcentralus"  # Must match the location parameter in the template
$templatepath="C:\temp\cluster"

$certpwd="q6D7nN%6ck@6" | ConvertTo-SecureString -AsPlainText -Force
$clustername = "mysfcluster123"  # Must match the clustername parameter in the template
$vaultname = "clusterkeyvault123"
$vaultgroupname="clusterkeyvaultgroup123"
$subname="$clustername.$clusterloc.cloudapp.azure.com"

# Sign in to your Azure account and select your subscription
Connect-AzAccount
Get-AzSubscription
Set-AzContext -SubscriptionId <guid>

# Create a new resource group for your deployment, and give it a name and a location.
New-AzResourceGroup -Name $groupname -Location $clusterloc

# Create the Service Fabric cluster.
New-AzServiceFabricCluster  -ResourceGroupName $groupname -TemplateFile "$templatepath\azuredeploy.json" `
-ParameterFile "$templatepath\azuredeploy.parameters.json" -CertificatePassword $certpwd `
-KeyVaultName $vaultname -KeyVaultResourceGroupName $vaultgroupname -CertificateFile $certpath

Fürt létrehozása új, önaláírt tanúsítvány használatával

Az alábbi szkript a New-AzServiceFabricCluster parancsmagot és egy sablont használ egy új fürt üzembe helyezéséhez az Azure-ban. A parancsmag létrehoz egy új kulcstartót az Azure-ban, hozzáad egy új önaláírt tanúsítványt a kulcstartóhoz, és helyileg letölti a tanúsítványfájlt.

# Variables.
$groupname = "sfclustertutorialgroup"
$clusterloc="southcentralus"  # Must match the location parameter in the template
$templatepath="C:\temp\cluster"

$certpwd="q6D7nN%6ck@6" | ConvertTo-SecureString -AsPlainText -Force
$certfolder="c:\mycertificates\"
$clustername = "mysfcluster123"
$vaultname = "clusterkeyvault123"
$vaultgroupname="clusterkeyvaultgroup123"
$subname="$clustername.$clusterloc.cloudapp.azure.com"

# Sign in to your Azure account and select your subscription
Connect-AzAccount
Get-AzSubscription
Set-AzContext -SubscriptionId <guid>

# Create a new resource group for your deployment, and give it a name and a location.
New-AzResourceGroup -Name $groupname -Location $clusterloc

# Create the Service Fabric cluster.
New-AzServiceFabricCluster  -ResourceGroupName $groupname -TemplateFile "$templatepath\azuredeploy.json" `
-ParameterFile "$templatepath\azuredeploy.parameters.json" -CertificatePassword $certpwd `
-CertificateOutputFolder $certfolder -KeyVaultName $vaultname -KeyVaultResourceGroupName $vaultgroupname -CertificateSubjectName $subname

Csatlakozás a biztonságos fürthöz

Csatlakozás a fürthöz a Service Fabric SDK-val telepített Service Fabric PowerShell-modullal. Először telepítse a tanúsítványt a számítógépen az aktuális felhasználó Személyes (Saját) tárolójába. Futtassa az alábbi PowerShell-parancsot:

$certpwd="q6D7nN%6ck@6" | ConvertTo-SecureString -AsPlainText -Force
Import-PfxCertificate -Exportable -CertStoreLocation Cert:\CurrentUser\My `
        -FilePath C:\mycertificates\mysfcluster20170531104310.pfx `
        -Password $certpwd

Most már készen áll a biztonságos fürthöz való csatlakozásra.

A Service Fabric PowerShell-modul számos parancsmagot biztosít a Service Fabric-fürtök, -alkalmazások és -szolgáltatások kezelésére. A biztonságos fürthöz való kapcsolódáshoz használja a Connect-ServiceFabricCluster parancsmagot. A tanúsítvány SHA1 ujjlenyomatával és kapcsolati végpontjával kapcsolatos részletek az előző lépés kimenetében találhatók.

Ha korábban beállította a Microsoft Entra ügyfélhitelesítést, futtassa a következő parancsot:

Connect-ServiceFabricCluster -ConnectionEndpoint mysfcluster123.southcentralus.cloudapp.azure.com:19000 `
        -KeepAliveIntervalInSec 10 `
        -AzureActiveDirectory `
        -ServerCertThumbprint C4C1E541AD512B8065280292A8BA6079C3F26F10

Ha nem állította be a Microsoft Entra ügyfélhitelesítést, futtassa a következő parancsot:

Connect-ServiceFabricCluster -ConnectionEndpoint mysfcluster123.southcentralus.cloudapp.azure.com:19000 `
          -KeepAliveIntervalInSec 10 `
          -X509Credential -ServerCertThumbprint C4C1E541AD512B8065280292A8BA6079C3F26F10 `
          -FindType FindByThumbprint -FindValue C4C1E541AD512B8065280292A8BA6079C3F26F10 `
          -StoreLocation CurrentUser -StoreName My

Ellenőrizze, hogy csatlakoztatva van-e, és hogy a fürt kifogástalan állapotban van-e a Get-ServiceFabricClusterHealth parancsmag használatával.

Get-ServiceFabricClusterHealth

Clean up resources

Az oktatóanyag-sorozat többi cikke a létrehozott fürtöt használja. Ha nem azonnal tér rá a következő cikkre, érdemes törölnie a fürtöt a felmerülő költségek elkerülése érdekében.

Következő lépések

A fürt méretezésének megismeréséhez folytassa az alábbi oktatóanyagban.

  • VNET létrehozása a PowerShell használatával
  • Kulcstartó létrehozása és tanúsítvány feltöltése
  • A Microsoft Entra-hitelesítés beállítása
  • Diagnosztikai gyűjtemény konfigurálása
  • Az EventStore szolgáltatás beállítása
  • Azure Monitor-naplók beállítása
  • Biztonságos Service Fabric-fürt létrehozása az Azure PowerShellben
  • A fürt védelme X.509-tanúsítvánnyal
  • Csatlakozás a fürthöz PowerShell használatával
  • Fürt eltávolítása

Ezután lépjen tovább a következő oktatóanyagra, amelyből megtudhatja, hogyan figyelheti a fürtöt.