Megosztás a következőn keresztül:


Oktatóanyag: Windows rendszerű Service Fabric-fürt üzembe helyezése Azure-beli virtuális hálózaton

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:

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

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. A 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 Jegyzetek
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.

Feljegyzé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

Feljegyzé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

A azuredeploy.json 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 a azuredeploy.parameters.json paraméterfájlban. Példa:

"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. A 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

Az erőforrások eltávolítása

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.