Verwenden einer App Service-Umgebung
Eine App Service-Umgebung ist eine Bereitstellung mit nur einem Mandanten in Azure App Service. Sie wird mit einem virtuellen Azure-Netzwerk genutzt, mit Ihnen als einzigem Nutzer. Für bereitgestellte Apps gelten die Netzwerkfeatures, die auf das Subnetz angewendet werden. Für Ihre Apps müssen keine zusätzlichen Features aktiviert werden, damit diese Netzwerkfeatures für sie gelten.
Hinweis
In diesem Artikel wird die App Service-Umgebung v3 beschrieben, die mit isolierten v2-App Service-Plänen verwendet wird.
Erstellen einer App
Zum Erstellen einer App in Ihrer App Service-Umgebung verwenden Sie denselben Prozess wie bei der normalen Erstellung einer App, jedoch mit einigen kleinen Unterschieden. Beim Erstellen eines neuen App Service-Plans gilt:
- Anstelle eines geografischen Standorts wählen Sie eine App Service-Umgebung als Standort für die Bereitstellung der App aus.
- In einer App Service-Umgebung erstellte App Service-Pläne können nur in einem Tarif vom Typ „Isoliert V2“ ausgeführt werden.
Falls noch nicht geschehen, erstellen Sie eine App Service-Umgebung.
Führen Sie die folgenden Schritte aus, um eine App in einer App Service-Umgebung zu erstellen:
- Wählen Sie Ressource erstellen>Web + Mobil>Web-Apps aus.
- Wählen Sie ein Abonnement aus.
- Geben Sie einen Namen für eine neue Ressourcengruppe ein. Alternativ können Sie auf die Option Vorhandene verwenden klicken und in der Dropdownliste eine Ressourcengruppe auswählen.
- Geben Sie einen Namen für die App ein. Wenn Sie bereits einen App Service-Plan in einer App Service-Umgebung ausgewählt haben, entspricht der Domänenname der App dem Domänennamen der App Service-Umgebung.
- Treffen Sie für Veröffentlichen, Runtimestapel und Betriebssystem die gewünschte Auswahl.
- Wählen Sie für Region eine bereits vorhandene App Service-Umgebung vom Typ „v3“ aus. Wenn Sie eine neue App Service-Umgebung erstellen möchten, wählen Sie eine Region aus.
- Wählen Sie einen vorhandenen App Service-Plan aus, oder erstellen Sie einen neuen Plan. Wenn Sie einen neuen Plan erstellen, wählen Sie die gewünschte Größe für Ihren App Service-Plan aus. Die einzige SKU, die Sie für Ihre App auswählen können, ist eine SKU mit Tarif vom Typ „Isoliert V2“. Die Erstellung eines neuen App Service-Plans dauert normalerweise weniger als 20 Minuten.
- Wenn Sie beim Erstellen Ihres neuen App Service-Plans eine neue App Service-Umgebung erstellen möchten, geben Sie den Namen und den Typ der virtuellen IP ein.
- Klicken Sie auf Weiter: Überwachung aus. Wenn Sie für Ihre App Application Insights aktivieren möchten, können Sie dies während des Erstellungsvorgangs tun.
- Klicken Sie auf Weiter: Tags, und fügen Sie der App die gewünschten Tags hinzu.
- Klicken Sie auf Überprüfen + erstellen. Vergewissern Sie sich, dass die Informationen korrekt sind, und klicken Sie dann auf Erstellen.
Windows-Apps und Linux-Apps können sich zwar in derselben App Service-Umgebung befinden, jedoch nicht im selben App Service-Plan.
Skalieren
Jede App Service-App wird in einem App Service-Plan ausgeführt. App Service-Umgebungen enthalten App Service-Pläne, und App Service-Pläne enthalten Apps. Wenn Sie eine App skalieren, skalieren Sie auch den App Service-Plan und damit alle Apps in diesem Plan.
Wenn Sie einen App Service-Plan skalieren, wird die erforderliche Infrastruktur automatisch hinzugefügt. Bedenken Sie, dass es bei Skalierungsvorgängen zu einer Zeitverzögerung kommt, während die Infrastruktur hinzugefügt wird. Wenn Sie beispielsweise einen App Service-Plan skalieren und ein weiterer Skalierungsvorgang mit demselben Betriebssystem und derselben Größe ausgeführt wird, kann es zu einer Verzögerung von einigen Minuten kommen, bis die angeforderte Skalierung gestartet wird.
Ein Skalierungsvorgang mit einer bestimmten Größe und einem bestimmten Betriebssystem wirkt sich nicht auf Skalierungsvorgänge mit einer anderen Kombination von Größe und Betriebssystem aus. Beispiel: Wenn Sie einen App Service-Plan vom Typ „Windows I2v2“ skalieren, wird der Skalierungsvorgang für einen App Service-Plan vom Typ „Windows I3v2“ sofort gestartet. Die Skalierung dauert normalerweise weniger als 15 Minuten, kann jedoch bis zu 45 Minuten dauern.
Bei einer mehrinstanzenfähigen App Service-Instanz erfolgt die Skalierung unmittelbar, da sofort ein Poll von freigegebenen Ressourcen für die Unterstützung verfügbar ist. Da die App Service-Umgebung ein Dienst mit nur einem Mandanten ist, gibt es keinen freigegebenen Puffer, und die Ressourcen werden nach Bedarf zugeordnet.
App-Zugriff
In einer App Service-Umgebung mit einer internen virtuellen IP-Adresse (VIP) lautet das Domänensuffix für die App-Erstellung .<asename>.appserviceenvironment.net. Wenn Ihre App Service-Umgebung my-ase heißt und Sie eine App mit dem Namen contoso hosten, erreichen Sie diese unter den folgenden URLs:
contoso.my-ase.appserviceenvironment.net
contoso.scm.my-ase.appserviceenvironment.net
Auf Apps, die in einer App Service-Umgebung gehostet werden, die eine interne VIP verwendet, können Sie nur zugreifen, wenn Sie sich im selben virtuellen Netzwerk befinden oder mit diesem verbunden sind. Analog dazu ist eine Veröffentlichung nur möglich, wenn Sie sich im selben virtuellen Netzwerk befinden oder mit diesem verbunden sind.
In einer App Service-Umgebung mit einer externen VIP lautet das Domänensuffix für die App-Erstellung .<asename>.p.azurewebsites.net. Wenn Ihre App Service-Umgebung my-ase heißt und Sie eine App mit dem Namen contoso hosten, erreichen Sie diese unter den folgenden URLs:
contoso.my-ase.p.azurewebsites.net
contoso.scm.my-ase.p.azurewebsites.net
Die scm
-URL wird verwendet, um auf die Kudu-Konsole zuzugreifen oder Ihre App per Web Deploy zu veröffentlichen. Weitere Informationen hierzu finden Sie unter Kudu-Konsole für Azure App Service. Die Kudu-Konsole bietet eine Webbenutzeroberfläche zum Debuggen, Hochladen und Bearbeiten von Dateien.
DNS-Konfiguration
Wenn Ihre App Service-Umgebung mit einer externen VIP erstellt wird, werden Ihre Apps automatisch in ein öffentliches DNS eingebunden. Wenn Ihre App Service-Umgebung mit einer internen VIP erstellt wird, müssen Sie das DNS dafür möglicherweise konfigurieren.
Wenn Sie ausgewählt haben, dass Azure DNS Private Zones automatisch konfiguriert wird, ist das DNS in Ihrem virtuellen Netzwerk der App Service-Umgebung konfiguriert. Wenn Sie eine manuelle Konfiguration für das DNS ausgewählt haben, müssen Sie Ihren eigenen DNS-Server verwenden oder Azure DNS Private Zones konfigurieren.
Die Adresse für den eingehenden Datenverkehr finden Sie im Portal der App Service-Umgebung unter IP-Adressen.
Wenn Sie einen eigenen DNS-Server verwenden möchten, fügen Sie die folgenden Einträge hinzu:
- Erstellen Sie eine Zone für
<App Service Environment-name>.appserviceenvironment.net
. - Erstellen Sie in dieser Zone einen A-Eintrag, der * auf die IP-Adresse für den eingehenden Datenverkehr verweist, die von Ihrer App Service-Umgebung verwendet wird.
- Erstellen Sie in dieser Zone einen A-Eintrag, der @ auf die IP-Adresse für den eingehenden Datenverkehr verweist, die von Ihrer App Service-Umgebung verwendet wird.
- Erstellen Sie eine Zone in
<App Service Environment-name>.appserviceenvironment.net
mit dem Namenscm
. - Erstellen Sie in der Zone
scm
einen A-Eintrag, der * auf die Adresse für den eingehenden Datenverkehr verweist, die von Ihrer App Service-Umgebung verwendet wird.
Führen Sie die folgenden Schritte aus, um das DNS in Azure DNS Private Zones zu konfigurieren:
- Erstellen Sie eine private Azure DNS-Zone mit dem Namen
<App Service Environment-name>.appserviceenvironment.net
. - Erstellen Sie einen A-Eintrag in dieser Zone, der * auf die IP-Adresse für den eingehenden Datenverkehr verweist.
- Erstellen Sie einen A-Eintrag in dieser Zone, der @ auf die IP-Adresse für den eingehenden Datenverkehr verweist.
- Erstellen Sie einen A-Eintrag in dieser Zone, der *.scm auf die IP-Adresse für den eingehenden Datenverkehr verweist.
Die DNS-Einstellungen für das Standarddomänensuffix Ihrer App Service-Umgebung schränken Ihre Apps nicht dahingehend ein, dass nur über diese Namen auf sie zugegriffen werden kann. Sie können in einer App Service-Umgebung einen benutzerdefinierten Domänennamen ohne Überprüfung für Ihre Apps festlegen. Wenn Sie dann eine Zone mit dem Namen contoso.net
erstellen möchten, können Sie dies tun und auf die IP-Adresse für den eingehenden Datenverkehr verweisen. Der benutzerdefinierte Domänenname funktioniert für App-Anforderungen, und wenn das benutzerdefinierte Domänensuffixzertifikat ein Platzhalter-SAN für „scm“ enthält, funktioniert der benutzerdefinierte Domänenname auch für den Ort scm
. In diesem Fall können Sie einen Eintrag vom Typ *.scm
erstellen und auf die eingehende IP-Adresse verweisen.
Veröffentlichung
Führen Sie die Veröffentlichung mit einer der folgenden Methoden aus:
- Webbereitstellung
- Continuous Integration (CI)
- Drag & Drop in der Kudu-Konsole
- Integrierte Entwicklungsumgebung (IDE), z. B. Visual Studio, Eclipse oder IntelliJ IDEA
Bei einer App Service-Umgebung mit einer internen VIP sind die Veröffentlichungsendpunkte nur über die Adresse für den eingehenden Datenverkehr verfügbar. Ohne Netzwerkzugriff auf die Adresse für den eingehenden Datenverkehr können Sie in der betreffenden App Service-Umgebung keine Apps veröffentlichen. Darüber hinaus müssen Ihre IDEs über Netzwerkzugriff auf die Adresse für den eingehenden Datenverkehr in der App Service-Umgebung verfügen, um direkt darin veröffentlichen zu können.
Ohne zusätzliche Änderungen funktionieren internetbasierte CI-Systeme wie GitHub und Azure DevOps nicht in einer App Service-Umgebung mit interner VIP. Auf den Veröffentlichungsendpunkt kann nicht über das Internet zugegriffen werden. Sie können die Veröffentlichung in einer App Service-Umgebung mit interner VIP über Azure DevOps aktivieren, indem Sie im virtuellen Netzwerk einen selbstgehosteten Release-Agent installieren.
Storage
Sie verfügen über einen Speicher von 1 TB für alle Apps in Ihrer App Service-Umgebung. Ein App Service-Plan in einer SKU mit dem Tarif „Isoliert“ verfügt über maximal 250 GB. In einer App Service-Umgebung werden 250 GB Speicherplatz pro App Service-Plan bis maximal 1 TB hinzugefügt. Sie können auch mehr als nur vier App Service-Pläne haben, doch der maximale Speicherplatz von 1 TB wird nicht erhöht.
Überwachung
Die Plattforminfrastruktur in App Service-Umgebung v3 wird von Microsoft überwacht und verwaltet und bei Bedarf skaliert. Als Kund*in sollten Sie ausschließlich die App Service-Pläne und die einzelnen ausgeführten Apps überwachen und entsprechende Maßnahmen ergreifen. Einige Metriken werden für Ihre App Service-Umgebung angezeigt. Diese werden jedoch nur für ältere Versionen verwendet und lassen keine Werte für diese Version aus. Wenn Sie v1 oder v2 der App Service-Umgebung verwenden, finden Sie in diesem Abschnitt Anleitungen zur Überwachung und Skalierung.
Protokollierung
Durch eine Integration in Azure Monitor können Sie Protokolle an Azure Storage, Azure Event Hubs oder Azure Monitor-Protokolle senden. In der folgenden Tabelle werden die Situationen und Meldungen aufgelistet, die Sie protokollieren können:
Situation | `Message` |
---|---|
Im Subnetz der App Service-Umgebung steht fast kein Speicherplatz mehr zur Verfügung. | Die angegebene App Service-Umgebung befindet sich in einem Subnetz, in dem fast kein Speicherplatz mehr zur Verfügung steht. Es sind {0} verbleibende Adressen vorhanden. Sobald diese Adressen aufgebraucht sind, kann die App Service-Umgebung nicht mehr skaliert werden. |
Die App Service-Umgebung nähert sich dem Gesamtgrenzwert für Instanzen. | Die angegebene App Service-Umgebung nähert sich dem Gesamtgrenzwert für Instanzen, der für die App Service-Umgebung gilt. Derzeit sind {0} App Service-Planinstanzen bei einer maximalen Anzahl von 200 Instanzen vorhanden. |
Die App Service-Umgebung wurde angehalten. | Die angegebene App Service-Umgebung wurde angehalten. Der Grund für das Anhalten der App Service-Umgebung kann ein Kontoausfall oder eine ungültige Konfiguration des virtuellen Netzwerks sein. Beheben Sie die Ursache, und setzen Sie die Ausführung der App Service-Umgebung fort, um den Datenverkehr weiter bereitzustellen. |
Ein Upgrade der App Service-Umgebung wurde gestartet. | Ein Plattformupgrade für die angegebene App Service-Umgebung wurde gestartet. Es ist mit Verzögerungen bei den Skalierungsvorgängen zu rechnen. |
Das Upgrade der App Service-Umgebung ist abgeschlossen. | Das Plattformupgrade für die angegebene App Service-Umgebung ist nun abgeschlossen. |
Die Erstellung eines App Service-Plans wurde gestartet. | Die App Service Plan ({0}) Erstellung wurde gestartet. Gewünschter Status: {1} I{2}V2 Workers. |
Die Skalierungsvorgänge sind abgeschlossen. | Die App Service Plan ({0}) Erstellung wurde beendet. Aktueller Status: {1} I{2}V2 Workers. |
Fehler beim Ausführen der Skalierungsvorgänge. | Es ist ein Fehler bei der App Service Plan ({0}) Erstellung aufgetreten. Dies kann daran liegen, dass die App Service-Umgebung mit der maximalen Anzahl von Instanzen ausgeführt wird oder keine Subnetzadressen mehr vorhanden sind. |
Die Skalierungsvorgänge wurden gestartet. | Für einen App Service-Plan ({0}) wurde die Skalierung gestartet. Aktueller Status: {1} I(2)V2. Gewünschter Status: {3} I{4}V2 Workers. |
Die Skalierungsvorgänge sind abgeschlossen. | Die Skalierung eines App Service-Plans ({0}) wurde abgeschlossen. Aktueller Status: {1} I{2}V2 Workers. |
Die Skalierungsvorgänge wurden unterbrochen. | Ein App Service Plan ({0}) wurde während des Skalierens unterbrochen. Vorheriger gewünschter Status: {1} I{2}V2 Workers. Neuer gewünschter Status: {3} I{4}V2 Workers. |
Fehler beim Ausführen der Skalierungsvorgänge. | Bei der Skalierung eines App Service-Plans ({0}) ist ein Fehler aufgetreten. Aktueller Status: {1} I{2}V2 Workers. |
Führen Sie zum Aktivieren der Protokollierung die folgenden Schritte aus:
- Navigieren Sie im Portal zu Diagnoseeinstellungen.
- Klicken Sie auf Diagnoseeinstellung hinzufügen.
- Geben Sie einen Namen für die Protokollintegration an.
- Wählen Sie die gewünschten Protokollziele aus, und konfigurieren Sie sie.
- Wählen Sie AppServiceEnvironmentPlatformLogs aus.
Wenn Sie bei der Integration in Azure Monitor-Protokolle die Protokolle anzeigen möchten, klicken Sie im Portal der App Service-Umgebung auf Protokolle, und erstellen Sie eine Abfrage für AppServiceEnvironmentPlatformLogs. Protokolle werden nur ausgegeben, wenn Ihr App Service-Umgebung über ein Ereignis verfügt, das die Protokolle auslöst. Ohne ein solches Ereignis werden keine Protokolle angezeigt. Eine schnelle Methode zum Anzeigen von Beispielprotokollen ist das Ausführen eines Skalierungsvorgangs für einen App Service-Plan. Anschließend können Sie eine Abfrage an AppServiceEnvironmentPlatformLogs- ausführen, um diese Protokolle anzuzeigen.
Erstellen einer Warnung
Eine Anleitung zum Erstellen einer Warnung für Ihre Protokolle finden Sie unter Erstellen, Anzeigen und Verwalten von Protokollwarnungen mithilfe von Azure Monitor. Kurz gesagt:
- Öffnen Sie im Portal Ihrer App Service-Umgebung die Seite Warnungen.
- Wählen Sie Neue Warnungsregel aus.
- Wählen Sie unter Ressource den Arbeitsbereich Ihrer Azure Monitor-Protokolle aus.
- Legen Sie als Bedingung für die benutzerdefinierte Protokollsuche fest, dass eine Abfrage verwendet werden soll. Dies kann z. B. folgendermaßen aussehen: AppServiceEnvironmentPlatformLogs | wobei „ResultDescription“ die Bedingung Skalierung wurde gestartet enthält. Legen Sie den Schwellenwert entsprechend fest.
- Optional können Sie eine Aktionsgruppe hinzufügen oder erstellen. In der Aktionsgruppe definieren Sie die Reaktion auf die Warnung, z. B. das Senden einer E-Mail oder SMS.
- Benennen Sie Ihrer Warnung, und speichern Sie sie.
Interne Verschlüsselung
Die internen Komponenten oder die Kommunikation innerhalb des Systems der App Service-Umgebung werden nicht angezeigt. Um einen höheren Durchsatz zu ermöglichen, ist die Verschlüsselung zwischen den internen Komponenten standardmäßig deaktiviert. Das System ist sicher, da der Datenverkehr vor Überwachung und Zugriff geschützt ist. Wenn Sie eine Konformitätsanforderung für die vollständige Verschlüsselung des Datenpfads erfüllen müssen, können Sie diese aktivieren. Wählen Sie, wie im folgenden Screenshot gezeigt, die Option Konfiguration aus.
Mit dieser Option werden der interne Netzwerkdatenverkehr sowie die Auslagerungsdatei und die Workerdatenträger verschlüsselt. Beachten Sie, dass sich dies auf die Systemleistung auswirken kann. Ihre App Service-Umgebung wird bis zur vollständigen Weitergabe der Änderung nicht stabil ausgeführt. Die vollständige Weitergabe der Änderung kann abhängig von der Anzahl Ihrer Instanzen einige Stunden in Anspruch nehmen.
Aktivieren Sie diese Option nicht während der Nutzung der App Service-Umgebung. Sollte dies dennoch erforderlich sein, leiten Sie den Datenverkehr bis zur Beendigung des Vorgangs an eine Sicherung um.
Upgradeeinstellung
Wenn Sie über mehrere App Service-Umgebungen verfügen, können Sie Upgrades in einer bestimmten Reihenfolge ausführen. Dieses Verhalten kann im Portal Ihrer App Service-Umgebung aktiviert werden. Legen Sie hierfür unter Konfiguration die Option Upgradepräferenz fest. Mögliche Werte sind:
- Keine: Azure führt das Upgrade in keinem bestimmten Batch durch. Dies ist der Standardwert.
- Früh: Das Upgrade erfolgt in der ersten Hälfte der App Service-Upgrades.
- Spät: Das Upgrade erfolgt in der zweiten Hälfte der App Service-Upgrades.
- Manuell: Sie haben 15 Tage Zeit, das Upgrade manuell bereitzustellen.
Wählen Sie den gewünschten Wert aus, und klicken Sie dann auf Speichern.
Diese Funktion ist sinnvoll, wenn Sie über mehrere App Service-Umgebungen verfügen und daher von einer Sequenzierung der Upgrades profitieren. So können Sie beispielsweise für Ihre App Service-Entwicklungs- und Testumgebungen ein frühes Upgrade und für Ihre Produktionsumgebungen ein spätes Upgrade festlegen.
Dient zum Löschen einer App Service-Umgebung.
Zum Löschen
- Klicken Sie oben im Bereich App Service-Umgebung auf Löschen.
- Geben Sie zur Bestätigung den Namen Ihrer App Service-Umgebung ein, die gelöscht werden soll. Beim Löschen einer App Service-Umgebung wird auch ihr gesamter Inhalt gelöscht.
- Klicken Sie auf OK.