Azure Container Instance einrichten

Bereitstellung von BE-Code als Azure Container Instance mit optionaler Anbindung an Azure Key Vault.

Zweck

Diese Seite beschreibt den empfohlenen Weg, um BE-Code als Azure Container Instance (ACI) ohne eigene Serverinfrastruktur zu betreiben. Optional binden Sie den Dienst an Azure Key Vault an, um Zertifikate zentral zu verwalten.

Voraussetzungen

  • Aktives Azure-Abonnement mit ausreichenden Rechten zum Anlegen von Ressourcengruppen und Container Instances.
  • Azure CLI auf dem Arbeitsplatz installiert oder Zugriff auf das Azure-Portal.
  • Zugriff auf die BE-terna Azure Container Registry becode.azurecr.io; Authentifizierung über ein ACR-Token je Kunde.
  • Optional: Azure-AD-Service-Principal mit Zugriff auf das Key Vault und ein gültiges SSL-Zertifikat im Key Vault.

Empfohlene Reihenfolge

  1. Anmeldung an Azure und Container Registry.
  2. Ressourcengruppe anlegen.
  3. Azure Container Instance erstellen.
  4. Container verifizieren und DNS-Weiterleitung einrichten.
  5. Erreichbarkeit testen und Service-URL im BE-Code-Setup in Business Central pflegen.

Einrichtungsbausteine

Anmeldung

Melden Sie sich an Azure und an der Container Registry an:

az login
az acr login --name becode
docker login becode.azurecr.io -u <token-name> -p <token-password>

Verwenden Sie ein dediziertes ACR-Token je Kunde und nicht das Admin-Konto der Registry.

Ressourcengruppe anlegen

az group create --name myResourceGroup --location westeurope

Ersetzen Sie myResourceGroup durch einen eigenen Namen und westeurope bei Bedarf durch die passende Azure-Region.

Azure Container Instance erstellen

Erstellen Sie die Container Instance, die BE-Code bereitstellt. Passen Sie Ressourcengruppe, Name, Image-Version und Umgebungsvariablen an. Leerzeichen in Variablenwerten vermeiden:

az container create `
    --resource-group myResourceGroup `
    --name becode `
    --image becode.azurecr.io/becode:latest `
    --ports 1880 `
    --registry-username <token-name> `
    --registry-password <token-password> `
    --location westeurope `
    --vnet myVNET `
    --subnet mySubnet `
    --os-type Windows `
    --environment-variables title="BE-terna" port="1880" `
        azureClientID=<client-id> azureTenantID=<tenant-id> azureSubscriptionID=<subscription-id> `
        vaultName=<vault-name> certificateName=<certificate-name> `
        pfxFileName="C:\certs\cert.pfx" certPemName="C:\certs\cert.pem" privateKeyPemName="C:\certs\privkey.pem" `
        flowfile="C:\data\flow.json" settingsfile="C:\data\settings.js" `
    --secure-environment-variables azureSecretValue=<secret> certificatePw=<certificate-password> userPw=<strong-password>

Hinweise:

  • Liegt das virtuelle Netzwerk in einer anderen Ressourcengruppe als die Container Instance, geben Sie die vollständige VNet-ID statt des Namens an.
  • --os-type unterstützt Windows oder Linux; stimmen Sie sich zur passenden Variante mit dem BE-terna-Support ab.
  • Wenn Sie kein Key Vault nutzen, lassen Sie die Key-Vault-Variablen weg. Ohne userPw startet der Container mit dem Demo-Standardkennwort und einem selbstsignierten Zertifikat; produktiv ist das nicht freigegeben.

Container verifizieren

Prüfen Sie den Betriebsstatus und die vergebene Adresse:

az container show --resource-group myResourceGroup --name becode --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState,Containers:containers[0].name,ContainerState:containers[0].instanceView.currentState.detailStatus}"

Richten Sie anschließend die DNS-Weiterleitung auf den FQDN oder eine eigene Subdomain ein.

Erreichbarkeit und Integration

Rufen Sie https://<fqdn>:1880/becode oder https://<dns>:1880/becode im Browser auf. Hinterlegen Sie dieselbe Adresse im BE-Code-Setup in Business Central und verifizieren Sie die Verbindung mit der Aktion Verbindung prüfen.

Process Betriebshinweise Leitplanken für sicheren Betrieb und Secrets-Management.
  • Key-Vault-Werte ausschließlich über --secure-environment-variables setzen, nie als Klartextvariable.
  • Zugriff auf das Key Vault auf den Service-Principal des Containers beschränken und regelmäßig prüfen.
  • Container ohne VNet-/Firewall-Schutz nicht öffentlich erreichbar machen.
  • Image-Updates in einem Wartungsfenster einspielen und anschließend die Verbindung aus Business Central prüfen.