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.
Configuration de règles d'intégrité améliorée pour un environnement
Le rapport sur l'état amélioré d'AWS Elastic Beanstalk s'appuie sur un ensemble de règles qui déterminent l'état de votre environnement. Certaines de ces règles peuvent ne pas être adaptées à votre application. Voici quelques exemples courants :
-
Vous utilisez des outils de test côté client. Dans ce cas, des erreurs fréquentes de client HTTP (4xx) sont attendues.
-
Vous utilisez AWS WAF avec Application Load Balancer de votre environnement pour bloquer le trafic entrant indésirable. Dans ce cas, Application Load Balancer renvoie l'erreur HTTP 403 pour chaque message entrant rejeté.
Par défaut, Elastic Beanstalk inclut toutes les erreurs HTTP 4xx de l'application lors de la détermination de l'état de l'environnement. L'état de santé de votre environnement passe de OK à Warning (Avertissement), Degraded (Dégradé) ou Severe (Grave), en fonction du taux d'erreur. Pour gérer correctement les cas mentionnés dans les exemples précédents, Elastic Beanstalk vous permet de configurer certaines règles d'état améliorées. Vous pouvez choisir d'ignorer les erreurs HTTP 4xx de l'application sur les instances de l'environnement ou d'ignorer les erreurs HTTP 4xx renvoyées par l'équilibreur de charge de l'environnement. Cette rubrique décrit comment effectuer ces modifications de configuration.
Note
Actuellement, il s'agit de la seule personnalisation de règle d'intégrité améliorée disponible. Vous ne pouvez pas configurer l'intégrité améliorée pour ignorer d'autres erreurs HTTP en plus de 4xx.
Configuration des règles d'état améliorées à l'aide de la console Elastic Beanstalk
Vous pouvez utiliser la console Elastic Beanstalk pour configurer les règles d'état améliorées dans votre environnement.
Pour configurer la vérification des codes d'état HTTP 4xx à l'aide de la console Elastic Beanstalk
Ouvrez la console Elastic Beanstalk
et, dans la liste Regions (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 Monitoring (Surveillance), choisissez Edit (Modifier).
-
Sous Personnalisation de la règle de surveillance de l'intégrité, activez ou désactivez les options Ignorer souhaitées.
-
Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.
Configuration des règles d'intégrité améliorée à l'aide de l'interface de ligne de commande EB
Vous pouvez utiliser l'interface de ligne de commande EB pour configurer les règles d'état améliorées en enregistrant la configuration de votre environnement en local, en ajoutant une entrée qui configure les règles d'état améliorées, puis en chargeant la configuration dans Elastic Beanstalk. Vous pouvez appliquer la configuration enregistrée à un environnement pendant ou après la création.
Pour configurer la vérification du code d'état HTTP 4xx à l'aide de l'interface de ligne de commande EB et des configurations enregistrées
-
Initialisez votre dossier de projet avec eb init.
-
Créez un environnement en exécutant la commande eb create.
-
Enregistrez un modèle de configuration localement en exécutant la commande eb config save. L'exemple suivant utilise l'option
--cfg
pour spécifier le nom de la configuration.$
eb config save --cfg
Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml01-base-state
-
Ouvrez le fichier de configuration enregistrée dans un éditeur de texte.
-
Sous
OptionSettings
>aws:elasticbeanstalk:healthreporting:system:
, ajoutez une cléConfigDocument
pour lister chaque règle d'intégrité améliorée à configurer. LeConfigDocument
suivant désactive la vérification des codes d'état HTTP 4xx de l'application, tout en conservant la vérification du code HTTP 4xx de l'équilibreur de charge activé.OptionSettings: ... aws:elasticbeanstalk:healthreporting:system:
ConfigDocument: Rules: Environment: Application: ApplicationRequests4xx: Enabled: false ELB: ELBRequests4xx: Enabled: true Version: 1
SystemType: enhanced ...Note
Vous pouvez combiner
Rules
etCloudWatchMetrics
dans le même paramètre d'optionConfigDocument
. Le paramètreCloudWatchMetrics
est décrit dans Publication de métriques CloudWatch personnalisées Amazon pour un environnement.Si vous avez précédemment activé
CloudWatchMetrics
, le fichier de configuration que vous récupérez à l'aide de la commande eb config save possède déjà une cléConfigDocument
avec une sectionCloudWatchMetrics
. Ne la supprimez pas : ajoutez une sectionRules
dans la même valeur d'optionConfigDocument
. -
Enregistrez le fichier de configuration et fermez l'éditeur de texte. Dans cet exemple, le fichier de configuration mis à jour est enregistré avec un nom qui est différent (
02-cloudwatch-enabled.cfg.yml
) de celui du fichier de configuration téléchargé. Cela crée une configuration enregistrée distincte lorsque le fichier est téléchargé. Vous pouvez utiliser le même nom que le fichier téléchargé pour remplacer la configuration existante sans en créer une. -
Utilisez la commande eb config put pour charger le fichier de configuration mis à jour dans Elastic Beanstalk.
$
eb config put
02-cloudwatch-enabled
Lorsque vous utilisez les commandes eb config
get
etput
avec des configurations enregistrés, n'incluez pas l'extension de nom de fichier. -
Appliquez la configuration enregistrée à votre environnement en cours d'exécution.
$
eb config --cfg
02-cloudwatch-enabled
L'option
--cfg
spécifie un fichier de configuration nommé qui est appliqué à l'environnement. Vous pouvez enregistrer le fichier de configuration en local ou dans Elastic Beanstalk. Si un fichier de configuration avec le nom spécifié existe dans les deux emplacements, l'interface de ligne de commande EB utilise le fichier local.
Configuration des règles d'intégrité améliorée à l'aide d'un document de configuration
Le document de configuration pour les règles d'intégrité améliorée est un document JSON qui répertorie les règles à configurer.
L'exemple suivant montre un document de configuration qui désactive la vérification des codes d'état HTTP 4xx de l'application et active la vérification des codes d'état HTTP 4xx de l'équilibreur de charge.
{
"Rules": {
"Environment": {
"Application": {
"ApplicationRequests4xx": {
"Enabled": false
}
},
"ELB": {
"ELBRequests4xx": {
"Enabled": true
}
}
}
},
"Version": 1
}
Pour la AWS CLI, vous transmettez le document sous forme de valeur pour la clé Value
dans un argument de paramètres d'option, qui est lui-même un objet JSON. Dans ce cas, vous devez utiliser des guillemets d'échappement dans le document intégré. La commande suivante vérifie si les paramètres de configuration sont valides.
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
{
"Namespace": "aws:elasticbeanstalk:healthreporting:system",
"OptionName": "ConfigDocument",
"Value": "{\"Rules\": { \"Environment\": { \"Application\": { \"ApplicationRequests4xx\": { \"Enabled\": false } }, \"ELB\": { \"ELBRequests4xx\": {\"Enabled\": true } } } }, \"Version\": 1 }"
}
]'
Pour un fichier de configuration .ebextensions
au format YAML, vous pouvez fournir le document JSON en l'état.
option_settings:
- namespace: aws:elasticbeanstalk:healthreporting:system
option_name: ConfigDocument
value: {
"Rules": {
"Environment": {
"Application": {
"ApplicationRequests4xx": {
"Enabled": false
}
},
"ELB": {
"ELBRequests4xx": {
"Enabled": true
}
}
}
},
"Version": 1
}