|
|
|
|
|
Wenn Sie empower® in Ihrer Corporate Cloud hosten, müssen Sie alle erforderlichen Ressourcen in Ihrer Azure-Umgebung einrichten. Um diesen Prozess für Sie zu vereinfachen, enthält dieser Artikel detaillierte Anweisungen sowie eine ARM (Azure Resource Manager)-Vorlage, die Sie verwenden können. |
|
|
ARM-Vorlagen sind eine Art Infrastruktur als Code – ein Konzept, bei dem Sie die Infrastruktur definieren, die bereitgestellt werden soll. Sie verwenden eine deklarative Syntax, d. h. Sie definieren die Ressourcen, die Azure bereitstellen soll, ohne anzugeben, wie die Ressourcen erstellt werden. |
|
|
Die ARM-Vorlage, die in diesem Artikel angeboten wird, wurde speziell zur Einrichtung aller erforderlichen Ressourcen in Ihrer Azure-Umgebung erstellt, erfüllt alle Anforderungen von empower® und bietet die Grundlage für ein hoch-funktionales und hochperformantes empower® Backend. Im Folgenden finden Sie eine Schritt-für-Schritt-Anleitung zur genauen Konfiguration im ARM-Deployment-Bereich und auf Seiten des SQL-Servers. |
Anmerkung
Für weitere Informationen zur Einrichtung und der Bereitstellung von ARM-Vorlagen siehe Erstellen und Bereitstellen von Vorlagenspezifikationen.
Anmerkung
Wenn Sie weitere Hilfe benötigen, wenden Sie sich an den empower® Support.
|
Wenn Sie die bereitgestellte ARM-Vorlage verwenden, werden die folgenden Ressourcen erstellt: |
|
|
|
Um die ARM-Vorlage bereitzustellen, gehen Sie wie folgt vor: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wichtig
Die empower® Datenbank wird entweder nach Fertigstellung eines Customizings von Ihrem Onboarding Team bereitgestellt oder sie wird in einem rohen Format bereitgestellt, damit das Customizing direkt in Ihrer Umgebung vorgenommen werden kann.
Für die zweite Möglichkeit benötigt Ihr Onboarding & Professional Services Specialist einen Gastzugang in Ihrer Microsoft Entra ID.
Für weitere Informationen zu Gastbenutzern in Ihrer Microsoft Entra ID siehe Gastbenutzer in Microsoft Entra ID.
Anmerkung
Um empower® mit Microsoft Entra ID einzurichten, muss vor der Installation des empower® Backends eine App-Registrierung in Microsoft Entra ID vorgenommen werden.
Für weitere Informationen zur App-Registrierung für empower® in Microsoft Entra ID siehe Skript für die App-Registrierung in Microsoft Entra ID.
Für weitere Informationen zur Installation des empower® Backends siehe Das empower® Backend installieren (Version >= 9.7).
Anmerkung
Die Benutzeroberfläche im Azure-Portal kann sich jederzeit ändern. Wenn Sie sich bei einem Aspekt unsicher sind, konsultieren Sie die Microsoft-Dokumentation.
Die obenstehenden Anweisungen beziehen sich auf die englische Benutzeroberfläche im Azure-Portal.
|
Die folgende Tabelle bietet eine Übersicht über die Felder, die Sie während der Bereitstellung ausfüllen müssen, und welche Werte für diese Felder benötigt werden: |
|
Feld |
Beschreibung |
Erforderlich? |
|---|---|---|
|
Subscription |
Wählen Das aktive Abo-Modell aus. |
Ja |
|
Resource Group |
Erstellen Sie eine neue Ressourcen-Gruppe oder wählen Sie eine bestehende aus. |
Ja |
|
Region |
Diese Feld wird automatisch ausgefüllt, je nach ausgewählter Ressourcen-Gruppe. |
Ja |
|
Location |
Dieses Feld wird automatisch ausgefüllt. Ändern Sie diesen Wert nicht! |
Ja |
|
Company Name |
Geben Sie Ihren Unternehmensnamen ein. Der Wert darf keine Leerzeichen enthalten und maximal 10 Zeichen haben. |
Ja |
|
VM Admin Username |
Geben Sie den Benutzernamen für das Administrator-Konto auf der VM ein. |
Ja |
|
VM Admin Password |
Geben Sie das Passwort für das Administrator-Konto auf der VM ein. |
Ja |
|
VM Size |
Geben Sie die VM-Größe ein. Für weitere Informationen von Microsoft siehe Sizes for virtual machines in Azure. |
Ja |
|
Windows OS Version |
Geben Sie die Windows-Betriebssystemversion ein, die Sie verwenden möchten. Der Standardwert für dieses Feld ist Windows Data Center 2022. |
Ja |
|
Create SQL Resources |
Entscheiden Sie, ob alle erforderlichen SQL-Ressourcen während der Bereitstellungen erstellt werden sollen. |
Ja |
|
SQL Server Name |
Geben Sie den Namen für den SQL-Server ein. |
Wenn Create SQL Resources auf true gesetzt ist: Ja |
|
SQL DB Name |
Geben Sie den Namen für die SQL-Datenbank ein. |
Wenn Create SQL Resources auf true gesetzt ist: Ja |
|
SQL Admin User |
Geben Sie den Login-Namen für den SQL-Server-Adminbenutzer ein. |
Wenn Create SQL Resources auf true gesetzt ist: Ja |
|
SQL Admin Password |
Geben Sie das Passwort für den SQL-Server-Adminbenutzer ein. |
Wenn Create SQL Resources auf true gesetzt ist: Ja |
|
Storage Account Key |
Geben Sie den Zugriffsschlüssel für die hochgeladene .bacpac-Datei aus Ihrem Blob-Speicher ein. Um das Token zu generieren, navigieren Sie zum entsprechenden Container im Azure-Portal und generieren Sie ein SAS-Token. |
Wenn Create SQL Resources auf true gesetzt ist: Ja |
|
Bacpac URL |
Geben Sie die URL ein, mit der auf die .bacpac-Datei zugegriffen werden kann. Die URL kann aus der jeweiligen Blob Overview kopiert werden. |
Wenn Create SQL Resources auf true gesetzt ist: Ja |
|
Wie oben erwähnt, können Sie die Vorlage über folgenden Link herunterladen: |
|
|
Alternativ können Sie den Inhalt der Datei aus dem folgenden Abschnitt kopieren: |
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.24.24.22086",
"templateHash": "295844188305582502"
}
},
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the key vault should be created."
}
},
"companyName": {
"type": "string",
"maxLength": 52,
"metadata": {
"description": "Please provide your company name without spaces."
}
},
"vmAdminUsername": {
"type": "string",
"defaultValue": "empower_admin",
"metadata": {
"description": "Please provide the adminUsername without spaces."
}
},
"vmAdminPassword": {
"type": "securestring",
"minLength": 24,
"metadata": {
"description": "Password for the Virtual Machine."
}
},
"vmSize": {
"type": "string",
"defaultValue": "Standard_B2ms",
"allowedValues": ["Standard_DS1_v2", "Standard_B2s", "Standard_B2ms"],
"metadata": {
"description": "The VM size"
}
},
"windowsOSVersion": {
"type": "string",
"defaultValue": "2022-Datacenter-smalldisk",
"allowedValues": [
"2022-Datacenter-smalldisk",
"2019-Datacenter-smalldisk"
],
"metadata": {
"description": "The Windows version for the VM."
}
},
"createSQLResources": {
"type": "bool",
"metadata": {
"description": "Should the SQL-Resources created.? Please check then all Parameters below."
}
},
"sqlServerName": {
"type": "string",
"defaultValue": "empowerSQL",
"metadata": {
"description": "The name of the SQL Server"
}
},
"sqlDBName": {
"type": "string",
"defaultValue": "empower",
"metadata": {
"description": "The name of the SQL Database"
}
},
"sqlAdminUser": {
"type": "string",
"defaultValue": "Admin_User_for_the_SQLServer",
"metadata": {
"description": "The administrator username of the SQL server."
}
},
"sqlAdminPassword": {
"type": "securestring",
"defaultValue": "",
"maxLength": 24,
"metadata": {
"description": "The administrator password of the SQL server."
}
},
"storageAccountKey": {
"type": "securestring",
"defaultValue": "",
"metadata": {
"description": "Specifies the key of the storage account where the BACPAC file is stored."
}
},
"bacpacUrl": {
"type": "string",
"defaultValue": "URL_to_BlobContainer_ where_bacpac_file_is_located",
"metadata": {
"description": "Specifies the URL of the BACPAC file."
}
}
},
"variables": {
"adminUsername": "[parameters('vmAdminUsername')]",
"dnsLabelPrefix": "[format('empower-{0}', toLower(parameters('companyName')))]",
"nicName": "empower-NIC",
"addressPrefix": "10.1.0.0/24",
"subnetName": "empower-Subnet",
"subnetPrefix": "10.1.0.0/24",
"publicIPAddressName": "empower-IP",
"vmName": "empower",
"virtualNetworkName": "empower-VNET",
"subnetRef": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('virtualNetworkName'), variables('subnetName'))]",
"nsgName": "empower-nsg",
"service_user_pw": "[format('P{0}y.', uniqueString(resourceGroup().id, 'a40d309d-3aad-4828-ab53-17e8e8b88439'))]",
"scriptLocation": "[format('https://madeinoffice.blob.{0}/azure-arm/', environment().suffixes.storage)]"
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "pid-a4869ce2-9844-521e-be75-67e904da97b3",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": []
}
}
},
{
"type": "Microsoft.Network/publicIPAddresses",
"apiVersion": "2022-07-01",
"name": "[variables('publicIPAddressName')]",
"location": "[parameters('location')]",
"properties": {
"publicIPAllocationMethod": "Dynamic",
"dnsSettings": {
"domainNameLabel": "[variables('dnsLabelPrefix')]"
}
}
},
{
"type": "Microsoft.Network/networkSecurityGroups",
"apiVersion": "2022-07-01",
"name": "[variables('nsgName')]",
"location": "[parameters('location')]",
"properties": {
"securityRules": [
{
"name": "empower-services",
"properties": {
"description": "Allow inbound traffic for the empower 8 backend",
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "443",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Allow",
"priority": 109,
"direction": "Inbound"
}
}
]
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2022-07-01",
"name": "[variables('virtualNetworkName')]",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": ["[variables('addressPrefix')]"]
},
"subnets": [
{
"name": "[variables('subnetName')]",
"properties": {
"addressPrefix": "[variables('subnetPrefix')]",
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgName'))]"
}
}
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgName'))]"
]
},
{
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2022-07-01",
"name": "[variables('nicName')]",
"location": "[parameters('location')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicIPAddressName'))]"
},
"subnet": {
"id": "[variables('subnetRef')]"
}
}
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Network/publicIPAddresses', variables('publicIPAddressName'))]",
"[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]"
]
},
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2021-11-01",
"name": "[variables('vmName')]",
"location": "[parameters('location')]",
"properties": {
"hardwareProfile": {
"vmSize": "[parameters('vmSize')]"
},
"osProfile": {
"computerName": "[variables('vmName')]",
"adminUsername": "[variables('adminUsername')]",
"adminPassword": "[parameters('vmAdminPassword')]"
},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "[parameters('windowsOSVersion')]",
"version": "latest"
},
"osDisk": {
"createOption": "FromImage",
"diskSizeGB": 256
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
}
]
}
},
"dependsOn": [
"[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
]
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}', variables('vmName'), 'empowerAntiMalware')]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Azure.Security",
"type": "IaaSAntimalware",
"typeHandlerVersion": "1.5",
"autoUpgradeMinorVersion": true,
"settings": {
"AntimalwareEnabled": true,
"RealtimeProtectionEnabled": "true",
"ScheduledScanSettings": {
"isEnabled": "true",
"scanType": "Quick",
"day": "7",
"time": "120"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines', variables('vmName'))]"
]
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}', variables('vmName'), 'empowerAccount_Policies_and_Disk_Management')]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.7",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"[format('{0}Account_Policies_and_Disk_Management.ps1', variables('scriptLocation'))]"
],
"commandToExecute": "[format('powershell.exe -ExecutionPolicy Unrestricted -File Account_Policies_and_Disk_Management.ps1 -pw \"{0}\" ', variables('service_user_pw'))]"
}
},
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines', variables('vmName'))]"
]
},
{
"condition": "[parameters('createSQLResources')]",
"type": "Microsoft.Sql/servers",
"apiVersion": "2021-11-01",
"name": "[parameters('sqlServerName')]",
"location": "[parameters('location')]",
"properties": {
"administratorLogin": "[parameters('sqlAdminUser')]",
"administratorLoginPassword": "[parameters('sqlAdminPassword')]",
"version": "12.0"
}
},
{
"condition": "[parameters('createSQLResources')]",
"type": "Microsoft.Sql/servers/firewallRules",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}', parameters('sqlServerName'), 'AllowAllAzureIps')]",
"properties": {
"startIpAddress": "0.0.0.0",
"endIpAddress": "0.0.0.0"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
]
},
{
"condition": "[parameters('createSQLResources')]",
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}', string(parameters('sqlServerName')), string(parameters('sqlDBName')))]",
"location": "[parameters('location')]",
"sku": {
"name": "S1",
"tier": "Standard",
"size": "S1",
"capacity": 20
},
"properties": {},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
]
},
{
"condition": "[parameters('createSQLResources')]",
"type": "Microsoft.Sql/servers/databases/extensions",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}/{2}', split(format('{0}/{1}', string(parameters('sqlServerName')), string(parameters('sqlDBName'))), '/')[0], split(format('{0}/{1}', string(parameters('sqlServerName')), string(parameters('sqlDBName'))), '/')[1], 'Import')]",
"properties": {
"storageKeyType": "SharedAccessKey",
"storageKey": "[format('?{0}', parameters('storageAccountKey'))]",
"storageUri": "[parameters('bacpacUrl')]",
"administratorLogin": "[parameters('sqlAdminUser')]",
"administratorLoginPassword": "[parameters('sqlAdminPassword')]",
"operationMode": "Import"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/databases', split(format('{0}/{1}', string(parameters('sqlServerName')), string(parameters('sqlDBName'))), '/')[0], split(format('{0}/{1}', string(parameters('sqlServerName')), string(parameters('sqlDBName'))), '/')[1])]"
]
}
],
"outputs": {
"hostname": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', variables('publicIPAddressName')), '2022-07-01').dnsSettings.fqdn]"
},
"service_user_pw": {
"type": "string",
"value": "[variables('service_user_pw')]"
}
}
}
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.