Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de la plateforme Elastic Beanstalk Ruby
Cette rubrique explique comment configurer, créer et exécuter vos applications Ruby sur Elastic Beanstalk.
AWS Elastic Beanstalk prend en charge un certain nombre de branches de plate-forme pour différentes versions du langage de programmation Ruby. Voir Ruby dans le document AWS Elastic Beanstalk Platforms pour une liste complète.
L'application Web Ruby peut s'exécuter derrière un serveur NGINX proxy sous un serveur d'applications Puma. Si vous l'utilisez RubyGems, vous pouvez en inclure un Gemfiledans votre bundle source pour installer des packages lors du déploiement.
Configuration du serveur de l'application
Elastic Beanstalk installe le serveur d'applications Puma en fonction de la branche de plateforme Ruby que vous choisissez lors de la création de votre environnement. Pour plus d'informations sur les composants fournis avec les versions de la plateforme Ruby, consultez Plateformes prises en charge dans le guide AWS Elastic Beanstalk Plateformes.
Vous pouvez configurer votre application avec le serveur Puma que vous avez fourni. Cela permet d'utiliser une version de Puma autre que celle préinstallée avec la branche de plateforme Ruby. Vous pouvez également configurer votre application pour utiliser un autre serveur d'applications, tel que Passenger. Pour ce faire, vous devez inclure et personnaliser un Gemfile
dans votre déploiement. Vous devez également configurer un Procfile
pour démarrer le serveur d'applications. Pour plus d'informations, consultez Configuration du processus de l'application avec un Profil.
Autres options de configuration
Elastic Beanstalk propose des options de configuration que vous pouvez utiliser pour personnaliser le logiciel qui s'exécute sur les instances Amazon Elastic Compute Cloud (EC2Amazon) dans votre environnement Elastic Beanstalk. Vous pouvez configurer des variables d'environnement nécessaires pour votre application, activer la rotation des journaux sur Amazon S3 et mapper des dossiers dans la source de votre application contenant des fichiers statiques vers des chemins desservis par le serveur proxy. La plateforme prédéfinit également certaines variables d'environnement courantes associées à Rails et Rack pour faciliter la découverte et l'utilisation.
Des options de configuration sont disponibles dans la console Elastic Beanstalk pour modifier la configuration d'un environnement en cours d'exécution. Pour éviter de perdre la configuration de votre environnement en le résiliant, vous pouvez utiliser des configurations enregistrées pour enregistrer vos paramètres et les appliquer par la suite à un autre environnement.
Pour enregistrer les paramètres dans votre code source, vous pouvez inclure des fichiers de configuration. Les paramètres des fichiers de configuration sont appliquées chaque fois que vous créez un environnement ou que vous déployez votre application. Vous pouvez également utiliser des fichiers de configuration pour installer des packages, exécuter des scripts ou effectuer d'autres opérations de personnalisation d'instance lors des déploiements.
Les paramètres appliqués dans la console Elastic Beanstalk remplacent les mêmes paramètres des fichiers de configuration, s'ils existent. Cela vous permet d'utiliser les paramètres par défaut dans les fichiers de configuration et de les remplacer par des paramètres spécifiques à l'environnement dans la console. Pour plus d'informations sur la priorité et les autres méthodes de modification des paramètres, consultez Options de configuration.
Pour plus d'informations sur les différentes manières d'étendre une plateforme Elastic Beanstalk basée sur Linux, consultez Extension des plateformes Linux Elastic Beanstalk.
Configuration de votre environnement Ruby
Vous pouvez utiliser la console Elastic Beanstalk pour activer la rotation de journal sur Amazon S3 et configurer les variables que votre application peut lire depuis l'environnement.
Pour accéder aux paramètres de configuration du logiciel pour votre environnement
Ouvrez la console Elastic Beanstalk
, puis dans la liste des régions, sélectionnez votre. Région AWS -
Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.
Note
Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.
Dans le panneau de navigation, choisissez Configuration.
-
Dans la catégorie de configuration Mises à jour, surveillance et journalisation, sélectionnez Modifier.
Options du journal
La section Log Options (Options du journal) a deux paramètres :
-
Instance profile (Profil d'instance) – Spécifie le profil d'instance qui est autorisé à accéder au compartiment Amazon S3 associé à votre application.
-
Activer la rotation des fichiers journaux vers Amazon S3 : indique si les fichiers journaux des EC2 instances Amazon de votre application sont copiés dans le compartiment Amazon S3 associé à votre application.
Fichiers statiques
Pour améliorer les performances, vous pouvez utiliser la section Fichiers statiques pour configurer le serveur proxy pour qu'il diffuse des fichiers statiques (par exemple, HTML ou des images) à partir d'un ensemble de répertoires au sein de votre application Web. Pour chaque répertoire, vous définissez le chemin virtuel sur le mappage de répertoires. Lorsque le serveur proxy reçoit une demande pour un fichier dans le chemin spécifié, il fournit le fichier directement au lieu d'acheminer la demande vers votre application.
Pour en savoir plus sur la configuration des fichiers statiques à l'aide des fichiers de configuration ou de la console Elastic Beanstalk, consultez Service de fichiers statiques.
Par défaut, le serveur proxy d'un environnement Ruby est configuré pour servir des fichiers statiques comme suit :
-
Les fichiers du dossier
public
sont servis à partir du chemin/public
et de la racine du domaine (chemin/
). -
Les fichiers du sous-dossier
public/assets
sont servis à partir du chemin/assets
.
Les exemples suivants illustrent le fonctionnement de la configuration par défaut :
-
Si votre code source d'application contient un fichier nommé
logo.png
dans un dossier nommépublic
, le serveur proxy le sert aux utilisateurs dans
etsubdomain
.elasticbeanstalk.com/public/logo.png
.subdomain
.elasticbeanstalk.com/logo.png -
Si votre code source d'application contient un fichier nommé
logo.png
dans un dossier nomméassets
dans le dossierpublic
, le serveur proxy le sert aux utilisateurs dans
.subdomain
.elasticbeanstalk.com/assets/logo.png
Vous pouvez configurer d'autres mappages pour les fichiers statiques. Pour plus d'informations, consultez Espaces de noms de configuration Ruby plus loin dans cette rubrique.
Note
Pour les versions de plate-forme antérieures à Ruby 2.7 AL2 version 3.3.7, la configuration par défaut du serveur proxy nginx Elastic Beanstalk ne prend pas en charge le service de fichiers statiques à partir de la racine du domaine ().
Cette version de plateforme a été publiée le 21 octobre 2021. Pour plus d'informations, consultez la section .Nouvelles versions de plateforme - Ruby dans les Notes de mise à jour AWS Elastic Beanstalk .subdomain
.elasticbeanstalk.com/
Propriétés de l'environnement
La section Propriétés de l'environnement vous permet de définir les paramètres de configuration de l'environnement sur EC2 les instances Amazon qui exécutent votre application. Les propriétés de l'environnement sont passées en tant que paires clé-valeur à l'application.
La plateforme Ruby définit les propriétés suivantes pour la configuration de l'environnement :
-
BUNDLE_ WITHOUT — Une liste de groupes séparés par des virgules à ignorer lors de l'installation de dépendances
à partir d'un Gemfile. -
BUNDLER_ DEPLOYMENT _ MODE — Défini sur
true
(valeur par défaut) pour installer les dépendances en mode déploiementà l'aide de Bundler. Définissez la valeur sur false
pour exécuterbundle install
en mode de développement.Note
Cette propriété d'environnement n'est pas définie sur les branches de la plateforme Amazon Linux AMI Ruby (antérieures à Amazon Linux 2).
-
RAILS_ SKIP _ ASSET _ COMPILATION — Paramétré
true
pour ignorer l'exécutionrake assets:precompile
pendant le déploiement. -
RAILS_ SKIP _ MIGRATIONS — Paramétré sur
true
pour ignorer l'exécutionrake db:migrate
pendant le déploiement. -
RACK_ ENV — Spécifiez le stade d'environnement pour Rack. Par exemple,
development
,production
outest
.
Dans l'environnement Ruby en cours d'exécution dans Elastic Beanstalk, les variables d'environnement sont accessibles à l'aide de l'objet ENV
. Par exemple, vous pouvez lire une propriété nommée API_ENDPOINT
sur une variable avec le code suivant :
endpoint = ENV['API_ENDPOINT']
Pour plus d'informations, consultez Propriétés de l'environnement et autres paramètres de logiciel.
Espaces de noms de configuration Ruby
Vous pouvez utiliser un fichier de configuration pour définir des options de configuration et exécuter d'autres tâches de configuration d'instance pendant les déploiements. Les options de configuration peuvent être spécifiques à la plate-forme ou s'appliquer à toutes les plateformes du service Elastic Beanstalk dans son ensemble. Les options de configuration sont organisées en espaces de noms.
Vous pouvez utiliser l'espace de noms aws:elasticbeanstalk:environment:proxy:staticfiles
pour configurer le proxy d'environnement afin de traiter les fichiers statiques. Vous définissez les mappages des chemins virtuels vers les répertoires d'applications.
La plate-forme Ruby ne définit aucun espace de noms spécifique à la plate-forme. Au lieu de cela, elle définit les propriétés d'environnement pour les options Rails et Rack communes.
Le fichier de configuration suivant spécifie une option de fichiers statiques qui mappe un répertoire nommé staticimages
au chemin d'accès /images
, définit chacune des propriétés d'environnement définies par la plate-forme et définit une propriété d'environnement supplémentaire nommée LOGGING
.
Exemple .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
Note
La propriété d'BUNDLER_DEPLOYMENT_MODE
environnement et l'espace de aws:elasticbeanstalk:environment:proxy:staticfiles
noms ne sont pas définis sur les branches de la plateforme Amazon Linux AMI Ruby (antérieures à Amazon Linux 2).
Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. Outre les fichiers de configuration, vous pouvez également définir les options de configuration à l'aide de la console, des configurations enregistrées, de l'EB CLI ou du AWS CLI. Pour plus d’informations, consultez Options de configuration.