Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migrieren Sie ein. NETAnwendung von Microsoft Azure App Service auf AWS Elastic Beanstalk
Erstellt von Raghavender Madamshitti () AWS
Übersicht
Dieses Muster beschreibt, wie eine migriert wird. NETWebanwendung, die auf Microsoft Azure App Service für AWS Elastic Beanstalk gehostet wird. Es gibt zwei Möglichkeiten, Anwendungen zu Elastic Beanstalk zu migrieren:
Verwenden Sie AWS Toolkit for Visual Studio — Dieses Plug-in für Microsoft Visual Studio IDE bietet die einfachste und unkomplizierteste Möglichkeit, benutzerdefinierte Anwendungen bereitzustellen. NETAnwendungen für. AWS Sie können diesen Ansatz für die Bereitstellung verwenden. NETDirekter Code für unterstützende Ressourcen wie Amazon Relational Database Service (AmazonRDS) für SQL Server-Datenbanken und deren Erstellung direkt aus Visual Studio. AWS
Upload und Bereitstellung auf Elastic Beanstalk — Jeder Azure App Service umfasst einen Hintergrunddienst namens Kudu, der für die Erfassung von Speicherabbildern und Bereitstellungsprotokollen, die Anzeige von Konfigurationsparametern und den Zugriff auf Bereitstellungspakete nützlich ist. Sie können die Kudu-Konsole verwenden, um auf Azure App Service-Inhalte zuzugreifen, das Bereitstellungspaket zu extrahieren und das Paket dann mithilfe der Upload- und Bereitstellungsoption in der Elastic Beanstalk-Konsole auf Elastic Beanstalk hochzuladen.
Dieses Muster beschreibt den zweiten Ansatz (Hochladen Ihrer Anwendung auf Elastic Beanstalk über Kudu). Das Muster verwendet auch die folgenden AWS Dienste: AWS Elastic Beanstalk, Amazon Virtual Private Cloud (AmazonVPC), Amazon CloudWatch, Amazon Elastic Compute Cloud (AmazonEC2) Auto Scaling, Amazon Simple Storage Service (Amazon S3) und Amazon Route 53
Das. NETDie Webanwendung wird auf AWS Elastic Beanstalk bereitgestellt, das in einer Amazon EC2 Auto Scaling Scaling-Gruppe ausgeführt wird. Sie können eine Skalierungsrichtlinie einrichten, die auf CloudWatch Amazon-Metriken wie CPU der Auslastung basiert. Für eine Datenbank können Sie je nach Anwendung und Geschäftsanforderungen Amazon RDS in einer Multi-AZ-Umgebung oder Amazon DynamoDB verwenden.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Konto AWS
EIN. NETWebanwendung, die in Azure App Service ausgeführt wird
Erlaubnis zur Verwendung der Azure App Service Kudu-Konsole
Produktversionen
. NETCore (x64) 1.0.1, 2.0.0 oder höher oder. NET Framework 4.x, 3.5 (siehe. NETim Verlauf der Windows Server-Plattform)
Internetinformationsdienste (IIS) Version 8.0 oder höher, ausgeführt unter Windows Server 2012 oder höher
. NET2.0 oder 4.0 Runtime.
Architektur
Quelltechnologie-Stack
Anwendung entwickelt mit. NET Framework 3.5 oder höher, oder. NET Core 1.0.1, 2.0.0 oder höher und gehostet auf Azure App Service (Web-App oder API App)
Zieltechnologie-Stack
AWSElastic Beanstalk läuft in einer Amazon EC2 Auto Scaling Scaling-Gruppe
Migrationsarchitektur

Arbeitsablauf bei der Bereitstellung

Tools
Tools
. NETKern oder. NET Framework
C#
IIS
Kudu-Konsole
AWSDienste und Funktionen
AWSElastic Beanstalk — Elastic Beanstalk ist ein easy-to-use Service für die Bereitstellung und Skalierung. NETWebanwendungen. Elastic Beanstalk verwaltet automatisch die Kapazitätsbereitstellung, den Lastenausgleich und die auto Skalierung.
Amazon EC2 Auto Scaling Scaling-Gruppe — Elastic Beanstalk umfasst eine Auto Scaling Scaling-Gruppe, die die EC2 Amazon-Instances in der Umgebung verwaltet. In einer Umgebung mit nur einer Instance stellt die Auto Scaling-Gruppe sicher, dass immer eine Instance ausgeführt wird. In einer Umgebung mit Lastenausgleich können Sie die Gruppe mit einer Reihe von Instances konfigurieren, die ausgeführt werden sollen, und Amazon EC2 Auto Scaling fügt Instances je nach Bedarf hinzu oder entfernt sie, je nach Auslastung.
Elastic Load Balancing — Wenn Sie Load Balancing in AWS Elastic Beanstalk aktivieren, wird ein Load Balancer erstellt, der den Traffic auf die EC2 Instances in der Umgebung verteilt.
Amazon CloudWatch — Elastic Beanstalk verwendet Amazon automatisch CloudWatch , um Informationen über Ihre Anwendungs- und Umgebungsressourcen bereitzustellen. Amazon CloudWatch unterstützt Standardmetriken, benutzerdefinierte Metriken und Alarme.
Amazon Route 53 — Amazon Route 53 ist ein hochverfügbarer und skalierbarer Cloud-Webservice für das Domain Name System (DNS). Sie können Route 53-Aliaseinträge verwenden, um benutzerdefinierte Domainnamen AWS Elastic Beanstalk-Umgebungen zuzuordnen.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie eine virtuelle private Cloud ein (VPC). | Erstellen Sie in Ihrem AWS Konto eine VPC mit den erforderlichen Informationen. | Systemadministrator |
Erstellen Sie Subnetze. | Erstellen Sie zwei oder mehr Subnetze in Ihrem. VPC | Systemadministrator |
Erstellen Sie eine Routentabelle. | Erstellen Sie eine Routentabelle, die Ihren Anforderungen entspricht. | Systemadministrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Greifen Sie auf die Azure App Service Kudu-Konsole zu. | Greifen Sie über das Azure-Portal auf Kudu zu, indem Sie zum App Service-Dashboard navigieren und dann Advanced Tools, Go auswählen. Oder Sie können den Azure App Service URL wie folgt ändern:. | App-Entwickler, Systemadministrator |
Laden Sie das Bereitstellungspaket von Kudu herunter. | Navigieren Sie zu Windows, PowerShell indem Sie die DebugConsoleOption auswählen. Dadurch wird die Kudo-Konsole geöffnet. Gehe zum | App-Entwickler, Systemadministrator |
Erstellen Sie ein Paket für Elastic Beanstalk. | Entpacken Sie das Bereitstellungspaket, das Sie von Azure App Service heruntergeladen haben. Erstellen Sie eine JSON Datei mit dem Namen | App-Entwickler, Systemadministrator |
Erstellen Sie eine neue Elastic Beanstalk Beanstalk-Anwendung. | In der Elastic-Beanstalk-Konsole öffnen. Wählen Sie eine bestehende Anwendung oder erstellen Sie eine neue Anwendung. | App-Entwickler, Systemadministrator |
Erstellen Sie die Umgebung. | Wählen Sie im Aktionsmenü der Elastic Beanstalk Beanstalk-Konsole die Option Umgebung erstellen aus. Wählen Sie die Webserver-Umgebung und. NET/IISPlattform. Wählen Sie für Anwendungscode Upload aus. Laden Sie die Zip-Datei hoch, die Sie für Elastic Beanstalk vorbereitet haben, und wählen Sie dann Create Environment. | App-Entwickler, Systemadministrator |
Konfigurieren Sie Amazon CloudWatch. | Standardmäßig ist die grundlegende CloudWatch Überwachung aktiviert. Wenn Sie die Konfiguration ändern möchten, wählen Sie im Elastic Beanstalk-Assistenten die veröffentlichte Anwendung und dann Monitoring aus. | Systemadministrator |
Stellen Sie sicher, dass sich das Bereitstellungspaket in Amazon S3 befindet. | Wenn die Anwendungsumgebung erstellt wurde, finden Sie das Bereitstellungspaket im S3-Bucket. | App-Entwickler, Systemadministrator |
Testen Sie die Anwendung. | Wenn die Umgebung erstellt wurde, verwenden Sie die in der Elastic Beanstalk Beanstalk-Konsole URL bereitgestellte, um die Anwendung zu testen. | Systemadministrator |
Zugehörige Ressourcen
AWSElastic Beanstack-Konzepte (Elastic Beanstalk Beanstalk-Dokumentation)
Erste Schritte mit. NETauf Elastic Beanstalk (Elastic Beanstalk Beanstalk-Dokumentation)
Kudu-Konsole ()
GitHub Verwendung von „Kudu“ zur Verwaltung von Azure Web Apps
(GS Lab-Artikel) BenutzerdefiniertASP. NET Core Elastic Beanstalk Deployments (AWSToolkit for Visual Studio — Benutzerhandbuch)
AWSVon Elastic Beanstalk unterstützte Plattformen
(Elastic Beanstalk Beanstalk-Dokumentation) Stellen Sie eine Webanwendung bereit auf (C# AWS Corner-Artikel
) Skalierung der Größe Ihrer Auto Scaling Scaling-Gruppe (EC2Amazon-Dokumentation)
Hochverfügbarkeit (Multi-AZ) für Amazon RDS (RDSAmazon-Dokumentation)
Zusätzliche Informationen
Hinweise
Wenn Sie eine lokale Datenbank oder eine Azure SQL Server-Datenbank zu Amazon migrierenRDS, müssen Sie auch die Datenbankverbindungsdetails aktualisieren.
Zu Testzwecken ist eine Beispiel-Demoanwendung beigefügt.