Blog

Hinzufügen einer Azure-Webanwendung zu einer Anwendungsdienstumgebung, die in einem anderen Abonnement läuft

Geert van der Cruijsen

Aktualisiert Oktober 21, 2025
3 Minuten

Web-Apps und Api-Apps in Azure sind großartig, aber wenn Sie sie verwenden, müssen Sie zustimmen, dass sie direkt mit dem Internet verbunden sind, ohne die Möglichkeit, eine WAF oder eine andere Art von zusätzlichem Schutz hinzuzufügen (neben der standardmäßigen Verteidigungslinie von Azure). Wenn Sie so etwas hinzufügen möchten, müssen Sie eine interne Application Service Environment hinzufügen, um Ihre Apps zu hosten, damit Sie den Netzwerkzugriff auf diese Apps kontrollieren können.

App-Dienst

Das Hinzufügen einer Anwendungs-Service-Umgebung ist jedoch recht kostspielig, wenn Sie nur einige wenige Anwendungen darin ausführen. (Die Mindestanforderungen für eine Anwendungsdienstumgebung sind 2 P2 und 2 P1, um die Anwendungsdienstumgebung (ASE) auszuführen.

In unserem Fall war es in Ordnung, einen ASE hinzuzufügen, außer dass wir ein Szenario haben, in dem wir eine ganze Reihe von Abonnements haben und die meisten davon recht klein sind und nur ein paar Anwendungen enthalten. Das Hinzufügen eines ASE für jedes Abonnement wäre zu kostspielig geworden. Deshalb hatten wir die Idee, ein zentrales Abonnement mit dem Namen "Shared Services" einzurichten, in dem wir Dinge hosten, die mehrere Abteilungen gemeinsam nutzen können, wie z.B. die WAF-Funktionalität, das VNet, die Express Route und auch den ASE.

Nachdem wir das Design erstellt hatten, stießen wir bei der Implementierung auf einige Probleme, da wir bei der Erstellung eines App Service Plans oder einer Web App in Azure keine ASE in einem anderen Abonnement auswählen konnten, das Teil desselben Unternehmensvertrags war. Nach einer Überprüfung stellte sich heraus, dass dies eine Einschränkung des Azure-Portals ist und wir ARM-Vorlagen verwenden mussten, um unsere Web-App zu erstellen. Da wir ohnehin vorhatten, ARM-Vorlagen zu verwenden, war das nicht weiter schlimm, also haben wir es ausprobiert.

Zunächst hatten wir Probleme, den ASE als unsere Hosting-Umgebung hinzuzufügen. Wir haben versucht, die "HostingEnvironment" so hinzuzufügen, dass sie auf den Namen des ASE in unserem anderen Abonnement verweist, aber das hat nicht funktioniert, und wir erhielten immer wieder Fehler wie "HostingEnvironment mit dem Namen HostingEnvironmentName kann nicht gefunden werden. (Code: NotFound)"

ASE Fehlermeldung

 

Daraufhin versuchten wir, die Eigenschaft "HostingEnvironment" zu entfernen und nur die "HostingEnvironmentID" so einzustellen, dass sie direkt mit der vollständigen ResourceID unseres ASE verknüpft ist. Das machte uns Hoffnung, denn wir konnten die Webanwendung bereitstellen, allerdings lief sie auf den P1, die Teil des Workerpools unseres internen ASE waren, aber sie hatte immer noch einen öffentlichen DNS-Namen und war vom Internet aus erreichbar. Ich vermute, dass wir sie so nicht erstellen sollten. Also bat ich das Microsoft-Produktteam um Hilfe und sie wiesen mich auf die richtige Korrektur hin.

Es läuft alles darauf hinaus, dass wir eine neuere API-Version der Web App und App Service Plan ARM-Vorlagen-API verwenden als die, die in Visual Studio bei der Erstellung von ARM-Vorlagen generiert wird. Wir mussten "apiVersion": "2015-08-01"

hier können wir das "hostingEnvironmentProfile" auf die vollständige ResourceID unseres ASE sowohl für den App Service Plan als auch für die Web App setzen. Außerdem müssen wir die sku auf den richtigen Worker-Pool innerhalb unseres ASE setzen.

Wenn wir nun versuchen, unsere ARM-Vorlage bereitzustellen, werden ein App Service Plan und eine Web App in einem anderen Abonnement als dem, in dem unser ASE läuft, erstellt. Schön!

Ich hoffe, dieser Beitrag hilft Ihnen, wenn Sie auf die gleichen Probleme stoßen wie ich, wenn Sie versuchen, Webanwendungen in einem ASE mit ARM-Vorlagen einzusetzen.

Viel Spaß beim Kodieren / Einsetzen

Geert van der Cruijsen

Der Beitrag Hinzufügen einer Azure-Web-App zu einer Application Service Environment, die in einem anderen Abonnement läuft erschien zuerst auf Mobile First Cloud First.

Verfasst von

Geert van der Cruijsen

Contact

Let’s discuss how we can support your journey.