App Service in Azure Stack Hub 2021 Q1: Versionshinweise

In diesen Versionshinweisen werden die Verbesserungen und Fehlerbehebungen in Azure App Service in Azure Stack Hub 2021 Q1 sowie bekannte Probleme beschrieben. Die bekannten Probleme sind in Probleme unterteilt, die sich direkt auf die Bereitstellung und den Updateprozess beziehen, und in Probleme mit dem Build (nach der Installation).

Wichtig

Aktualisieren Sie Azure Stack Hub bei Bedarf auf eine unterstützte Version, oder stellen Sie das neueste Azure Stack Development Kit bereit, bevor Sie den App Service-Ressourcenanbieter (Resource provider, RP) bereitstellen oder aktualisieren. Lesen Sie auch die RP-Versionshinweise, um weitere Informationen zu neuen Funktionen, Fehlerbehebungen und bekannten Problemen zu erhalten, die ggf. für Ihre Bereitstellung relevant sind.

Unterstützte Azure Stack Hub-Mindestversion App Service-RP-Version
2301 und höher Installationsprogramm 2302 (Versionshinweise)

Buildreferenz

Die Buildnummer für App Service in Azure Stack Hub 2021 Q1 lautet 91.0.2.20.

Voraussetzungen

Lesen Sie die Dokumentation Vor den ersten Schritten mit App Service in Azure Stack, bevor Sie mit der Bereitstellung beginnen.

Bevor Sie mit dem Upgrade von Azure App Service in Azure Stack auf 2021 Q1 beginnen:

  • Stellen Sie sicher, dass Azure Stack Hub auf Version 2102 aktualisiert wurde.

  • Stellen Sie sicher, dass alle Rollen in der Azure App Service-Verwaltung im Azure Stack Hub-Verwaltungsportal bereit sind.

  • Sichern der App Service-Geheimnisse mithilfe der App Service-Verwaltung im Azure Stack Hub-Verwaltungsportal

  • Sichern Sie die App Service- und SQL Server-Masterdatenbanken:

    • AppService_Hosting
    • AppService_Metering
    • Master
  • Sichern Sie die Inhaltsdateifreigabe der Mandanten-App.

    Wichtig

    Cloudoperatoren sind für die Verwaltung und den Betrieb des Dateiservers und von SQL Server verantwortlich. Der Ressourcenanbieter verwaltet diese Ressourcen nicht. Der Cloudoperator ist für das Sichern der App Service-Datenbanken und der Mandanten-Inhaltsdateifreigabe verantwortlich.

  • Syndizieren Sie die benutzerdefinierte Skripterweiterung (Version 1.9.3) über den Marketplace.

Aktualisierungen

Update 2021 Q1 für Azure App Service in Azure Stack enthält folgende Verbesserungen und Fehlerbehebungen:

  • Updates für App Service-Mandanten, Admin, Functions-Portale und Kudu-Tools. Mit Azure Stack-Portal-SDK-Version konsistent.

  • Hinzufügung von Vollbilderstellungmöglichkeit für Web- und Funktions-Apps.

  • Neue Azure Functions-Portalumgebung, die mit Web-Apps konsistent ist.

  • Aktualisierung der Azure Functions-Runtime auf v1.0.13154.

  • Updates für den Kerndienst zur Verbesserung der Zuverlässigkeit und der Fehlermeldungen, die eine einfachere Diagnose von häufigen Problemen ermöglichen.

  • Updates für folgende Anwendungsframeworks und Tools:

    • ASP.NET Core 5.0.4
    • .NET Framework 4.8
    • NodeJS
      • 14.15.0
    • NPM
      • 1.1.37
      • 1.2.30
      • 1.3.11
    • Kudu auf 90.21106.4900 aktualisiert
  • Updates des zugrunde liegenden Betriebssystems aller Rollen:

  • Kumulative Updates für Windows Server werden jetzt im Rahmen der Bereitstellung und Aktualisierung auf Controllerrollen angewendet.

  • Die MMC-basierte Verwaltungskonsole wurde zur Verbesserung der Barrierefreiheit durch die WPF-Anwendung ersetzt.

  • TLS-Verschlüsselungssammlungen wurden aktualisiert, um die Konsistenz mit dem Azure-Dienst aufrechtzuerhalten. Ab diesem Release werden Sammlungen mit jedem Update aktualisiert.

In diesem Release behobene Probleme

  • Keine Anzeige der benutzerdefinierten Mandantennutzung für SKU „Shared“ in den Berichten zur Mandantennutzung

  • Keine Möglichkeit zur Auswahl von Abonnement und Standort, wenn der Dienstprinzipal für Bereitstellung/Upgrade verwendet wird

  • Protokollbereinigung für Infrastrukturrollen

  • Schritt zum Warten auf die Verwaltung hinzugefügt

  • Wenn generierte Speicherkontonamen mehr als 24 Zeichen lang sind, kommt es zu einem Installationsfehler, weil Speicherkontonamen höchstens 24 Zeichen umfassen dürfen

  • Remote-Git-Pushfehler: Ungültige Version: Transformer

Schritte vor dem Update

Überprüfen Sie die bekannten Probleme bei Updates, und ergreifen Sie alle vorgeschriebenen Maßnahmen.

Schritte nach der Bereitstellung

Wichtig

Wenn Sie den App Service-Ressourcenanbieter mit einer SQL Always On-Instanz bereitgestellt haben, MÜSSEN Sie die Datenbanken „appservice_hosting“ und „appservice_metering“ einer Verfügbarkeitsgruppe hinzufügen und die Datenbanken synchronisieren, damit es im Falle eines Datenbankfailovers nicht zu Dienstausfällen kommt.

Bekannte Probleme (Update)

  • In Fällen, in denen ein Kunde die appservice_hosting- und appservice_metering-Datenbanken in eine eigenständige Datenbank konvertiert hat, schlägt das Upgrade möglicherweise fehl, wenn Anmeldungen nicht erfolgreich zu eigenständigen Benutzern migriert wurden.

Bei Kunden, die die appservice_hosting- und appservice_metering-Datenbanken nach der Bereitstellung in eine eigenständige Datenbank konvertiert und die Datenbankanmeldungen nicht zu eigenständigen Benutzern migriert haben, können Upgradefehler auftreten.

Kunden müssen das folgende Skript für den SQL-Server ausführen, der appservice_hosting und appservice_metering hostet, bevor sie die Azure App Service in Azure Stack Hub-Installation auf 2020 Q3 aktualisieren können. Dieses Skript ist nicht destruktiv und führt nicht zu Ausfallzeiten.

Dieses Skript muss unter den folgenden Bedingungen ausgeführt werden.

  • Es muss von einem Benutzer mit der Berechtigung „Systemadministrator“ ausgeführt werden, z. B. dem SQL-Konto „SA“.

  • Wenn Sie SQL Always On verwenden, stellen Sie sicher, dass das Skript von der SQL-Instanz ausgeführt wird, die alle App Service-Anmeldungen im folgenden Format enthält:

    • appservice_hosting_FileServer
    • appservice_hosting_HostingAdmin
    • appservice_hosting_LoadBalancer
    • appservice_hosting_Operations
    • appservice_hosting_Publisher
    • appservice_hosting_SecurePublisher
    • appservice_hosting_WebWorkerManager
    • appservice_metering_Common
    • appservice_metering_Operations
    • Alle WebWorker-Anmeldungen in der Form WebWorker_<Instanz-IP-Adresse>
        USE appservice_hosting
        IF EXISTS(SELECT * FROM sys.databases WHERE Name=DB_NAME() AND containment = 1)
        BEGIN
        DECLARE @username sysname ;  
        DECLARE user_cursor CURSOR  
        FOR
            SELECT dp.name
            FROM sys.database_principals AS dp  
            JOIN sys.server_principals AS sp
                ON dp.sid = sp.sid  
                WHERE dp.authentication_type = 1 AND dp.name NOT IN ('dbo','sys','guest','INFORMATION_SCHEMA');
            OPEN user_cursor  
            FETCH NEXT FROM user_cursor INTO @username  
                WHILE @@FETCH_STATUS = 0  
                BEGIN  
                    EXECUTE sp_migrate_user_to_contained
                    @username = @username,  
                    @rename = N'copy_login_name',  
                    @disablelogin = N'do_not_disable_login';  
                FETCH NEXT FROM user_cursor INTO @username  
            END  
            CLOSE user_cursor ;  
            DEALLOCATE user_cursor ;
            END
        GO

        USE appservice_metering
        IF EXISTS(SELECT * FROM sys.databases WHERE Name=DB_NAME() AND containment = 1)
        BEGIN
        DECLARE @username sysname ;  
        DECLARE user_cursor CURSOR  
        FOR
            SELECT dp.name
            FROM sys.database_principals AS dp  
            JOIN sys.server_principals AS sp
                ON dp.sid = sp.sid  
                WHERE dp.authentication_type = 1 AND dp.name NOT IN ('dbo','sys','guest','INFORMATION_SCHEMA');
            OPEN user_cursor  
            FETCH NEXT FROM user_cursor INTO @username  
                WHILE @@FETCH_STATUS = 0  
                BEGIN  
                    EXECUTE sp_migrate_user_to_contained
                    @username = @username,  
                    @rename = N'copy_login_name',  
                    @disablelogin = N'do_not_disable_login';  
                FETCH NEXT FROM user_cursor INTO @username  
            END  
            CLOSE user_cursor ;  
            DEALLOCATE user_cursor ;
            END
        GO

Bekannte Probleme (nach der Installation)

  • Worker können den Dateiserver nicht erreichen, wenn App Service in einem bestehenden virtuellen Netzwerk bereitgestellt wird und der Dateiserver nur im privaten Netzwerk verfügbar ist. Dies ist in der Bereitstellungsdokumentation zu Azure App Service in Azure Stack dargestellt.

    Wenn Sie sich für die Bereitstellung in einem bestehenden virtuellen Netzwerk und eine interne IP-Adresse für die Verbindung mit Ihrem Dateiserver entschieden haben, müssen Sie eine Sicherheitsregel für ausgehenden Datenverkehr hinzufügen, die den SMB-Verkehr zwischen dem Workersubnetz und dem Dateiserver ermöglicht. Wechseln Sie im Verwaltungsportal zu WorkersNsg, und fügen Sie eine Sicherheitsregel für ausgehenden Datenverkehr mit den folgenden Eigenschaften hinzu:

    • Quelle: Any
    • Quellportbereich: *
    • Ziel: IP-Adressen
    • IP-Zieladressbereich: Bereich der IPs für Ihren Dateiserver
    • Zielportbereich: 445
    • Protokoll: TCP
    • Aktion: Allow
    • Priorität: 700
    • Name: Outbound_Allow_SMB445
  • Um die Wartezeit bei der Kommunikation der Worker mit dem Dateiserver zu beseitigen, empfehlen wir außerdem, die folgende Regel zur Worker-NSG hinzuzufügen, um den ausgehenden LDAP- und Kerberos-Datenverkehr zu Ihren Active Directory-Controllern zuzulassen, wenn Sie den Dateiserver mithilfe von Active Directory sichern, z. B. wenn Sie die Schnellstartvorlage zur Bereitstellung einer Dateiserver- und SQL Server-Instanz mit Hochverfügbarkeit verwendet haben.

    Wechseln Sie im Verwaltungsportal zu WorkersNsg, und fügen Sie eine Sicherheitsregel für ausgehenden Datenverkehr mit den folgenden Eigenschaften hinzu:

    • Quelle: Any
    • Quellportbereich: *
    • Ziel: IP-Adressen
    • Ziel-IP-Adressbereich: IP-Adressbereich für Ihre AD-Server, z. B. mit der Schnellstartvorlage 10.0.0.100, 10.0.0.101
    • Zielportbereich: 389,88
    • Protokoll: Any
    • Aktion: Allow
    • Priorität: 710
    • Name: Outbound_Allow_LDAP_and_Kerberos_to_Domain_Controllers

Bekannte Probleme von Cloudadministratoren, die Azure App Service in Azure Stack betreiben

  • Benutzerdefinierte Domänen werden in getrennten Umgebungen nicht unterstützt.

App Service führt die Überprüfung des Domänenbesitzes für öffentliche DNS-Endpunkte durch. Daher werden benutzerdefinierte Domänen in getrennten Szenarien nicht unterstützt.

Nächste Schritte