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.
À l'aide d'Amazon EventBridge, vous pouvez configurer des règles basées sur les événements qui surveillent vos ressources Elastic Beanstalk et initient des actions ciblées utilisant d'autres services. AWS Par exemple, vous pouvez définir une règle pour l'envoi de notifications par e-mail en signalant une rubrique Amazon SNS chaque fois que l'état de santé d'un environnement de production passe à Warning (Avertissement). Vous pouvez également définir une fonction Lambda pour transmettre une notification à Slack chaque fois que l'état de santé de votre environnement passe à Degraded (Dégradé) ou à Severe (Grave).
Vous pouvez créer des règles dans Amazon EventBridge pour agir sur n'importe lequel des événements Elastic Beanstalk suivants :
-
Changements d'état des opérations d'environnement (y compris les opérations de création, de mise à jour et de résiliation). L'événement indique si le changement d'état a démarré, réussi ou échoué.
-
Changements d'état pour d'autres ressources.Outre les environnements, les autres ressources surveillées incluent les équilibreurs de charge, les groupes Auto Scaling et les instances.
-
Transition d'état pour les environnements. L'événement indique l'endroit où l'état de l'environnement est passé d'un état de santé à un autre.
-
Changement d'état pour les mises à jour gérées. L'événement indique si le changement d'état a démarré, réussi ou échoué.
Pour capturer des événements Elastic Beanstalk spécifiques qui vous intéressent, définissez des EventBridge modèles spécifiques à ces événements qui peuvent être utilisés pour détecter les événements. Les modèles d’événements ont la même structure que les événements auxquels ils correspondent. Le modèle place entre guillemets les champs que vous voulez faire correspondre et fournit les valeurs que vous recherchez. Les événements sont générés dans la mesure du possible. Ils sont transmis depuis Elastic EventBridge Beanstalk en temps quasi réel dans des circonstances opérationnelles normales. Toutefois, certaines situations peuvent retarder ou empêcher la livraison d'un événement.
Pour obtenir la liste des champs contenus dans les événements Elastic Beanstalk et leurs valeurs de chaîne possibles, veuillez consulter Mappage des champs d'événement Elastic Beanstalk. Pour plus d'informations sur le fonctionnement EventBridge des règles avec les modèles d'événements, consultez la section Événements et modèles d'événements dans EventBridge.
Surveillez une ressource Elastic Beanstalk avec EventBridge
Avec EventBridge, vous pouvez créer des règles qui définissent les actions à entreprendre lorsqu'Elastic Beanstalk émet des événements pour ses ressources. Par exemple, vous pouvez créer une règle qui vous envoie un e-mail chaque fois que l'état d'un environnement change.
La EventBridge console dispose d'une option de modèle prédéfinie pour créer des modèles d'événements Elastic Beanstalk. Si vous sélectionnez cette option dans la EventBridge console lorsque vous créez une règle, vous pouvez créer rapidement un modèle d'événement Elastic Beanstalk. Il suffit de sélectionner les champs et les valeurs de l'événement. Au fur et à mesure que vous effectuez des sélections, la console crée et affiche le modèle d'événement. Vous pouvez également modifier manuellement le modèle d'événement que vous créez et pouvez l'enregistrer en tant que modèle personnalisé. La console vous fournit également l'option d'afficher un Sample Event (Exemple d'événement) détaillé que vous pouvez copier et coller dans le modèle d'événement que vous créez.
Si vous préférez taper ou copier-coller un modèle d'événement dans la EventBridge console, vous pouvez choisir d'utiliser l'option Modèle personnalisé dans la console. Ce faisant, vous n'avez pas besoin de suivre les étapes de sélection des champs et des valeurs décrites précédemment. Cette rubrique propose des exemples de modèles de correspondance d'événements et d'événements Elastic Beanstalk que vous pouvez utiliser.
Pour créer une règle pour un événement de ressource
-
Connectez-vous à AWS l'aide d'un compte autorisé à utiliser Elastic EventBridge Beanstalk.
Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/
. -
Dans le volet de navigation, choisissez Règles.
-
Choisissez Créer une règle.
-
Entrez un nom et éventuellement une description pour la règle.
-
Pour Event bus (Bus d’événement), choisissez default (défaut). Lorsqu'un AWS service de votre compte émet un événement, celui-ci est toujours redirigé vers le bus d'événements par défaut de votre compte.
-
Pour Type de règle, choisissez Règle avec un modèle d’événement.
-
Choisissez Suivant.
-
Dans Source de l'événement, choisissez AWS des événements ou des événements EventBridge partenaires.
(Facultatif) Dans Exemple d'événement, sélectionnez AWS événements. Saisissez Elastic Beanstalk dans le champ de recherche. Cela fournit une liste d'exemples d'événements Elastic Beanstalk que vous pouvez choisir d'afficher. Cette étape affiche simplement un exemple d'événement que vous pouvez référencer. Cela n'affecte pas le résultat de la création de la règle. La section Exemple d'événement Elastic Beanstalk plus loin dans cette rubrique vous permet d'avoir des exemples du même type d'événement.
-
Dans la section Event pattern (Modèle d'événement), choisissez Event pattern form (Modèle d'événement).
Note
Si vous avez déjà du texte pour un modèle d'événement et que vous n'avez pas besoin de la EventBridge console pour le créer, sélectionnez Modèle personnalisé (éditeur JSON). Vous pouvez ensuite saisir ou copier et coller manuellement du texte dans la zone Event Pattern (Modèle d'événement). Choisissez Next (Suivant), puis passez à l'étape relative à la saisie d'une cible.
-
Pour Source d'événement, choisissez Services AWS .
-
Pour le AWS service, sélectionnez Elastic Beanstalk.
-
Pour Event type (Type d'événement), sélectionnez Statut Change (Changement de statut).
-
Cette étape explique comment utiliser les champs d'événement detail type (type de détail), statut (état) et severity (gravité) pour Elastic Beanstalk. Au fur et à mesure que vous sélectionnez ces champs et les valeurs de votre choix, la console crée et affiche le modèle d'événement.
-
Si vous sélectionnez une seule valeur pour le ou les types de détails spécifiques, vous pouvez choisir une ou plusieurs valeurs pour le champ suivant de la hiérarchie.
-
Si vous choisissez plusieurs valeurs pour des types de détails spécifiques, ne choisissez pas de valeurs spécifiques pour les champs suivants de la hiérarchie. Cela permet d'avoir une logique de correspondance ambiguë entre les champs de votre modèle d'événement.
Le champ d'événement environment (environnement) n'est pas affecté par cette hiérarchie, il s'affiche comme décrit à l'étape suivante.
-
-
Pour l'environment, sélectionnez Any environment (N'importe quel environnement) ou Specific environment(s) (Environnement(s) spécifique(s)).
-
Si vous sélectionnez Environnement (s) spécifique (s), vous pouvez choisir un ou plusieurs environnements dans la liste déroulante. EventBridge ajoute tous les environnements que vous sélectionnez dans la liste EnvironmentName[] de la section détaillée du modèle d'événement. Ensuite, votre règle filtre tous les événements pour inclure uniquement les environnements spécifiques que vous sélectionnez.
-
Si vous sélectionnez Any environment (N'importe quel environnements), aucun environnement n'est ajouté à votre modèle d'événement. Pour cette raison, votre règle ne filtre aucun des événements Elastic Beanstalk en se basant sur l'environnement.
-
-
Choisissez Suivant.
-
Pour Types de cibles, choisissez service AWS .
-
Pour Select a target (Sélectionner une cible), choisissez l'action cible à effectuer lorsqu'un événement de changement d'état de ressource est reçu de la part d'Elastic Beanstalk.
Par exemple, vous pouvez utiliser une rubrique Amazon Simple Notification Service (SNS) pour envoyer un e-mail ou un SMS lorsqu'un événement se produit. Pour ce faire, vous devez créer une rubrique Amazon SNS à l'aide de la console Amazon SNS. Pour en savoir plus, veuillez consulter Utilisation d'Amazon SNS pour les notifications utilisateur.
Important
Certaines actions cibles peuvent nécessiter l'utilisation d'autres services entraînant des frais supplémentaires, tels que le service Amazon SNS ou Lambda. Pour plus d'informations sur la AWS tarification, consultezhttps://aws.amazon.com/pricing/
. Certains services font partie du niveau d'utilisation AWS gratuit. Si vous êtes un nouveau client, vous pouvez essayer ces services gratuitement. Pour plus d’informations, consultez https://aws.amazon.com/free/ . -
(Facultatif) Sélectionnez Add another target (Ajouter une autre cible) pour spécifier une action cible supplémentaire pour la règle d'événement.
-
Choisissez Suivant.
-
(Facultatif) Saisissez une ou plusieurs balises pour la règle. Pour plus d'informations, consultez les EventBridge balises Amazon dans le guide de EventBridge l'utilisateur Amazon.
-
Choisissez Suivant.
-
Consultez les détails de la règle et choisissez Create rule (Créer une règle).
Exemple de modèles d'événements Elastic Beanstalk
Les modèles d’événements ont la même structure que les événements auxquels ils correspondent. Le modèle place entre guillemets les champs que vous voulez faire correspondre et fournit les valeurs que vous recherchez.
-
Health status change (Changement de l'état de santé) pour tous les environnements
{ "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Health status change" ] }
-
Health status change (Changement de l'état de santé) pour les environnements suivants :
myEnvironment1
etmyEnvironment2
. Ce modèle d'événement filtre pour ces deux environnements spécifiques, tandis que l'exemple précédent de Health status change (Changement de l'état de santé) qui ne filtre pas envoie des événements pour tous les environnements.{"source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Health status change" ], "detail": { "EnvironmentName": [ "myEnvironment1", "myEnvironment2" ] } }
-
Elastic Beanstalk resource status change (Changement de l'état de santé des ressources Elastic Beanstalk) pour tous les environnements
{ "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Elastic Beanstalk resource status change" ] }
-
Elastic Beanstalk resource status change (Changement de l'état de ressource Elastic Beanstalk) avec
Status
Environment update failed (Échec de la mise à jour d'environnement) etSeverity
ERROR (ERREUR) pour les environnements suivants :myEnvironment1
etmyEnvironment2
{"source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Elastic Beanstalk resource status change" ], "detail": { "Status": [ "Environment update failed" ], "Severity": [ "ERROR" ], "EnvironmentName": [ "myEnvironment1", "myEnvironment2" ] } }
-
Other resource status change (Autre changement d'état des ressources) pour les équilibreurs de charge, les groupes Auto Scaling et les instances
{ "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Other resource status change" ] }
-
Managed update status change (Changement d'état des mises à jour gérées) pour tous les environnements
{ "source": [ "aws.elasticbeanstalk" ], "detail-type": [ "Managed update status change" ] }
-
Pour capturer tous les événements à partir d'Elastic Beanstalk, excluez la section
detail-type
:{ "source": [ "aws.elasticbeanstalk" ] }
Exemple d'événement Elastic Beanstalk
Voici un exemple d'événement Elastic Beanstalk pour un changement d'état de ressource :
{
"version":"0",
"id":"1234a678-1b23-c123-12fd3f456e78",
"detail-type":"Elastic Beanstalk resource status change",
"source":"aws.elasticbeanstalk",
"account":"111122223333",
"time":"2020-11-03T00:31:54Z",
"region":"us-east-1",
"resources":[
"arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
],
"detail":{
"Status":"Environment creation started",
"EventDate":1604363513951,
"ApplicationName":"myApplication",
"Message":"createEnvironment is starting.",
"EnvironmentName":"myEnvironment",
"Severity":"INFO"
}
}
Voici un exemple d'événement Elastic Beanstalk pour un changement d'état de santé :
{
"version":"0",
"id":"1234a678-1b23-c123-12fd3f456e78",
"detail-type":"Health status change",
"source":"aws.elasticbeanstalk",
"account":"111122223333",
"time":"2020-11-03T00:34:48Z",
"region":"us-east-1",
"resources":[
"arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
],
"detail":{
"Status":"Environment health changed",
"EventDate":1604363687870,
"ApplicationName":"myApplication",
"Message":"Environment health has transitioned from Pending to Ok. Initialization completed 1 second ago and took 2 minutes.",
"EnvironmentName":"myEnvironment",
"Severity":"INFO"
}
}
Mappage des champs d'événement Elastic Beanstalk
Le tableau suivant associe les champs d'événements Elastic Beanstalk et leurs valeurs de chaîne possibles au champ. EventBridge detail-type
Pour plus d'informations sur le EventBridge fonctionnement des modèles d'événements pour un service, consultez la section Événements et modèles d'événements dans EventBridge.
EventBridge type de détail du champ | Champ Elastic Beanstalk Status | Champ Elastic Beanstalk Severity | Champ Elastic Beanstalk Message |
---|---|---|---|
Elastic Beanstalk resource status change |
Environment creation started |
INFO |
createEnvironment is starting. |
Environment creation successful |
INFO |
createEnvironment completed successfully. |
|
Environment creation successful |
INFO |
Launched environment: <Environment Name>. However, there were issues during launch. See event log for details. |
|
Environment creation failed |
ERROR |
Failed to launch environment. |
|
Environment update started |
INFO |
Environment update is starting. |
|
Environment update successful |
INFO |
Environment update completed successfully. |
|
Environment update failed |
ERROR |
Failed to deploy configuration. |
|
Environment termination started |
INFO |
terminateEnvironment is starting. |
|
Environment termination successful |
INFO |
terminateEnvironment completed successfully. |
|
Environment termination failed |
INFO |
The environment termination step failed because at least one of the environment termination workflows failed. |
|
Other resource status change |
Auto Scaling group created |
INFO |
createEnvironment is starting. |
Auto Scaling group deleted |
INFO |
createEnvironment is starting. |
|
Instance added |
INFO |
Added instance [i-123456789a12b1234] to your environment. |
|
Instance removed |
INFO |
Removed instance [i-123456789a12b1234] from your environment. |
|
Load balancer created |
INFO |
Created load balancer named: <LB Name> |
|
Load balancer deleted |
INFO |
Deleted load balancer named: <LB Name> |
|
Health status change |
Environment health changed |
INFO/WARN |
Environment health has transitioned to <healthStatus>. |
Environment health changed |
INFO/WARN |
Environment health has transitioned from <healthStatus> to <healthStatus>. |
|
Managed update status change |
Managed updated started |
INFO |
Managed platform update is in-progress. |
Managed update failed |
INFO |
Managed update failed, retrying in %s minutes. |