Migrieren einer ASP.NET-Webanwendung auf AWS Elastic Beanstalk
mit dem interaktiven Migrationsassistenten für Windows-Webanwendungen (WWAMA)
Übersicht
Bei dieser Übung geht es darum, mithilfe des Migrationsassistenten für Windows-Webanwendungen (WWAMA) eine ASP.NET-Beispielanwendung auf eine vollständig verwaltete AWS Elastic Beanstalk-Umgebung zu migrieren. Weitere Informationen über den Migrationsassistenten für Windows-Webanwendungen finden Sie hier.
Erwartetes Ergebnis
Sie migrieren eine ASP.NET-Beispielanwendung auf eine vollständig verwaltete AWS Elastic Beanstalk-Umgebung.
Voraussetzungen
Sie benötigen ein AWS-Konto und IAM-Berechtigungen, um eine EC2-Instance, ein Schlüsselpaar, eine Sicherheitsgruppe, einen IAM-Benutzer und eine Elastic Beanstalk-Umgebung zu erstellen. In diesem Tutorial wird eine AWS CloudFormation-Vorlage verwendet, die automatisch die Beispiel-Website auf einer EC2-Instance bereitstellt, die als Quell-Webanwendung für die Migration dient.
Über dieses Tutorial | |
---|---|
Zeit | 15 Minuten |
Kosten | Kostenloses Kontingent verfügbar |
Anwendungsfall | Windows Anwendungsmigration |
Produkte | AWS Elastic Beanstalk |
Zielgruppe | Entwickler |
Level | Einsteiger |
Letzte Aktualisierung | 3/30/2020 |
1. Bei AWS registrieren
Die in diesem Tutorial verwendete CloudFormation-Vorlage startet eine t2.micro EC2-Instance. Der Instance-Typ t2.micro ist Teil des kostenlosen Kontingents. Wird ein anderer Instance-Typ gewählt, würden EC2-Kosten anfallen. Sie können die EC2-Kosten auf der Seite mit EC2-Preisen berechnen.
Sie haben bereits ein Konto? Anmelden
2. Einrichten und Konfigurieren
Verwenden Sie CloudFormation, um die EC2-Instance zu starten, die die Beispiel-Website hosten wird. Richten Sie dann die erforderlichen IAM-Berechtigungen ein.
a. Starten Sie eine EC2-Instance über CloudFormation
Verwenden Sie CloudFormation, um eine EC2-Instance in US-East-1 zu starten.
Starten Sie den CloudFormation-Stack >>
Klicken Sie dann auf Weiter.
Wählen Sie ein vorhandenes Schlüsselpaar aus oder erstellen Sie ein Schlüsselpaar, wenn Sie keines haben. Klicken Sie dann auf Weiter.

Klicken Sie im Bildschirm Konfigurieren von Stack-Optionen auf Weiter. Klicken Sie beim Überprüfen unten im Bildschirm auf Stack erstellen.

Sobald der Stack erstellt wurde, wird der Status auf 'CREATE_COMPLETE' geändert.

b. Erstellen Sie den IAM-Benutzer
Melden Sie sich bei der IAM-Konsole an >>
Klicken Sie im linken Navigationsmenü auf Benutzer, dann auf Benutzer hinzufügen.
Geben Sie den Benutzernamen MigrationUser ein, aktivieren Sie das Kontrollkästchen für den Programmatischen Zugriff und klicken Sie dann auf Weiter:Berechtigungen.

Klicken Sie auf Vorhandene Richtlinien direkt einfügen, und geben Sie Beanstalk in die Suchleiste ein, um die Richtlinien zu filtern.
Aktivieren Sie das Kontrollkästchen für die folgenden AWS-verwalteten Richtlinien, und klicken Sie dann auf Weiter:Tags.
- IAMReadOnlyAccess
- AWSElasticBeanstalkFullAccess

Klicken Sie auf Weiter:Prüfen und dann auf Benutzer erstellen.

Nachdem der Benutzer erstellt wurde, klicken Sie auf CSV herunterladen, wenn der Bildschirm angezeigt wird.

3. Anmelden bei der EC2-Konsole und Einrichten zur Ausführung des WWAMA-Tools
a. Wechseln Sie zur EC2-Konsole und melden Sie sich an
Melden Sie sich hier bei EC2 an >>
Nachdem Sie sich an der EC2-Konsole angemeldet haben, wählen Sie die WWAMA-Instance aus und klicken Sie auf Verbinden.

Klicken Sie auf Remote-Desktop-Datei herunterladen und speichern Sie die RDP-Datei. Klicken Sie dann auf Passwort erhalten und laden Sie Ihre Schlüsselpaar-Datei hoch, um Ihr Windows Server-Passwort zu erhalten. Sie sehen das Passwort im Klartext – kopieren Sie es, da Sie es im nächsten Schritt benötigen.

Melden Sie sich mit der zuvor gespeicherten RDP-Datei bei der EC2-Instance an und geben Sie Ihr Passwort ein.
b. Öffnen Sie ein PowerShell-Terminal auf dem EC2 Windows Server
Öffnen Sie als Administrator ein PowerShell-Terminal und führen Sie die im Beispiel unten rechts aufgeführten Befehle aus, um die AWS-Anmeldeinformationen zu konfigurieren. Ersetzen Sie ACCESS_KEY und SECRET_ACCESS_KEY durch die Werte in der .CSV-Datei, die Sie zuvor bei der Erstellung des MigrationUser heruntergeladen haben.

PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default
c. Extrahieren Sie die Dateien des Migrationsassistenten
Der Migrationsassistent wurde durch die Vorlage CloudFormation auf dem Laufwerk C:\ vorinstalliert. Die Datei heißt wwama.zip
Klicken Sie mit der rechten Maustaste auf wwama.zip und extrahieren Sie den Assistenten.

d. Prüfen Sie die Beispiel-Website vor der Migration
Öffnen Sie einen Webbrowser auf der EC2 Windows Server-Instance und navigieren Sie zu http://localhost/. Sie sehen jetzt die Beispiel-Website, die der Migrationsassistent migrieren wird.

4. Ausführen des Migrationsassistenten
a. Starten Sie das Skript MigrateIISWebsiteToElasticBeanstalk.ps1
Starten Sie in dem PowerShell-Terminal, das Sie zuvor geöffnet haben, das Migrationsskript.
Der Assistent fordert Sie auf, den Speicherort Ihrer Anmeldedatei anzugeben. Drücken Sie zum Überspringen ENTER.
Geben Sie bei der Aufforderung zur Eingabe des AWS-Profilnamens default ein.
PS C:\> .\MigrateIISWebsiteToElasticBeanstalk.ps1
b. Wählen Sie eine AWS-Region aus
Geben Sie die AWS-Region ein, in der Sie Ihre Elastic Beanstalk-Umgebung ausführen möchten. Zum Beispiel: us-east-1. Eine Liste der AWS-Regionen, in denen Elastic Beanstalk verfügbar ist, finden Sie unter Endpunkte und Kontingente für AWS Elastic Beanstalk in der Allgemeinen AWS Referenz.
Enter the AWS Region (default us-east-1):
c. Wählen Sie die Webanwendung, die Sie migrieren möchten
Der Assistent findet dann alle Websites, die auf Ihrem IIS-Server laufen, und listet sie auf, wie im folgenden Beispiel.

Geben Sie die Ziffer 2 ein, um die Beispielseite zu migrieren.
Enter the number of the website to migrate: (default 1):
d. Aktualisieren Sie Verbindungszeichenfolgen
Der Assistent fordert Sie dann auf, alle oben ausgewählten Verbindungszeichenfolgen zu aktualisieren und ENTER zu drücken, da es in dieser Anwendung keine Verbindungszeichenfolgen gibt.
Es erscheint diese Nachricht:
"Der Migrationsassistent hat keine Verbindungszeichenfolgen gefunden."
Enter the number of the connection string you would like to update, or press ENTER:
e. Richten Sie Elastic Beanstalk-Anwendung ein
Als Nächstes benennen Sie Ihre neue Elastic Beanstalk-Anwendung.
Wenn Sie aufgefordert werden, die Windows Server-Version auszuwählen, geben Sie '6' ein und drücken Sie Enter.
Enter a unique name for your new Elastic Beanstalk application:

Geben Sie den Instance-Typ ein, auf dem Ihre Anwendung ausgeführt werden soll. Typ t2.micro. Eine komplette Liste finden Sie unter Amazon EC2-Instance-Typen.
Enter the instance type (default t3.medium) : t2.micro
Der Migrationsassistent migriert dann Ihre Anwendung auf Elastic Beanstalk.

Wenn die Migration abgeschlossen ist, sehen Sie eine Erfolgsmeldung in der Befehlszeilenschnittstelle.

5. Navigation zu Ihrer Webanwendung, die auf Elastic Beanstalk gehostet wird
Nachdem die Website erfolgreich migriert wurde, vergewissern Sie sich, dass sie eingerichtet ist und ausgeführt wird.
a. Zugriff über Webbrowser
Sie können die URL aus der Ausgabe des PowerShell-Skripts abrufen.
Geben Sie die URL in Ihren Webbrowser ein, und Sie sollten Ihre Webanwendung sehen, die jetzt auf Elastic Beanstalk läuft.


b. Zugriff in der Elastic Beanstalk-Konsole
Sie können die Elastic Beanstalk-Umgebung auch über die AWS-Konsole anzeigen. Stellen Sie sicher, dass Sie die Konsole für die Region sehen, in der Sie Ihre Anwendung bereitgestellt haben. Über das Menü auf der linken Seite können Sie die Möglichkeiten Ihrer Anwendung ausprobieren.

6. Bereinigen Ihrer Ressourcen
In diesem letzten Schritt bereinigen und löschen Sie alle Ihre Ressourcen.
a. Löschen Sie die Elastic Beanstalk-Anwendung
Gehen Sie zur Elastic Beanstalk-Konsole und klicken Sie auf das Menü Aktionen auf der rechten Seite. Klicken Sie dann auf Umgebung beenden.

b. Löschen Sie den CloudFormation-Stack
Gehen Sie zur CloudFormation-Konsole und löschen Sie den CloudFormation-Stack, den WWAMAStack zu Beginn der Übung erstellt hat.
Herzlichen Glückwunsch!
Sie haben mithilfe des Migrationsassistenten für Windows-Webanwendungen (WWAMA) von Windows eine ASP.NET-Anwendung auf eine vollständig verwaltete Elastic Beanstalk-Umgebung migriert.
AWS Elastic Beanstalk ist ein benutzerfreundlicher Service zum Bereitstellen und Skalieren von Webanwendungen und -Services, die mit Java, .NET, PHP, Node.js, Python, Ruby, Go und Docker auf vertrauten Servern wie Apache, Nginx, Passenger und IIS entwickelt werden.
Sie laden Ihren Code einfach hoch und Elastic Beanstalk übernimmt automatisch die Bereitstellung – von der Kapazitätsbereitstellung, Lastverteilung und automatischen Skalierung bis zur Statusüberwachung der Anwendung. Gleichzeitig erhalten Sie mit Elastic Beanstalk vollständige Kontrolle über die Ihrer Anwendung zugrunde liegenden AWS-Ressourcen und können jederzeit auf diese Ressourcen zugreifen.
Besuchen Sie AWS Elastic Beanstalk, um mehr zu erfahren.