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, voir AWS Partner. FireLens fonctionne avec Fluentd and Fluent Bit. Nous fournissons le AWS pour Fluent Bit image ou vous pouvez utiliser la vôtre Fluentd or Fluent Bit image.

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 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 host 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é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 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 condition START 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 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 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: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.