Envoyer les journaux Amazon ECS à un AWS service ou AWS Partner - Amazon Elastic Container Service

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, veuillez consulter AWS Partner. FireLens fonctionne avec Fluentd et Fluent Bit. Nous fournissons l'image AWS pour Fluent Bit ou vous pouvez utiliser votre propre image Fluentd ou Fluent Bit.

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 par défaut une dépendance relative à l'ordre des conteneurs de démarrage entre les conteneurs d'applications et le FireLens conteneur. Lorsque vous spécifiez un ordre de conteneur entre les conteneurs d'applications et le FireLens conteneur, l'ordre de conteneur de départ par défaut est remplacé.

  • FireLenspour Amazon ECS est pris en charge pour les tâches hébergées à la fois AWS Fargate sur Linux et sur Amazon EC2 sous Linux. Les conteneurs Windows ne prennent pas en charge 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 des AWS CloudFormation modèles pour configurer FireLens Amazon ECS. Pour plus d'informations, voir AWS::ECS::TaskDefinition FirelensConfigurationle guide de AWS CloudFormation l'utilisateur

  • FireLensécoute sur le port24224. 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 port 24224 du groupe de sécurité utilisé par votre tâche. Pour les tâches utilisant le mode réseau awsvpc, il s'agit du groupe de sécurité associé à la tâche. Pour les tâches utilisant le mode réseau host, il s'agit du groupe de sécurité associé à l'instance Amazon EC2 qui héberge la tâche. Pour les tâches utilisant le mode réseau bridge, ne créez pas de mappages de ports utilisant le port 24224.

  • 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 plus d’informations, consultez 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 condition START or.

  • Par défaut, FireLens ajoute le nom de définition du cluster et de la tâche et l'Amazon Resource Name (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 sur falsedans la section firelensConfiguration 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:PutRecordBatchAPI. 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 plus d’informations, consultez 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:GetObjectautorisation.

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.