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 Elastic Beanstalk-Ruby-Plattform
In diesem Thema wird beschrieben, wie Sie Ihre Ruby-Anwendungen auf Elastic Beanstalk konfigurieren, erstellen und ausführen.
AWS Elastic Beanstalk unterstützt eine Reihe von Plattformzweigen für verschiedene Versionen der Programmiersprache Ruby. Siehe Ruby in der AWS Elastic Beanstalk Eine vollständige Liste finden Sie im Dokument Plattformen.
Die Ruby-Webanwendung kann hinter einem NGINX Proxyserver unter einem Puma-Anwendungsserver ausgeführt werden. Wenn Sie dies verwenden RubyGems, können Sie a Gemfilein Ihr Quellpaket aufnehmen, um Pakete während der Bereitstellung zu installieren.
Anwendungsserverkonfiguration
Elastic Beanstalk installiert den Puma-Anwendungsserver basierend auf dem Zweig der Ruby-Plattform, den Sie bei der Erstellung Ihrer Umgebung auswählen. Weitere Informationen zu den Komponenten, die in den Ruby-Plattformversionen enthalten sind, finden Sie unter Unterstützte Plattformen im AWS Elastic Beanstalk Leitfaden für Plattformen.
Sie können Ihre Anwendung mit Ihrem eigenen Puma-Server konfigurieren. Dies bietet die Möglichkeit, eine andere Version von Puma als die, die mit dem Ruby-Plattformzweig vorinstalliert ist, zu verwenden. Sie können Ihre Anwendung auch so konfigurieren, dass sie einen anderen Anwendungsserver wie Passenger verwendet. Dazu müssen Sie einen Gemfile
in Ihrer Bereitstellung einbinden und einstellen. Sie müssen auch einen Procfile
konfigurieren, um den Anwendungsserver zu starten. Weitere Informationen finden Sie unter Configuring the application process with a Procfile (Konfigurieren der Anwendung mit einer Procfile-Datei).
Andere Konfigurationsoptionen
Elastic Beanstalk bietet Konfigurationsoptionen, mit denen Sie die Software anpassen können, die auf den Amazon Elastic Compute Cloud (AmazonEC2) -Instances in Ihrer Elastic Beanstalk Beanstalk-Umgebung ausgeführt wird. Sie können die für Ihre Anwendung erforderlichen Umgebungsvariablen konfigurieren, die Protokollrotation an Amazon S3 aktivieren und die Ordner in der Anwendungsquelle, die statische Dateien enthalten, den vom Proxy-Server verwendeten Pfaden zuordnen. Die Plattform verfügt auch über einige allgemeine Umgebungsvariablen für Rails und Rack, die eine einfache Erkennung und Nutzung ermöglichen.
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.
Details zu den verschiedenen Möglichkeiten für das Erweitern einer Linux-basierten Elastic Beanstalk-Plattform finden Sie unter Erweitern von Elastic Beanstalk-Linux-Plattformen.
Konfigurieren Ihrer Ruby-Umgebung
Mit der Elastic Beanstalk-Konsole können Sie die Protokollrotation für Amazon S3 aktivieren und Variablen konfigurieren, die die Anwendung in der Umgebung lesen kann.
So greifen Sie auf die Softwarekonfigurationseinstellungen für die Umgebung zu
Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole
und wählen Sie in der Regionenliste Ihre AWS-Region. -
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.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Updates, monitoring and logging (Updates, Überwachung und Protokolle) die Option Edit (Bearbeiten) aus.
Protokolloptionen
Im Abschnitt Log options (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.
Standardmäßig ist der Proxy-Server in einer Ruby-Umgebung so konfiguriert, dass er statische Dateien wie folgt bereitstellt:
-
Dateien im
public
-Ordner werden vom/public
-Pfad und vom Domänenstamm bedient (/
-Pfad). -
Dateien im
public/assets
Unterordner werden vom/assets
-Pfad bedient.
Die Funktionsweise wird anhand der Funktionsweise der Standardkonfiguration deutlich:
-
Wenn beispielsweise die Anwendungsquelle eine Datei mit dem Namen
logo.png
im Ordnerpublic
enthält, leitet der Proxy-Server sie von
undsubdomain
.elasticbeanstalk.com/public/logo.png
an die Benutzer weiter.subdomain
.elasticbeanstalk.com/logo.png -
Wenn beispielsweise die Anwendungsquelle eine Datei mit dem Namen
logo.png
assets
impublic
-Ordner enthält, leitet der Proxy-Server sie von
weiter.subdomain
.elasticbeanstalk.com/assets/logo.png
Sie können zusätzliche Zuordnungen für statische Dateien konfigurieren. Weitere Informationen finden Sie unter Namespaces der Ruby-Konfigurationen an späterer Stelle in diesem Thema.
Anmerkung
Für Plattformversionen vor Ruby 2.7 AL2 Version 3.3.7 unterstützt die standardmäßige Nginx-Proxy-Serverkonfiguration von Elastic Beanstalk die Bereitstellung statischer Dateien aus dem Domänenstamm () nicht.
Diese Plattformversion wurde am 21. Oktober 2021 veröffentlicht. Weitere Informationen finden Sie unter Neue Plattformversionen — Ruby in AWS Elastic Beanstalk Hinweise zur Veröffentlichung.subdomain
.elasticbeanstalk.com/
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.
Die Ruby-Plattform definiert folgende Eigenschaften für die Umgebungskonfiguration:
-
BUNDLE_ WITHOUT — Eine durch Doppelpunkte getrennte Liste von Gruppen, die bei der Installation von Abhängigkeiten
aus einem Gemfile ignoriert werden sollen. -
BUNDLER_ DEPLOYMENT _ MODE — Auf
true
(Standard) setzen, um Abhängigkeiten im Bereitstellungsmodusmithilfe von Bundler zu installieren. Auf false
gesetzt, um diebundle install
im Entwicklungsmodus auszuführen.Anmerkung
Diese Umgebungseigenschaft ist in Amazon Linux AMI Ruby-Plattformbranches (vor Amazon Linux 2) nicht definiert.
-
RAILS_ _ SKIP ASSET _ COMPILATION — Auf einstellen,
true
um die Ausführungrake assets:precompile
während der Bereitstellung zu überspringen. -
RAILS_ SKIP _ MIGRATIONS — Legt fest, dass die Ausführung
rake db:migrate
während der Bereitstellung übersprungen werden true
soll. -
RACK_ ENV — Geben Sie die Umgebungsphase für das Rack an. Beispiel:
development
,production
odertest
.
Innerhalb der Ruby-Umgebung, die in Elastic Beanstalk ausgeführt wird, können Sie über das Objekt ENV
auf Umgebungsvariablen zugreifen. Beispielsweise können Sie mit folgendem Code eine Eigenschaft mit dem Namen API_ENDPOINT
als Variable lesen:
endpoint = ENV['API_ENDPOINT']
Weitere Informationen finden Sie unter Umgebungseigenschaften und andere Softwareeinstellungen.
Namespaces der Ruby-Konfigurationen
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.
Sie können mithilfe des Namespace aws:elasticbeanstalk:environment:proxy:staticfiles
den Umgebungsproxy so konfigurieren, dass statische Dateien bereitgestellt werden. Sie definieren Zuordnungen von virtuellen Pfaden zu Anwendungsverzeichnissen.
Die Ruby-Plattform definiert keine plattformspezifischen Namespaces. Stattdessen werden Umgebungseigenschaften für häufig verwendete Rails- und Rack-Optionen definiert.
Die folgende Konfigurationsdatei gibt eine Option für statische Dateien an, mit der das Verzeichnis staticimages
dem Pfad /images
zuordnet wird und die einzelnen plattformdefinierten Umgebungseigenschaften und eine zusätzliche Umgebungseigenschaft mit dem Namen LOGGING
festlegt werden.
Beispiel .ebextensions/ruby-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:staticfiles:
/images: staticimages
aws:elasticbeanstalk:application:environment:
BUNDLE_WITHOUT: test
BUNDLER_DEPLOYMENT_MODE: true
RACK_ENV: development
RAILS_SKIP_ASSET_COMPILATION: true
RAILS_SKIP_MIGRATIONS: true
LOGGING: debug
Anmerkung
Die BUNDLER_DEPLOYMENT_MODE
Umgebungseigenschaft und der aws:elasticbeanstalk:environment:proxy:staticfiles
Namespace sind in Amazon Linux AMI Ruby-Plattformzweigen (vor Amazon Linux 2) nicht definiert.
Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Neben den Konfigurationsdateien können Sie auch Konfigurationsoptionen mithilfe der Konsole, gespeicherten Konfigurationen, der EB CLI oder der AWS CLI. KonfigurationsoptionenWeitere Informationen finden Sie unter.