Verwenden der Go-Plattform von 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.

Verwenden der Go-Plattform von Elastic Beanstalk

In diesem Thema wird beschrieben, wie Sie Ihre Go-Anwendungen auf Elastic Beanstalk konfigurieren, erstellen und ausführen.

AWS Elastic Beanstalk unterstützt eine Reihe von Plattformzweigen für verschiedene Versionen der Go-Programmiersprache. Siehe Go in der AWS Elastic Beanstalk Eine vollständige Liste finden Sie im Dokument Plattformen.

Bei einfachen Go-Anwendungen gibt es zwei Möglichkeiten, Ihre Anwendung bereitzustellen:

  • Stellen Sie ein Quell-Bundle mit einer Quelldatei im Stammverzeichnis namens application.go bereit, das das Hauptpaket Ihrer Anwendung enthält. Elastic Beanstalk entwickelt den binären Wert mithilfe des folgenden Befehls:

    go build -o bin/application application.go

    Nachdem die Anwendung erstellt wurde, startet Elastic Beanstalk sie auf Port 5000.

  • Stellen Sie ein Quell-Bundle mit einer Binärdatei namens application bereit. Die Binärdatei befindet sich entweder im Stammverzeichnis des Quell-Bundle oder im bin/-Verzeichnis des Quell-Bundle. Wenn Sie die application-Binärdatei in beiden Speicherorten platzieren, verwendet Elastic Beanstalk die Datei im bin/-Verzeichnis.

    Elastic Beanstalk startet diese Anwendung auf Port 5000.

In beiden Fällen können Sie mit unseren unterstützten Go-Plattformzweigen auch die Modulanforderungen in einer Datei mit dem Namen angebengo.mod. Weitere Informationen finden Sie unter Migrating to Go Modules (Migration zu Go-Modulen) im Go-Blog.

Bei komplexeren Go-Anwendungen gibt es zwei Möglichkeiten, um Ihre Anwendung bereitzustellen:

  • Stellen Sie ein Quell-Bundle bereit, das Ihre Anwendungsquelldateien zusammen mit einer Buildfile-Datei und einer Procfile-Datei enthält. Die Buildfile-Datei enthält einen Befehl zum Erstellen der Anwendung und die Procfile-Datei enthält Anweisungen zum Ausführen der Anwendung.

  • Stellen Sie ein Quell-Bundle bereit, das Ihre Binärdateien der Anwendung mit einer Procfile-Datei enthält. Die Procfile-Datei enthält Anweisungen zur Ausführung der Anwendung.

Die Go-Plattform umfasst einen Proxy-Server, der statische Komponenten bereitstellt und den Datenverkehr an Ihre Anwendung weiterleitet. Bei erweiterten Szenarien können Sie die Standard-Proxy-Konfiguration erweitern oder überschreiben.

Details zu den verschiedenen Erweiterungsmöglichkeiten einer Linux-basierten Elastic Beanstalk-Plattform finden Sie unter Erweitern von Elastic Beanstalk-Linux-Plattformen.

Konfigurieren Ihrer Go-Umgebung

Mit den Go-Plattformeinstellungen können Sie das Verhalten Ihrer EC2 Amazon-Instances optimieren. Sie können die EC2 Amazon-Instance-Konfiguration der Elastic Beanstalk Beanstalk-Umgebung mithilfe der Elastic Beanstalk 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 Go-Umgebung in der Elastic Beanstalk-Konsole
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Regionenliste Ihre AWS-Region.

  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 Konfigurationskategorie Updates, monitoring and logging  (Updates, Überwachung und Protokolle) die Option 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.

  • Rotation der Protokolldateien nach Amazon S3 aktivieren — Gibt an, ob Protokolldateien für die EC2 Amazon-Instances Ihrer Anwendung in den Amazon S3-Bucket kopiert werden, der Ihrer Anwendung zugeordnet ist.

Statische Dateien

Um die Leistung zu verbessern, können Sie den Abschnitt Statische Dateien verwenden, um den Proxy-Server so zu konfigurieren, dass statische Dateien (z. HTML B. Bilder) aus einer Reihe von Verzeichnissen in Ihrer Webanwendung bereitgestellt werden. Legen Sie für jedes Verzeichnis den virtuellen Pfad zum Verzeichnis-Mapping fest. Wenn der Proxy-Server eine Anfrage nach einer Datei unter dem angegebenen Pfad erhält, stellt er die Datei direkt bereit, anstatt die Anfrage an Ihre Anwendung weiterzuleiten.

Weitere Informationen zum Konfigurieren statischer Dateien mit der Elastic Beanstalk-Konsole finden Sie unter Bereitstellen von statischen Dateien.

Umgebungseigenschaften

Im Abschnitt Umgebungseigenschaften können Sie die Umgebungskonfigurationseinstellungen für die EC2 Amazon-Instances angeben, auf denen Ihre Anwendung ausgeführt wird. Umgebungseigenschaften werden als Schlüssel/Wert-Paare an die Anwendung weitergeleitet.

Innerhalb der Go-Umgebung, die in Elastic Beanstalk ausgeführt wird, können Sie über die Funktion os.Getenv auf Umgebungsvariablen zugreifen. Beispielsweise können Sie mit folgendem Code eine Eigenschaft mit dem Namen API_ENDPOINT als Variable lesen:

endpoint := os.Getenv("API_ENDPOINT")

Weitere Informationen finden Sie unter Umgebungseigenschaften und andere Softwareeinstellungen.

Namespace der Go-Konfiguration

Mithilfe einer Konfigurationsdatei können Sie im Rahmen der Bereitstellung Konfigurationsoptionen festlegen und andere Instance-Konfigurationsaufgaben durchführen. Die Konfigurationsoptionen können plattformspezifisch sein oder für alle Plattformen im Elastic Beanstalk-Service als Ganzes gelten. Die Konfigurationsoptionen sind in Namespaces organisiert.

Die Go-Plattform definiert keine plattformspezifischen Namespaces. Sie können den Proxy so konfigurieren, dass statische Dateien mittels des aws:elasticbeanstalk:environment:proxy:staticfiles-Namespace bereitgestellt werden. Einzelheiten und ein Beispiel finden Sie unter Bereitstellen von statischen Dateien.

Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Zusätzlich zu den Konfigurationsdateien können Sie Konfigurationsoptionen auch über die Konsole, gespeicherte Konfigurationen, den EB CLI oder den AWS CLI. KonfigurationsoptionenWeitere Informationen finden Sie unter.

Wenn Ihre Elastic Beanstalk Go-Umgebung eine Amazon AMI Linux-Plattformversion (vor Amazon Linux 2) verwendet, lesen Sie die zusätzlichen Informationen in diesem Abschnitt.

Hinweise
  • Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/ AL2 Plattformzweige sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und erfordern andere Konfigurationseinstellungen.

  • Am 18. Juli 2022 hat Elastic Beanstalk den Status aller Plattformbranchen, die auf Amazon Linux AMI (AL1) basieren, auf eingestellt gesetzt. Weitere Informationen zur Migration zu einem aktuellen und vollständig unterstützten Plattformzweig für Amazon Linux 2023 finden Sie unter Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2.

Mithilfe einer Konfigurationsdatei können Sie im Rahmen der Bereitstellung Konfigurationsoptionen festlegen und andere Instance-Konfigurationsaufgaben durchführen. Die Konfigurationsoptionen können plattformspezifisch sein oder für alle Plattformen im Elastic Beanstalk-Service als Ganzes gelten. Die Konfigurationsoptionen sind in Namespaces organisiert.

Anmerkung

Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/ AL2 Plattformzweige sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und erfordern andere Konfigurationseinstellungen.

Die Amazon Linux AMI Go-Plattform unterstützt zusätzlich zu den Namespaces, die von allen Plattformen unterstützt werden, einen plattformspezifischen Konfigurationsnamespace. Mit dem aws:elasticbeanstalk:container:golang:staticfiles-Namespace können Sie Optionen definieren, um für die Webanwendung Pfade zu Ordnern im Quell-Bundle der Anwendung zuzuweisen, die statische Inhalte enthalten.

Diese Konfigurationsdatei weist den Proxy-Server beispielsweise an, Dateien im staticimages-Ordner im Pfad /images bereitzustellen:

Beispiel .ebextensions/go-settings.config
option_settings: aws:elasticbeanstalk:container:golang:staticfiles: /html: statichtml /images: staticimages

Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Neben den Konfigurationsdateien können Sie auch Konfigurationsoptionen über die Konsole, gespeicherte Konfigurationen, den EB oder den CLI AWS CLI. KonfigurationsoptionenWeitere Informationen finden Sie unter.