Verwaltete Instanz in Azure App Service bereitstellen

Verwaltete Instanz in Azure App Service kombiniert die Einfachheit der Plattform als Dienst mit der Flexibilität der Steuerung auf Infrastrukturebene. verwaltete Instanz ist für Anwendungen konzipiert, die eine OS-Anpassung, private Netzwerke und eine sichere Integration mit Azure-Diensten erfordern.

Von Bedeutung

verwaltete Instanz ist in ausgewählten Regionen allgemein für Windows-Webanwendungen verfügbar und auf Pv4- und Pmv4-Preispläne beschränkt. Microsoft wird im Laufe der Zeit weitere Regionen hinzufügen. verwaltete Instanz unterstützt kein Linux und keine Container.

In dieser Schnellstartanleitung führen Sie die folgenden Schritte aus:

  1. Verwenden Sie Azure Developer CLI, um Beispielressourcen bereitzustellen.
  2. Erstellen Sie eine verwaltete Instanz auf Azure App Service.
  3. Bereitstellen einer Beispiel-App.
  4. Überprüfen der Bereitstellung

Voraussetzungen

  • Azure-Konto: Sie benötigen ein Azure-Konto mit einem aktiven Abonnement. Falls Sie noch über keins verfügen, können Sie ein kostenloses Konto erstellen.

  • Verwaltete Identität

  • Schnellstart: Hochladen, Herunterladen und Auflisten von Blobs mit dem Azure-Portal

  • Optionales Konfigurations- (Installations-)Skript: Dieser Quickstart verwendet ein PowerShell-Skript, das in einer komprimierten .zip Datei benannt Install.ps1 ist, um Schriftarten zu installieren. Konfigurationsskripte sind für verwaltete Instanz nicht zwingend erforderlich. Verwenden Sie ein Konfigurationsskript, wenn Ihre Anwendung Abhängigkeiten, Betriebssystemrollen, Funktionen oder Konfigurationen oder persistente Änderungen benötigt, die nach einem Neustart der Instanz verloren gehen würden. Verwenden Sie RDP für Diagnosen statt für persistente Konfigurationen.

Bereitstellen von Beispielressourcen

Sie können alle notwendigen Ressourcen in diesem Quickstart schnell bereitstellen, indem Sie die Azure Developer CLI (AZD) verwenden. Die in dieser Schnellstartanleitung verwendete AZD-Vorlage stammt aus Azure-Beispielen.

mkdir managed-instance-quickstart
cd managed-instance-quickstart
azd init --template https://github.com/Azure-Samples/managed-instance-azure-app-service-quickstart.git .
azd env set AZURE_LOCATION northeurope
azd up

Der Befehl azd up bewirkt Folgendes:

  1. Erstellen einer benutzerseitig zugewiesenen verwalteten Identität
  2. Erstellt ein Azure Storage Blob.
  3. Weist die verwaltete Identität dem Speichercontainer und dem Plan für verwaltete Instanzen zu.
  4. Gewährt Mitwirkenden an Storage-Blobdaten Zugriff auf den Speichercontainer.
  5. Komprimiert werden eingebettete Schriftarten und Install.ps1 in scripts.zip.
  6. Laden Sie scripts.zip in den Speichercontainer hoch.

Hinweis

Das mit den Beispielressourcen bereitgestellte Konfigurationsskriptpaket (scripts.zip) enthält Install.ps1, das Microsoft Aptos-Schriftdateien in C:\Windows\Fontskopiert. Die Beispiel-App, die du bereitstellst, verwendet diese Schriftarten.

Der folgende PowerShell-Code ist das Konfigurationsskript (Installationsskript), das in der Vorlage verwendet wird.

# Install.ps1 - Copy and register fonts on Managed Instance
Write-Host "Installing custom fonts on Managed Instance..." -ForegroundColor Green

# Copy all TTF and OTF fonts to Windows Fonts folder and register them
Get-ChildItem -Recurse -Include *.ttf, *.otf | ForEach-Object {
    $FontFullName = $_.FullName
    $FontName = $_.BaseName + " (TrueType)"
    $Destination = "$env:windir\Fonts\$($_.Name)"

    Write-Host "Installing font: $($_.Name)"
    Copy-Item $FontFullName -Destination $Destination -Force
    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" -Name $FontName -PropertyType String -Value $_.Name -Force | Out-Null
}

Write-Host "Font installation completed." -ForegroundColor Green

Die endgültige Ausgabe sollte azd up ähnlich wie im folgenden Beispiel aussehen.

=== Deployment Complete ===
Storage Account: stgpjqep6fdlfv6
Container Name: scripts
Managed Identity Client name: id-gpjqep6fdlfv6
Resource Group: rg-managed-instance

Die Werte für Storage Account, Container Name, Managed Identity Client name, Resource Group und Script URI werden später verwendet.

Bereitstellen eines Plans für verwaltete Instanzen

Führen Sie die folgenden Schritte aus, um einen Verwalteten Instanzplan zu erstellen und eine App dafür bereitzustellen:

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie + Ressource erstellen.
  3. Suchen nach verwalteter Instanz
  4. Wählen Sie in den Ergebnissen die Web App (für verwaltete Instanz) aus.
  5. Wählen Sie Erstellen aus, um den Erstellungsprozess zu starten.
  6. Geben Sie auf der Registerkarte Basic die folgenden Details an.

Projektdetails

Setting Wert
Subscription Ihr Azure-Abonnement
Ressourcengruppe rg-managed-instance

App-Details

Setting Wert
Name contoso-mi-app
Runtimestapel ASPNET V4.8
Region Eine Region in Ihrer Nähe

Tarife

Setting Wert
Windows-Plan Standardplan verwenden oder neu erstellen (z. B. "contoso-mi-plan").
Tarife* Wählen Sie einen Preisplan aus. Wenn Pv4 oder Pmv4 in Preisplänen nicht sichtbar ist, bestätigen Sie die Verfügbarkeit der Region, oder fordern Sie ein weiteres Kontingent an.

Geben Sie auf der Registerkarte Advanced die folgenden Details an.

Konfigurationsskript (Installieren)

Setting Wert
Speicherkonto Standardplan verwenden oder neu erstellen (z. B. "contoso-mi-plan").
Container Skripte
ZIP-Datei scripts.zip
Wert Überprüfen, ob die .zip-URL korrekt ist
Identität Wählen Sie die zuvor erstellte verwaltete Identität aus
  • Wählen Sie "Überprüfen" und "Erstellen" und dann " Erstellen" aus.

Bereitstellen einer Beispiel-App in verwalteter Instanz

In diesem Schritt verwenden Sie Cloud Shell, um eine Beispiel-App bereitzustellen, die in der AZD-Vorlage für die verwaltete Instanz enthalten war.

  • Mit dem folgenden Befehl wird die Web-App in Ihrem Plan für verwaltete Instanzen bereitgestellt. Aktualisieren Sie <app-name> und <resource-group> mit Ihren Werten.
az webapp deploy \
  --resource-group "<resource-group-name>" \
  --name "<app-name>" \
  --src-path app.zip \
  --type zip

Navigieren zur App

Um zur erstellten App zu navigieren, wählen Sie die Standarddomäne auf der Seite "Übersicht" aus.

Die .NET-App wird auf einem verwalteten Instanzplan ausgeführt. Die App verwendet Schriftarten aus dem Verzeichnis "C:\Windows\Fonts".

Screenshot der Beispiel-App mit C:\Windows\Fonts\Aptos.TTF.

Verwalten des Plans für verwaltete Instanzen

Wechseln Sie zum Verwalten Ihrer Web-App zum Azure-Portal, und suchen Sie nach App Services. Wählen Sie diese Option anschließend aus.

Wählen Sie auf der Seite App Services den Namen Ihrer Web-App aus.

Wählen Sie auf der Seite Übersicht den Namen Ihres App Service-Plans aus. Wählen Sie unter "Aktueller App Service-Plan" den Plannamen aus.

Wählen Sie im linken Menü unter "Einstellungen" die Option "Konfiguration " aus, um die Konfigurationsdetails anzuzeigen.

Bereinigen von Ressourcen

In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. Wenn Sie diese Ressourcen in Zukunft nicht mehr benötigen, können Sie sie löschen, indem Sie die Ressourcengruppe löschen.

  1. Wählen Sie auf der Seite „Übersicht“ Ihrer Web-App im Azure-Portal den Link myResourceGroup unter Ressourcengruppe aus.
  2. Vergewissern Sie sich, dass es sich bei den auf der Seite „Ressourcengruppe“ aufgeführten Ressourcen wirklich um die Ressourcen handelt, die gelöscht werden sollen.
  3. Wählen Sie Ressourcengruppe löschen, geben Sie myResourceGroup im Textfeld ein, und wählen Sie anschließend Löschen aus.
  4. Bestätigen Sie erneut, indem Sie Löschen auswählen.