Verwenden der .NET Core unter Linux-Plattform - AWS Elastic Beanstalk

Verwenden der .NET Core unter Linux-Plattform

Die AWS Elastic Beanstalk-.NET-Core-unter-Linux-Plattform besteht aus einer Reihe von Plattformversionen für .NET-Core-Anwendungen, die auf dem Linux-Betriebssystem ausgeführt werden.

Details zu den verschiedenen Erweiterungsmöglichkeiten einer Linux-basierten Elastic Beanstalk-Plattform finden Sie unter Erweitern von Elastic Beanstalk-Linux-Plattformen. Im Folgenden werden einige plattformspezifische Aspekte beschreiben, die berücksichtigt werden sollten.

Einführung in die .NET Core unter Linux-Plattform

Proxy-Server

Die Elastic Beanstalk-.NET Core unter Linux-Plattform enthält einen Reverse-Proxy-Server, der Anforderungen an die Anwendung weiterleitet. Standardmäßig verwendet Elastic Beanstalk nginx als Proxy-Server. Sie können festlegen, dass kein Proxy-Server verwendet wird, und Kestrel als Webserver Ihrer Anwendung konfigurieren. Kestrel ist standardmäßig in ASP.NET Core-Projektvorlagen enthalten.

Anwendungsstruktur

Sie können laufzeitabhängige Anwendungen veröffentlichen, die die von Elastic Beanstalk bereitgestellte .NET Core-Laufzeitumgebung verwenden. Sie können auch eigenständige Anwendungen veröffentlichen, die die .NET Core-Laufzeit und die Abhängigkeiten Ihrer Anwendung im Quellpaket enthalten. Weitere Informationen hierzu finden Sie unter Anwendungsbündelung für die .NET Core unter Linux-Plattform.

Plattformkonfiguration

Schließen Sie eine optionale Procfile-Datei in Ihr Quell-Bundle ein, um die Prozesse zu konfigurieren, die auf den Server-Instances in Ihrer Umgebung ausgeführt werden. Eine Procfile ist erforderlich, wenn das Quellpaket mehr als eine Anwendung enthält.

Sie sollten mit Ihrer Anwendung jedoch stets eine Procfile-Datei im Quellpaket bereitstellen. So können Sie genau steuern, welche Prozesse von Elastic Beanstalk für Ihre Anwendung ausgeführt werden.

In der Elastic Beanstalk-Konsole sind Konfigurationsoptionen für das Ändern der Konfiguration einer ausgeführten Umgebung verfügbar. Um zu verhindern, dass die Umgebungskonfiguration beim Beenden verloren geht, können Sie gespeicherte Konfigurationen verwenden, um Ihre Einstellungen zu speichern und sie später für eine andere Umgebung zu übernehmen.

Zum Speichern der Einstellungen im Quellcode können Sie Konfigurationsdateien einschließen. Die Einstellungen in Konfigurationsdateien werden jedes Mal verwendet, wenn Sie eine Umgebung erstellen oder Ihre Anwendung bereitstellen. Mit Konfigurationsdateien können Sie auch Pakete installieren, Skripts ausführen und andere Instance-Anpassungen bei Bereitstellungen vornehmen.

Die in der Elastic Beanstalk-Konsole angewendeten Einstellungen überschreiben die entsprechenden Einstellungen in Konfigurationsdateien, wenn vorhanden. So sind Standardeinstellungen in Konfigurationsdateien möglich, die Sie mit umgebungsspezifischen Einstellungen in der Konsole überschreiben können. Für weitere Informationen zur Rangfolge und zu anderen Methoden zum Ändern der Einstellungen siehe Konfigurationsoptionen.

Konfigurieren Ihrer .NET Core unter Linux-Umgebung

Mithilfe der .NET Core unter Linux-Plattformeinstellungen können Sie das Verhalten Ihrer Amazon EC2-Instances optimieren. Sie können die Konfiguration der Amazon EC2-Instance der Elastic Beanstalk-Umgebung mit der Elastic Beanstalk-Konsole bearbeiten.

Mithilfe der Elastic Beanstalk-Konsole aktivieren Sie die Protokollrotation an Amazon S3 und konfigurieren Variablen, die die Anwendung aus der Umgebung auslesen kann.

So konfigurieren Sie Ihre .NET Core unter Linux-Umgebung mit der Elastic Beanstalk-Konsole

  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Software-Konfigurationskategorie Edit (Bearbeiten) aus.

Protokolloptionen

Im Abschnitt mit den Protokolloptionen sind zwei Einstellungen vorhanden:

  • Instance profile (Instance-Profil) – Gibt das Instance-Profil an, das zum Zugriff auf den entsprechenden Amazon S3-Bucket der Anwendung berechtigt ist.

  • Enable log file rotation to Amazon S3 (Protokolldateirotation für Amazon S3 aktivieren) – Gibt an, ob die Protokolldateien für die Amazon EC2-Instances der Anwendung in den der Anwendung zugeordneten Amazon S3-Bucket kopiert werden sollen.

Umgebungseigenschaften

Im Abschnitt Environment properties (Umgebungseigenschaften) können Sie die Einstellungen für die Umgebungskonfiguration der Amazon EC2-Instances angeben, auf denen die Anwendung ausgeführt wird. Umgebungseigenschaften werden als Schlüssel/Wert-Paare an die Anwendung weitergeleitet.

Innerhalb der .NET Core unter Linux-Umgebung, die in Elastic Beanstalk ausgeführt wird, kann über Environment.GetEnvironmentVariable("variable-name") auf Umgebungsvariablen zugegriffen werden. Beispielsweise können Sie mit folgendem Code eine Eigenschaft mit dem Namen API_ENDPOINT als Variable lesen.

string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");

Weitere Informationen finden Sie unter Umgebungseigenschaften und andere Softwareeinstellungen.

.NET Core unter Linux-Konfigurations-Namespace

Mithilfe einer Konfigurationsdatei können Sie im Rahmen der Bereitstellung Konfigurationsoptionen festlegen und andere Instance-Konfigurationsaufgaben durchführen. Konfigurationsoptionen können durch den Elastic Beanstalk-Service oder die verwendete Plattform definiert und in Namespaces organisiert werden.

Die .NET Core unter Linux-Plattform unterstützt zusätzlich zu den für alle Elastic Beanstalk-Umgebungen unterstützten Optionen auch Optionen im folgenden Namespace:

  • aws:elasticbeanstalk:environment:proxy – Wählen Sie einen nginx-Proxy-Server oder keinen Proxy-Server aus. Gültige Werte sind nginx oder none.

In der folgenden Beispielkonfigurationsdatei wird die Verwendung der für .NET Core unter Linux spezifischen Konfigurationsoptionen gezeigt.

Beispiel .ebextensions/proxy-settings.config

option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: none

Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Neben den Konfigurationsdateien können Sie die Konfigurationsoptionen auch unter Verwendung der Konsole, gespeicherter Konfigurationen, der EB CLI oder der AWS CLI einrichten. Weitere Informationen finden Sie unter Konfigurationsoptionen.