QuickStart: Bereitstellen einer.NET-Core-on-Linux-Anwendung auf Elastic Beanstalk - AWS Elastic Beanstalk

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.

QuickStart: Bereitstellen einer.NET-Core-on-Linux-Anwendung auf Elastic Beanstalk

Dieses QuickStart Tutorial führt Sie durch den Prozess der Erstellung einer.NET Core-Anwendung unter Linux und deren Bereitstellung in einer AWS Elastic Beanstalk Umgebung.

Anmerkung

Dieses QuickStart Tutorial dient zu Demonstrationszwecken. Verwenden Sie die in diesem Tutorial erstellte Anwendung nicht für Produktionsdatenverkehr.

Ihr AWS Konto

Wenn Sie noch kein AWS Kunde sind, müssen Sie ein AWS Konto erstellen. Wenn Sie sich registrieren, können Sie auf Elastic Beanstalk und andere AWS Dienste zugreifen, die Sie benötigen.

Wenn Sie bereits ein AWS Konto haben, können Sie weitermachen zu. Voraussetzungen

Melde dich an für ein AWS-Konto

Wenn Sie noch keine haben AWS-Konto, führen Sie die folgenden Schritte aus, um eine zu erstellen.

Um sich für eine anzumelden AWS-Konto
  1. Öffnen Sie https://portal.aws.amazon.com/billing/signup.

  2. Folgen Sie den Online-Anweisungen.

    Bei der Anmeldung müssen Sie auch einen Telefonanruf entgegennehmen und einen Verifizierungscode über die Telefontasten eingeben.

    Wenn Sie sich für eine anmelden AWS-Konto, Root-Benutzer des AWS-Kontoswird eine erstellt. Der Root-Benutzer hat Zugriff auf alle AWS -Services und Ressourcen des Kontos. Aus Sicherheitsgründen sollten Sie einem Benutzer Administratorzugriff zuweisen und nur den Root-Benutzer verwenden, um Aufgaben auszuführen, für die Root-Benutzerzugriff erforderlich ist.

AWS sendet Ihnen nach Abschluss des Anmeldevorgangs eine Bestätigungs-E-Mail. Sie können jederzeit Ihre aktuelle Kontoaktivität anzeigen und Ihr Konto verwalten. Rufen Sie dazu https://aws.amazon.com/ auf und klicken Sie auf Mein Konto.

Erstellen Sie einen Benutzer mit Administratorzugriff

Nachdem Sie sich für einen angemeldet haben AWS-Konto, sichern Sie Ihren Root-Benutzer des AWS-Kontos AWS IAM Identity Center, aktivieren und erstellen Sie einen Administratorbenutzer, sodass Sie den Root-Benutzer nicht für alltägliche Aufgaben verwenden.

Sichern Sie Ihre Root-Benutzer des AWS-Kontos
  1. Melden Sie sich AWS Management Consoleals Kontoinhaber an, indem Sie Root-Benutzer auswählen und Ihre AWS-Konto E-Mail-Adresse eingeben. Geben Sie auf der nächsten Seite Ihr Passwort ein.

    Hilfe bei der Anmeldung mit dem Root-Benutzer finden Sie unter Anmelden als Root-Benutzer im AWS-Anmeldung Benutzerhandbuch zu.

  2. Aktivieren Sie die Multi-Faktor-Authentifizierung (MFA) für den Root-Benutzer.

    Anweisungen finden Sie unter Aktivieren eines virtuellen MFA-Geräts für Ihren AWS-Konto Root-Benutzer (Konsole) im IAM-Benutzerhandbuch.

Erstellen Sie einen Benutzer mit Administratorzugriff
  1. Aktivieren Sie das IAM Identity Center.

    Anweisungen finden Sie unter Aktivieren AWS IAM Identity Center im AWS IAM Identity Center Benutzerhandbuch.

  2. Gewähren Sie einem Benutzer in IAM Identity Center Administratorzugriff.

    Ein Tutorial zur Verwendung von IAM-Identity-Center-Verzeichnis als Identitätsquelle finden Sie unter Benutzerzugriff mit der Standardeinstellung konfigurieren IAM-Identity-Center-Verzeichnis im AWS IAM Identity Center Benutzerhandbuch.

Melden Sie sich als Benutzer mit Administratorzugriff an
Weisen Sie weiteren Benutzern Zugriff zu
  1. Erstellen Sie in IAM Identity Center einen Berechtigungssatz, der der bewährten Methode zur Anwendung von Berechtigungen mit den geringsten Rechten folgt.

    Anweisungen finden Sie im Benutzerhandbuch unter Einen Berechtigungssatz erstellen.AWS IAM Identity Center

  2. Weisen Sie Benutzer einer Gruppe zu und weisen Sie der Gruppe dann Single Sign-On-Zugriff zu.

    Anweisungen finden Sie im AWS IAM Identity Center Benutzerhandbuch unter Gruppen hinzufügen.

Voraussetzungen

Um die Verfahren in diesem Leitfaden zu befolgen, benötigen Sie ein Befehlszeilen-Terminal oder eine Shell für die Ausführung der Befehle. Befehle werden ggf. in Auflistungen mit einem vorangestellten Eingabeaufforderungssymbol ($) und dem Namen des aktuellen Verzeichnisses angezeigt.

~/eb-project$ this is a command this is output

In Linux und macOS können Sie Ihren bevorzugten Shell- und Paket-Manager verwenden. Unter Windows können Sie das Windows-Subsystem für Linux installieren, um eine Windows-integrierte Version von Ubuntu und Bash zu erhalten.

EB-CLI

Dieses Tutorial verwendet die Befehlszeilenschnittstelle Elastic Beanstalk Command Line Interface (EB CLI). Detaillierte Anweisungen zum Installieren und Konfigurieren der EB CLI finden Sie unter Installieren der EB CLI und Konfigurieren der EB CLI.

.NET Core auf Linux

Wenn Sie das .NET SDK nicht auf Ihrem lokalen Computer installiert haben, können Sie es installieren, indem Sie auf der Website mit der .NET-Dokumentation auf den Link „.NET herunterladen“ klicken.

Überprüfen Sie Ihre .NET SDK-Installation, indem Sie den folgenden Befehl ausführen.

~$ dotnet --info

Schritt 1: Erstellen Sie eine.NET-Core-Anwendung unter Linux

Erstellen Sie ein Projektverzeichnis.

~$ mkdir eb-dotnetcore ~$ cd eb-dotnetcore

Erstellen Sie als Nächstes eine Hello World-Beispielanwendung, indem Sie die folgenden Befehle ausführen.

~/eb-dotnetcore$ dotnet new web --name HelloElasticBeanstalk ~/eb-dotnetcore$ cd HelloElasticBeanstalk

Schritt 2: Führen Sie Ihre Anwendung lokal aus

Führen Sie den folgenden Befehl aus, um Ihre Anwendung lokal auszuführen.

~/eb-dotnetcore/HelloElasticBeasntalk$ dotnet run

Die Ausgabe sollte in etwa wie der folgende Text aussehen.

Building... info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7294 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5052 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0]
Anmerkung

Der dotnet Befehl wählt zufällig einen Port aus, wenn die Anwendung lokal ausgeführt wird. In diesem Beispiel ist der Port 5052. Wenn Sie die Anwendung in Ihrer Elastic Beanstalk Beanstalk-Umgebung bereitstellen, wird die Anwendung auf Port 5000 ausgeführt.

Geben Sie die URL-Adresse http://localhost:port in Ihren Webbrowser ein. Für dieses spezielle Beispiel lautet der Befehlhttp://localhost:5052. Der Webbrowser sollte „Hello World!“ anzeigen.

Schritt 3: Stellen Sie Ihre.NET Core on Linux-Anwendung mit der EB CLI bereit

Führen Sie die folgenden Befehle aus, um eine Elastic Beanstalk Beanstalk-Umgebung für diese Anwendung zu erstellen.

Um eine Umgebung zu erstellen und Ihre.NET Core-on-Linux-Anwendung bereitzustellen
  1. Kompilieren Sie Ihre Anwendung und veröffentlichen Sie sie in einem Ordner für die Bereitstellung in der Elastic Beanstalk Beanstalk-Umgebung, die Sie gerade erstellen möchten.

    ~$ cd eb-dotnetcore/HelloElasticBeanstalk ~/eb-dotnetcore/HelloElasticBeanstalk$ dotnet publish -o site
  2. Navigieren Sie zu dem Site-Verzeichnis, in dem Sie Ihre App gerade veröffentlicht haben.

    ~/eb-dotnetcore/HelloElasticBeanstalk$ cd site
  3. Initialisieren Sie mit dem Befehl eb init das EB CLI-Repository.

    Beachten Sie die folgenden Details zur Version der Plattformverzweigung, die Sie im Befehl angeben:

    • Ersetzen Sie x.y.z den folgenden Befehl durch die neueste Version des Plattformzweigs .NET 6 auf AL2023.

    • Die neueste Version von Platform Branch finden Sie unter .NET Core on Linux Supported AWS Elastic Beanstalk Platforms im Plattformhandbuch.

    • Ein Beispiel für einen Lösungsstapelnamen, der die Versionsnummer enthält, ist64bit-amazon-linux-2023-v3.1.1-running-.net-6. In diesem Beispiel ist die Zweigversion 3.1.1.

    ~eb-dotnetcore/HelloElasticBeanstalk/site$ eb init -p 64bit-amazon-linux-2023-vx.y.z-running-.net-6 dotnetcore-tutorial --region us-east-2 Application dotnetcore-tutorial has been created.

    Dieser Befehl erstellt eine Anwendung mit dem Namen dotnetcore-tutorial und konfiguriert Ihr lokales Repository so, dass Umgebungen mit der im Befehl angegebenen Plattformversion .NET Core auf Linux erstellt werden.

  4. (Optional) Führen Sie eb init erneut aus, um ein Standardschlüsselpaar für die SSH-Verbindung zur EC2-Instance (auf der die Anwendung ausgeführt wird) zu konfigurieren.

    ~eb-dotnetcore/HelloElasticBeanstalk/site$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]

    Wählen Sie ein Schlüsselpaar aus (sofern vorhanden) oder befolgen Sie die Anweisungen, um ein Schlüsselpaar zu erstellen. Falls keine Anweisungen angezeigt werden oder Sie die Einstellungen später ändern möchten, führen Sie eb init -i aus.

  5. Verwenden Sie eb create, um eine Umgebung zu erstellen und die Anwendung darin bereitzustellen. Elastic Beanstalk erstellt automatisch eine Zip-Datei für Ihre Anwendung und startet sie auf Port 5000.

    to

    ~eb-dotnetcore/HelloElasticBeanstalk/site$ eb create dotnet-tutorial

    Es dauert etwa fünf Minuten, bis Elastic Beanstalk Ihre Umgebung erstellt hat.

Schritt 4: Führen Sie Ihre Anwendung auf Elastic Beanstalk aus

Wenn der Prozess zur Erstellung Ihrer Umgebung abgeschlossen ist, öffnen Sie Ihre Website mit. eb open

~eb-dotnetcore/HelloElasticBeanstalk/site$ eb open

Herzlichen Glückwunsch! Sie haben eine.NET-Core-Anwendung auf Linux mit Elastic Beanstalk bereitgestellt! Es wird ein Browserfenster mit dem für die Anwendung erstellten Domainnamen geöffnet.

Schritt 5: Bereinigen

Sie können Ihre Umgebung beenden, wenn Sie mit der Arbeit an Ihrer Anwendung fertig sind. Elastic Beanstalk beendet alle AWS Ressourcen, die mit Ihrer Umgebung verknüpft sind.

Führen Sie den folgenden Befehl aus, um Ihre Elastic Beanstalk Beanstalk-Umgebung mit der EB-CLI zu beenden.

~eb-dotnetcore/HelloElasticBeanstalk/site$ eb terminate

AWS Ressourcen für Ihre Anwendung

Sie haben gerade eine Einzelinstanzanwendung erstellt. Es dient als einfache Beispielanwendung mit einer einzigen EC2-Instance, sodass kein Lastenausgleich oder auto Skalierung erforderlich sind. Für Einzelinstanzanwendungen erstellt Elastic Beanstalk die folgenden Ressourcen: AWS

  • EC2 instance (EC2-Instance) – Eine virtuelle Amazon EC2-Maschine zum Ausführen von Webanwendungen auf der von Ihnen ausgewählten Plattform.

    Jede Plattform führt eine andere Gruppe von Software, Konfigurationsdateien und Skripts zur Unterstützung einer bestimmten Sprachversion, eines Framework, Webcontainers oder einer Kombination daraus aus. Die meisten Plattformen verwenden entweder Apache oder nginx als Reverse-Proxy, der Web-Datenverkehr vor Ihrer Web-App verarbeitet, Anforderungen an sie weiterleitet, statische Komponenten verarbeitet und Zugriffs- und Fehlerprotokolle generiert.

  • Instance security group (Instance-Sicherheitsgruppe) – Eine Amazon EC2-Sicherheitsgruppe, die so konfiguriert ist, dass eingehender Datenverkehr auf Port 80 zugelassen wird. Mit dieser Ressource kann HTTP-Datenverkehr vom Load Balancer die EC2-Instance mit Ihrer Web-App erreichen. Standardmäßig ist Datenverkehr ist auf anderen Ports nicht zulässig.

  • Amazon S3-Bucket – Ein Speicherort für Ihren Quellcode, Protokolle und andere Artefakte, die bei der Verwendung von Elastic Beanstalk erstellt werden.

  • CloudWatch Amazon-Alarme — Zwei CloudWatch Alarme, die die Auslastung der Instances in Ihrer Umgebung überwachen und ausgelöst werden, wenn die Last zu hoch oder zu niedrig ist. Wenn ein Alarm ausgelöst wird, wird Ihre Auto Scaling-Gruppe nach oben oder nach unten skaliert.

  • AWS CloudFormation stack — Elastic Beanstalk verwendet AWS CloudFormation , um die Ressourcen in Ihrer Umgebung zu starten und Konfigurationsänderungen zu propagieren. Die Ressourcen werden in einer Vorlage definiert, die Sie in der AWS CloudFormation -Konsole anzeigen können.

  • Domainname – Ein Domainname, der auf Ihre Web-App in der Form subdomain.region.elasticbeanstalk.com weiterleitet.

Elastic Beanstalk verwaltet all diese Ressourcen. Wenn Sie die Umgebung beenden, werden alle darin enthaltenen Ressourcen von Elastic Beanstalk beendet.

Nächste Schritte

Nachdem Sie eine Umgebung erstellt haben, in der eine Anwendung ausgeführt wird, können Sie jederzeit eine neue Version der Anwendung oder eine andere Anwendung bereitstellen. Das Bereitstellen einer neuen Anwendungsversion geht sehr schnell, da keine EC2-Instances bereitgestellt oder neu gestartet werden müssen. Sie können Ihre neue Umgebung auch mit der Elastic Beanstalk Beanstalk-Konsole erkunden. Ausführliche Schritte finden Sie unter Erkunden Sie Ihre Umgebung im Kapitel Erste Schritte dieses Handbuchs.

Wenn Sie eine oder zwei Beispielanwendungen bereitgestellt haben und bereit sind, .NET Core lokal auf Linux-Anwendungen zu entwickeln und auszuführen, finden Sie weitere Informationen unterEinrichten der .NET Core unter Linux-Entwicklungsumgebung.

Bereitstellung mit der Elastic Beanstalk Beanstalk-Konsole

Sie können die Beispielanwendung auch mit der Elastic Beanstalk Beanstalk-Konsole starten. Ausführliche Schritte finden Sie unter Erstellen einer Beispielanwendung im Kapitel Erste Schritte dieses Handbuchs.