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 Tomcat
Cette rubrique explique comment configurer, créer et exécuter vos applications Java exécutées sur la plateforme Elastic Beanstalk Tomcat.
Le AWS Elastic Beanstalk La plate-forme Tomcat est un ensemble de versions de plate-forme pour les applications Web Java qui peuvent s'exécuter dans un conteneur Web Tomcat. Tomcat s'exécute derrière un serveur proxy nginx. Chaque branche de plateforme correspond à une version majeure de Tomcat.
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.
La plateforme Tomcat Elastic Beanstalk inclut un proxy inverse qui transmet les demandes à votre application. Vous pouvez utiliser les options de configuration pour configurer le serveur proxy de manière à traiter les ressources statiques à partir d'un dossier de votre code source afin de réduire la charge sur votre application. Pour les scénarios avancés, vous pouvez inclure vos propres .conffichiers dans votre bundle de fichiers source afin d'étendre la configuration proxy Elastic Beanstalk ou de la remplacer complètement.
Note
Elastic Beanstalk
Le 18 juillet 2022, Elastic Beanstalk a défini le statut de toutes les branches de la plateforme basées sur Amazon AMI Linux () comme étant retirées. AL1 Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2.
Vous devez empaqueter les applications Java dans un fichier d'archive d'applications Web (WAR) doté d'une structure spécifique. Pour plus d'informations sur la structure à respecter et sur sa liaison à la structure de votre répertoire de projet, consultez Structuration de votre dossier de projet.
Pour exécuter plusieurs applications sur le même serveur Web, vous pouvez regrouper plusieurs WAR fichiers dans un seul ensemble source. Chaque application d'un ensemble de WAR sources multiples s'exécute sur le chemin racine (ROOT.war
run at
) ou sur un chemin situé juste en dessous (myapp
.elasticbeanstalk.com/app2.war
run at
), comme déterminé par le nom duWAR. Dans un bundle WAR source unique, l'application s'exécute toujours sur le chemin racine.myapp
.elasticbeanstalk.com/app2
/
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.
Rubriques
Configuration de votre environnement Tomcat
La plateforme Tomcat Elastic Beanstalk fournit quelques options propres à la plateforme en plus des options standard présentes sur toutes les plateformes. Ces options vous permettent de configurer la machine virtuelle Java (JVM) qui s'exécute sur les serveurs Web de votre environnement et de définir les propriétés du système qui fournissent des chaînes de configuration d'informations à votre application.
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 configurer votre environnement Tomcat dans la console Elastic Beanstalk
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 conteneur
Vous pouvez spécifier ces options spécifiques à la plateforme :
-
Proxy server (Serveur proxy) – Serveur proxy à utiliser sur vos instances d'environnement. Le serveur nginx est utilisé par défaut.
JVMoptions de conteneur
La taille du segment de mémoire de la machine virtuelle Java (JVM) détermine le nombre d'objets que votre application peut créer en mémoire avant la collecte des déchets-Xms option
) et la taille maximale du JVM tas (-Xmx
option). Plus la taille initiale du tas est importante, plus le nombre d'objets pouvant être créés avant le nettoyage de la mémoire sera élevé. Toutefois, cela signifie également que le récupérateur de mémoire mettra plus de temps pour compacter le tas. La taille maximale du tas indique la quantité maximale de mémoire qu'il est JVM possible d'allouer lors de l'extension du tas lors d'une activité intense.
Note
La mémoire disponible dépend du type d'EC2instance Amazon. Pour plus d'informations sur les types d'EC2instances disponibles pour votre environnement Elastic Beanstalk, consultez la section Types d'instances du guide de l'utilisateur Amazon Elastic Compute Cloud pour les instances Linux.
La génération permanente est une section du JVM tas qui stocke les définitions de classe et les métadonnées associées. Pour modifier la taille de la génération permanente, saisissez la nouvelle taille dans l'option JVM PermGen Taille maximale (-XX:MaxPermSize
). Ce paramètre s'applique uniquement à Java 7 et versions antérieures. Cette option a été déconseillée en JDK 8 et remplacée par l'option MaxMetaspaceSize (). -XX:MaxMetaspaceSize
Important
JDK17 a supprimé le support de l'-XX:MaxPermSize
option Java. L'utilisation de cette option avec un environnement s'exécutant sur une branche de plateforme Elastic Beanstalk avec Corretto 17 provoquera une erreur. Elastic Beanstalk a publié sa première branche de plateforme exécutant Tomcat avec Corretto 17 le 13 juillet 2023.
Pour plus d'informations, veuillez consulter les ressources suivantes.
-
Site Web de documentation Oracle Java : Options Java supprimées
(français non garanti) -
Site Web de documentation Oracle Java : section Métadonnées de classe dans Autres considérations
(français non garanti)
Pour plus d'informations sur les plateformes Elastic Beanstalk et leurs composants, consultez la section Plateformes prises en charge dans le AWS Elastic Beanstalk Guide des plateformes.
Options du journal
La section 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.
Propriétés de l'environnement
Dans la section Propriétés de l'environnement, vous pouvez spécifier les paramètres de configuration de l'environnement sur les EC2 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 Tomcat définit une propriété d'espace réservée nommée JDBC_CONNECTION_STRING
pour les environnements Tomcat, permettant de transmettre une chaîne de connexion à une base de données externe.
Note
Si vous attachez une RDS instance de base de données à votre environnement, créez la chaîne de JDBC connexion de manière dynamique à partir des propriétés d'environnement Amazon Relational Database Service (RDSAmazon) fournies par Elastic Beanstalk. Utilisez JDBC _ CONNECTION _ STRING uniquement pour les instances de base de données qui ne sont pas provisionnées à l'aide d'Elastic Beanstalk.
Pour plus d'informations sur l'utilisation d'Amazon RDS avec votre application Java, consultezAjouter une instance Amazon RDS DB à votre environnement Java Elastic Beanstalk.
Dans l'environnement Tomcat en cours d'exécution dans Elastic Beanstalk, les variables d'environnement sont accessibles à l'aide de System.getProperty()
. Par exemple, vous pouvez lire une propriété nommée API_ENDPOINT
sur une variable avec le code suivant :
String endpoint = System.getProperty("API_ENDPOINT");
Pour plus d'informations, consultez Propriétés de l'environnement et autres paramètres de logiciel.
Espaces de noms de la configuration Tomcat
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.
La plateforme Tomcat prend en charge les options des espaces de noms suivants en plus des options prises en charge pour tous les environnements Elastic Beanstalk :
-
aws:elasticbeanstalk:container:tomcat:jvmoptions
— Modifiez JVM les paramètres. Les options de cet espace de noms correspondent aux options de la console de gestion, comme suit :-
Xms
— options JVM de ligne de commande -
JVM Options
— options JVM de ligne de commande
-
-
aws:elasticbeanstalk:environment:proxy
: choisissez le serveur proxy de l'environnement.
L'exemple de fichier de configuration suivant illustre l'utilisation d'options de configuration spécifiques à Tomcat :
Exemple .ebextensions/tomcat-settings.config
option_settings:
aws:elasticbeanstalk:container:tomcat:jvmoptions:
Xms: 512m
JVM Options: '-Xmn128m'
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: mywebapi.zkpexsjtmd.us-west-2.elasticbeanstalk.com
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
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. Voir Options de configuration pour plus d'informations.
Si votre environnement Elastic Beanstalk Tomcat utilise une version de la plateforme Amazon AMI Linux (antérieure à Amazon Linux 2), consultez les informations supplémentaires contenues dans cette section.
Remarques
-
Les informations contenues dans cette rubrique s'appliquent uniquement aux branches de plateforme basées sur Amazon Linux AMI (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et nécessitent des paramètres de configuration différents.
-
Le 18 juillet 2022, Elastic Beanstalk a défini le statut de toutes les branches de la plateforme basées sur Amazon AMI Linux () comme étant retirées. AL1 Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2.
La AMI plateforme Tomcat Amazon Linux prend en charge des options supplémentaires dans les espaces de noms suivants :
-
aws:elasticbeanstalk:container:tomcat:jvmoptions
— Outre les options mentionnées plus haut sur cette page pour cet espace de noms, les anciennes versions de la AMI plateforme Amazon Linux prennent également en charge :-
XX:MaxPermSize
— Taille de génération JVM permanente maximale
-
-
aws:elasticbeanstalk:environment:proxy
: en plus de choisir le serveur proxy, configurez également la compression de réponse.
L'exemple de fichier de configuration suivant illustre l'utilisation d'options de configuration de l'espace de noms du proxy.
Exemple .ebextensions/tomcat-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
GzipCompression: 'true'
ProxyServer: nginx
Pour déployer les fichiers de configuration .ebextensions
, incluez-les dans la source de votre application. Pour une seule application, ajoutez le vôtre .ebextensions
à un WAR fichier compressé en exécutant la commande suivante :
zip -ur
your_application.war
.ebextensions
Pour une application nécessitant plusieurs WAR fichiers, reportez-vous à la section Création d'une offre groupée de plusieurs fichiers WAR pour les environnements Tomcat pour obtenir des instructions supplémentaires.