Konfigurieren der Anwendung mit einer Procfile-Datei - AWS Elastic Beanstalk

Konfigurieren der Anwendung mit einer Procfile-Datei

Zur Angabe benutzerdefinierter Befehle zum Starten einer Go-Anwendung, schließen Sie eine Datei mit dem Namen Procfile in das Stammverzeichnis Ihres Quell-Bundle ein.

Einzelheiten zum Schreiben und Verwenden eines Procfile finden Sie im Abschnitt Buildfile- und Procfile-Dateien unter Erweitern von Elastic Beanstalk-Linux-Plattformen.

Beispiel Procfile
web: bin/server queue_process: bin/queue_processor foo: bin/fooapp

Sie müssen die Hauptanwendung web aufrufen und als ersten Befehl in Ihrem Procfile auflisten. Elastic Beanstalk stellt die web-Hauptanwendung auf der Stamm-URL der Umgebung bereit, z. B. http://my-go-env.elasticbeanstalk.com.

Elastic Beanstalk führt außerdem alle Anwendungen aus, deren Namen kein web_-Präfix haben. Diese Anwendungen sind jedoch nicht von außerhalb Ihrer Instance verfügbar.

Elastic Beanstalk erwartet von Prozessen, die aus der Procfile ausgeführt werden, dass sie kontinuierlich laufen. Elastic Beanstalk überwacht diese Anwendungen und startet alle Prozesse, die beendet werden, neu. Für kurz laufende Prozesse verwenden Sie einen Buildfile-Befehl.

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

Hinweise
  • Die Informationen in diesem Thema beziehen sich nur auf Plattformverzweigungen auf Basis von Amazon Linux AMI (AL1). AL2023/AL2-Plattformzweige sind mit früheren Plattformversionen von Amazon Linux AMI (AL1) inkompatibel und erfordern andere Konfigurationseinstellungen.

  • Am 18. Juli 2022 stellte Elastic Beanstalk den Status aller Plattformzweige auf Basis von Amazon-Linux-AMI (AL1) auf außer Betrieb genommen. 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.

Anmerkung

Die Informationen in diesem Thema beziehen sich nur auf Plattformverzweigungen auf Basis von Amazon Linux AMI (AL1). AL2023/AL2-Plattformzweige sind mit früheren Plattformversionen von Amazon Linux AMI (AL1) inkompatibel und erfordern andere Konfigurationseinstellungen.

Elastic Beanstalk konfiguriert den nginx-Proxy für die Weitergabe von Anfragen an Ihre Anwendung, und zwar auf der Portnummer, die in der PORT Umgebungseigenschaft für Ihre Anwendung angegeben ist. Ihre Anwendung sollte Port stets abhören. Sie können auf diese Variable im Anwendungscode zugreifen, indem Sie die os.Getenv("PORT")-Methode aufrufen.

Elastic Beanstalk nutzt die Portnummer, die in der PORT-Umgebungseigenschaft für den Port der ersten Anwendung in Procfile angegeben wurde und erhöht dann die Portnummer für jede nachfolgende Anwendung in der Procfile-Datei um 100. Wenn die PORT-Umgebungseigenschaft nicht festgelegt ist, verwendet für den anfänglichen Port Elastic Beanstalk 5000.

Im Beispiel oben ist die PORT-Umgebungseigenschaft der web-Anwendung 5000, der queue_process-Anwendung 5100 und der foo-Anwendung 5200.

Sie können den anfängliche Port angeben, indem Sie die PORT-Option mit dem aws:elasticbeanstalk:application:environment-Namespace festlegen, wie im folgenden Beispiel veranschaulicht.

option_settings: - namespace: aws:elasticbeanstalk:application:environment option_name: PORT value: <first_port_number>

Weitere Informationen zum Festlegen von Umgebungseigenschaften für Ihre Anwendung finden Sie unter Optionseinstellungen.