--- tags: - upnote-import --- # Koogle-Deployment auf Azure [https://KoogleWeb20251231130827.azurewebsites.net](https://KoogleWeb20251231130827.azurewebsites.net) Diagnose: [https://koogleweb20251231130827-hdf7bmewhka0hsdd.scm.westeurope-01.azurewebsites.net/detectors](https://koogleweb20251231130827-hdf7bmewhka0hsdd.scm.westeurope-01.azurewebsites.net/detectors) Web-Tools: [Azure App Service](https://koogleweb20251231130827-hdf7bmewhka0hsdd.scm.westeurope-01.azurewebsites.net/newui) # Subscription-ID: ![](..\..\..\files\019b73c3-a5f8-769f-b50f-161fdf0cb898.png)
f1332eb1-392f-4b16-9ede-7905848ef248 admin-d-chrka als Contributor eingerichtet ![](..\..\..\files\019b73d4-a59f-7099-8cc5-ac112352c3d7.png)
``` az ad signed-in-user show ``` > { >   ["@odata.context":](mailto:"@odata.context":) "[https://graph.microsoft.com/v1.0/$metadata#users/$entity](https://graph.microsoft.com/v1.0/$metadata#users/$entity)", >   "businessPhones": \[\], >   "displayName": "Admin D-Chrka", >   "givenName": "Admin", >   "id": "70f83097-e12a-48a6-96b4-15760268c994", >   "jobTitle": null, >   "mail": null, >   "mobilePhone": null, >   "officeLocation": null, >   "preferredLanguage": null, >   "surname": "D-Chrka", >   "userPrincipalName": ["Admin-D-Chrka@krah-gruppe.de"](mailto:"Admin-D-Chrka@krah-gruppe.de") > } Azure CLI installieren, [Installieren der Azure CLI unter Windows | Microsoft Learn](https://learn.microsoft.com/de-de/cli/azure/install-azure-cli-windows?view=azure-cli-latest&pivots=msi-powershell) Resource group: > { >   "id": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourceGroups/rg-koogle-prod", >   "location": "westeurope", >   "managedBy": null, >   "name": "rg-koogle-prod", >   "properties": { >     "provisioningState": "Succeeded" >   }, >   "tags": null, >   "type": "Microsoft.Resources/resourceGroups" > } App Service Plan (Linux, B1 reicht meist für wenige User) > { >   "asyncScalingEnabled": false, >   "elasticScaleEnabled": false, >   "freeOfferExpirationTime": "2026-01-30T11:45:50.8", >   "geoRegion": "West Europe", >   "hyperV": false, >   "id": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourceGroups/rg-koogle-prod/providers/Microsoft.Web/serverfarms/asp-koogle-prod", >   "isCustomMode": false, >   "isSpot": false, >   "isXenon": false, >   "kind": "linux", >   "location": "westeurope", >   "maximumElasticWorkerCount": 1, >   "maximumNumberOfWorkers": 0, >   "name": "asp-koogle-prod", >   "numberOfSites": 0, >   "numberOfWorkers": 1, >   "perSiteScaling": false, >   "provisioningState": "Succeeded", >   "reserved": true, >   "resourceGroup": "rg-koogle-prod", >   "sku": { >     "capacity": 1, >     "family": "B", >     "name": "B1", >     "size": "B1", >     "tier": "Basic" >   }, >   "status": "Ready", >   "subscription": "f1332eb1-392f-4b16-9ede-7905848ef248", >   "targetWorkerCount": 0, >   "targetWorkerSizeId": 0, >   "type": "Microsoft.Web/serverfarms", >   "zoneRedundant": false > } az webapp identity assign -g $RgName -n $WebAppName $principalId = az webapp show -g $RgName -n $WebAppName --query identity.principalId -o tsv > { > >   "principalId": "bebabb0b-1f5e-4917-bdde-7bbb70139248", >   "tenantId": "94cf90d7-e9ff-49a1-bc3b-a5b94d3cc8ca", >   "type": "SystemAssigned", >   "userAssignedIdentities": null > } ## SQL-Server az sql server create -g $RgName -n $SqlServerName -l $Location -u "sqladmin" -p (New-Guid).Guid > { >   "administratorLogin": "sqladmin", >   "administratorLoginPassword": null, >   "administrators": null, >   "createMode": null, >   "externalGovernanceStatus": "Disabled", >   "federatedClientId": null, >   "fullyQualifiedDomainName": "sql-koogle-prod.database.windows.net", >   "id": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourceGroups/rg-koogle-prod/providers/Microsoft.Sql/servers/sql-koogle-prod",  >   "identity": null, >   "isIPv6Enabled": null, >   "keyId": null, >   "kind": "v12.0", >   "location": "westeurope", >   "minimalTlsVersion": "1.2", >   "name": "sql-koogle-prod", >   "primaryUserAssignedIdentityId": null, >   "privateEndpointConnections": \[\], >   "publicNetworkAccess": "Enabled", >   "resourceGroup": "rg-koogle-prod", >   "restrictOutboundNetworkAccess": "Disabled", >   "retentionDays": -1, >   "state": "Ready", >   "tags": null, >   "type": "Microsoft.Sql/servers", >   "version": "12.0", >   "workspaceFeature": null > } ``` az sql server update ` -g $RgName ` -n $SqlServerName ` --admin-password "Magister7000#" ``` Anmeldung im Azure-Portal muss als admin-d-chrka erfolgen dann User per SQL anlegen: ``` CREATE USER [KoogleWeb20251231130827] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [KoogleWeb20251231130827]; ALTER ROLE db_datawriter ADD MEMBER [KoogleWeb20251231130827]; ``` ## SQL-DB az sql db create -g $RgName -s $SqlServerName -n $SqlDbName --service-objective S0 > { >   "autoPauseDelay": null, >   "availabilityZone": "NoPreference", >   "catalogCollation": "SQL\_Latin1\_General\_CP1\_CI\_AS", >   "collation": "SQL\_Latin1\_General\_CP1\_CI\_AS", >   "createMode": null, >   "creationDate": "2025-12-31T12:42:38+00:00", >   "currentBackupStorageRedundancy": "Geo", >   "currentServiceObjectiveName": "S0", >   "currentSku": { >     "capacity": 10, >     "family": null, >     "name": "Standard", >     "size": null, >     "tier": "Standard" >   }, >   "databaseId": "f3dcbbb9-8a40-4e02-b40c-a8fc4991c04b", >   "defaultSecondaryLocation": "northeurope", >   "earliestRestoreDate": null, >   "edition": "Standard", >   "elasticPoolId": null, >   "elasticPoolName": null, >   "encryptionProtector": null, >   "encryptionProtectorAutoRotation": null, >   "failoverGroupId": null, >   "federatedClientId": null, >   "freeLimitExhaustionBehavior": null, >   "highAvailabilityReplicaCount": null, >   "id": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourceGroups/rg-koogle-prod/providers/Microsoft.Sql/servers/sql-koogle-prod/databases/db-koogle", >   "identity": null, >   "isInfraEncryptionEnabled": false, >   "keys": null, >   "kind": "v12.0,user", >   "ledgerOn": false, >   "licenseType": null, >   "location": "westeurope", >   "longTermRetentionBackupResourceId": null, >   "maintenanceConfigurationId": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL\_Default", >   "managedBy": null, >   "manualCutover": null, >   "maxLogSizeBytes": null, >   "maxSizeBytes": 268435456000, >   "minCapacity": null, >   "name": "db-koogle", >   "pausedDate": null, >   "performCutover": null, >   "preferredEnclaveType": null, >   "readScale": "Disabled", >   "recoverableDatabaseId": null, >   "recoveryServicesRecoveryPointId": null, >   "requestedBackupStorageRedundancy": "Geo", >   "requestedServiceObjectiveName": "S0", >   "resourceGroup": "rg-koogle-prod", >   "restorableDroppedDatabaseId": null, >   "restorePointInTime": null, >   "resumedDate": null, >   "sampleName": null, >   "secondaryType": null, >   "sku": { >     "capacity": 10, >     "family": null, >     "name": "Standard", >     "size": null, >     "tier": "Standard" >   }, >   "sourceDatabaseDeletionDate": null, >   "sourceDatabaseId": null, >   "sourceResourceId": null, >   "status": "Online", >   "tags": null, >   "type": "Microsoft.Sql/servers/databases", >   "useFreeLimit": null, >   "zoneRedundant": false > } ### SQL-Admin az sql server ad-admin create \`   -g $RgName -s $SqlServerName \`   --display-name $AadAdminDisplay \`   --object-id $AadAdminObjectId > { >   "administratorType": "ActiveDirectory", >   "azureAdOnlyAuthentication": null, >   "id": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourceGroups/rg-koogle-prod/providers/Microsoft.Sql/servers/sql-koogle-prod/administrators/ActiveDirectory", >   "login": "Admin D-Chrka", >   "name": "ActiveDirectory", >   "resourceGroup": "rg-koogle-prod", >   "sid": "70f83097-e12a-48a6-96b4-15760268c994", >   "tenantId": "94cf90d7-e9ff-49a1-bc3b-a5b94d3cc8ca", >   "type": "Microsoft.Sql/servers" > } ### Zugriff auf SQL vom NB erlauben ``` # Firewall-Regel für dein Notebook (lokaler Zugriff/Tools wie DataGrip) $myIp = (Invoke-RestMethod -Uri "https://api.ipify.org") az sql server firewall-rule create -g $RgName -s $SqlServerName -n "allow-notebook" --start-ip-address $myIp --end-ip-address $myIp ``` > { >   "endIpAddress": "91.63.233.49", >   "id": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourceGroups/rg-koogle-prod/providers/Microsoft.Sql/servers/sql-koogle-prod/firewallRules/allow-notebook", >   "name": "allow-notebook", >   "resourceGroup": "rg-koogle-prod", >   "startIpAddress": "91.63.233.49", >   "type": "Microsoft.Sql/servers/firewallRules" > } [https://portal.azure.com/#@krahgruppe.onmicrosoft.com/resource/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourcegroups/rg-koogle-prod/providers/microsoft.sql/servers/sql-koogle-prod/networking](https://portal.azure.com/#@krahgruppe.onmicrosoft.com/resource/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourcegroups/rg-koogle-prod/providers/microsoft.sql/servers/sql-koogle-prod/networking) ![](..\..\..\files\019b74a6-1758-70c8-bf4e-d2ce8f329973.png)
## App Insights az monitor app-insights component create -g $RgName -l $Location -a $AppInsightsName > {- Installing .. >   "appId": "0490e6aa-f192-4fe9-aefb-0ad9ff66d08c", >   "applicationId": "ai-koogle-prod", >   "applicationType": "web", >   "connectionString": "InstrumentationKey=b3f53de2-82d7-4149-a468-dbdc486b919c;IngestionEndpoint=[https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=0490e6aa-f192-4fe9-aefb-0ad9ff66d08c](https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=0490e6aa-f192-4fe9-aefb-0ad9ff66d08c)", >   "creationDate": "2025-12-31T12:47:36.840819+00:00", >   "disableIpMasking": null, >   "etag": "\\"a402a9ef-0000-0200-0000-69551b6e0000\\"", >   "flowType": "Bluefield", >   "hockeyAppId": null, >   "hockeyAppToken": null, >   "id": "/subscriptions/f1332eb1-392f-4b16-9ede-7905848ef248/resourceGroups/rg-koogle-prod/providers/microsoft.insights/components/ai-koogle-prod", >   "immediatePurgeDataOn30Days": null, >   "ingestionMode": "LogAnalytics", >   "instrumentationKey": "b3f53de2-82d7-4149-a468-dbdc486b919c", >   "kind": "web", >   "location": "westeurope", >   "name": "ai-koogle-prod", >   "privateLinkScopedResources": null, >   "provisioningState": "Succeeded", >   "publicNetworkAccessForIngestion": "Enabled", >   "publicNetworkAccessForQuery": "Enabled", >   "requestSource": "rest", >   "resourceGroup": "rg-koogle-prod", >   "retentionInDays": 90, >   "samplingPercentage": null, >   "tags": {}, >   "tenantId": "f1332eb1-392f-4b16-9ede-7905848ef248", >   "type": "microsoft.insights/components" > } ``` $ikey = az monitor app-insights component show -g $RgName -a $AppInsightsName --query instrumentationKey -o tsv ``` KEY: b3f53de2-82d7-4149-a468-dbdc486b919c ### Settings Web-App ``` az webapp config appsettings set -g $RgName -n $WebAppName --settings ` ASPNETCORE_ENVIRONMENT=Production ` APPINSIGHTS_INSTRUMENTATIONKEY=$ikey ` WEBSITE_RUN_FROM_PACKAGE=1 ```