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.
Envoyer les journaux Amazon ECS à un AWS service ou AWS Partner
Vous pouvez utiliser Amazon ECS FireLens pour utiliser les paramètres de définition des tâches pour acheminer les journaux vers un AWS
service ou une destination AWS Partner Network (APN) à des fins de stockage et d'analyse des journaux. AWS Partner Network Il s'agit d'une communauté mondiale de partenaires qui tire parti des programmes, de l'expertise et des ressources pour créer, commercialiser et vendre des offres aux clients. Pour plus d'informations, voir AWS Partner
Par défaut, Amazon ECS configure la dépendance du conteneur afin que le conteneur Firelens démarre avant tout conteneur qui l'utilise. Le conteneur Firelens s'arrête également une fois que tous les conteneurs qui l'utilisent s'arrêtent.
Tenez compte des points suivants lors de l'utilisation FireLens pour Amazon ECS :
-
Nous vous recommandons de l'
my_service_
ajouter au nom du conteneur du journal afin de pouvoir facilement le distinguer dans la console. -
Amazon ECS ajoute une dépendance relative à l'ordre des conteneurs de démarrage entre les conteneurs d'applications et le FireLens conteneur par défaut. Lorsque vous spécifiez un ordre de conteneur entre les conteneurs d'applications et le FireLens conteneur, puis l'ordre du conteneur de départ par défaut est remplacé.
-
FireLens pour Amazon ECS est pris en charge pour les tâches hébergées à la fois AWS Fargate sur Linux et EC2 sur Amazon on Linux. Les conteneurs Windows ne sont pas compatibles FireLens.
Pour plus d'informations sur la configuration de la journalisation centralisée pour les conteneurs Windows, consultez la section Journalisation centralisée pour les conteneurs Windows sur Amazon ECS à l'aide de Fluent Bit
. -
Vous pouvez utiliser AWS CloudFormation des modèles pour configurer FireLens pour Amazon ECS. Pour plus d'informations, voir AWS::ECS::TaskDefinition FirelensConfigurationle guide de AWS CloudFormation l'utilisateur
-
FireLens écoute sur le port
24224
. Pour vous assurer que le routeur de FireLens journaux n'est pas accessible en dehors de la tâche, vous ne devez pas autoriser le trafic entrant sur le port24224
du groupe de sécurité utilisé par votre tâche. Pour les tâches utilisant le mode réseauawsvpc
, il s'agit du groupe de sécurité associé à la tâche. Pour les tâches utilisant le modehost
réseau, il s'agit du groupe de sécurité associé à l' EC2 instance Amazon hébergeant la tâche. Pour les tâches utilisant le mode réseaubridge
, ne créez pas de mappages de ports utilisant le port24224
. -
Pour les tâches qui utilisent le mode
bridge
réseau, le conteneur contenant la FireLens configuration doit démarrer avant que les conteneurs d'applications qui en dépendent ne démarrent. Pour contrôler l'ordre de début de vos conteneurs, utilisez les conditions de dépendance dans la définition de tâche. Pour de plus amples informations, veuillez consulter Dépendances du conteneur.Note
Si vous utilisez des paramètres de condition de dépendance dans les définitions de conteneur avec une FireLens configuration, assurez-vous que chaque conteneur possède une exigence de
HEALTHY
conditionSTART
or. -
Par défaut, FireLens ajoute le nom du cluster et de la définition de la tâche ainsi que le nom de ressource Amazon (ARN) du cluster en tant que clés de métadonnées à vos journaux de conteneur stdout/stderr. Voici un exemple du format de métadonnées.
"ecs_cluster": "
cluster-name
", "ecs_task_arn": "arn:aws:ecs:region
:111122223333
:task/cluster-name
/f2ad7dba413f45ddb4EXAMPLE
", "ecs_task_definition": "task-def-name:revision",Si vous ne souhaitez pas que les métadonnées figurent dans vos journaux, définissez
enable-ecs-log-metadata
surfalse
dans la sectionfirelensConfiguration
de la définition de tâche."firelensConfiguration":{ "type":"fluentbit", "options":{ "enable-ecs-log-metadata":"false", "config-file-type":"file", "config-file-value":"/extra.conf" }
Pour utiliser cette fonctionnalité, vous devez créer un rôle IAM pour vos tâches qui fournit les autorisations nécessaires pour utiliser les AWS services requis par les tâches. Par exemple, si un conteneur achemine des journaux vers Firehose, la tâche nécessite l'autorisation d'appeler l'firehose:PutRecordBatch
API. Pour plus d'informations, consultez Ajout et suppression d'autorisations basées sur l'identité IAM dans le Guide de l'utilisateur IAM.
Votre tâche peut également nécessiter le rôle d'exécution de tâche Amazon ECS dans les conditions suivantes. Pour de plus amples informations, veuillez consulter Rôle IAM d'exécution de tâche Amazon ECS.
-
Si votre tâche est hébergée sur Fargate et que vous extrayez des images de conteneurs depuis Amazon ECR ou que vous faites référence à des données sensibles AWS Secrets Manager depuis votre configuration de journal, vous devez inclure le rôle IAM d'exécution de la tâche.
-
Lorsque vous utilisez un fichier de configuration personnalisé hébergé dans Amazon S3, votre rôle IAM d'exécution de tâches doit inclure l'
s3:GetObject
autorisation.
Pour plus d'informations sur l'utilisation de plusieurs fichiers de configuration avec Amazon ECS, y compris les fichiers que vous hébergez ou les fichiers dans Amazon S3, consultez Processus d'initialisation pour Fluent Bit on ECS, support multi-configurations