Pourquoi ma tâche AWS Glue n'écrit-elle pas des journaux sur Amazon CloudWatch ?

Lecture de 4 minute(s)
0

Ma tâche d'extraction, de chargement et de transformation (ETL) AWS Glue n'écrit pas des journaux sur Amazon CloudWatch.

Brève description

Si vos tâches AWS Glue ne transfèrent pas de journaux à CloudWatch, vérifiez les points suivants :

  • Assurez-vous que votre tâche AWS Glue dispose de toutes les autorisations AWS Identity and Access Management (IAM) obligatoires.
  • Assurez-vous que la clé AWS Key Management Service (AWS KMS) autorise le service CloudWatch Logs à utiliser la clé.
  • Assurez-vous que l'autorisation IAM Logs:AssociateKMSKey est attachée au rôle AWS Glue.
  • Si vous n'avez pas activé la journalisation continue pour votre tâche ETL AWS Glue Spark, vérifiez la validation de la tâche avant l'agrégation du journal.
  • Assurez-vous de vérifier le bon groupe de journaux CloudWatch.

Résolution

Le rôle de tâche AWS Glue ne dispose pas des autorisations IAM pour créer et écrire sur le groupe de journaux CloudWatch.

Si vous n'utilisez pas la politique de gestion AWSGlueServiceRole, assurez-vous que le rôle IAM associé à la tâche ETL dispose des autorisations exigées suivantes pour interagir avec CloudWatch. Si la tâche utilise un groupe de journaux personnalisé, la politique IAM doit fournir un accès au groupe de journaux personnalisé.

{
    "Effect": "Allow",
    "Action": "cloudwatch:PutMetricData",
    "Resource": [
        "*"
    ]
},
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
    ],
    "Resource": [
        "arn:aws:logs:*:*:/aws-glue/*",
        "arn:aws:logs:*:*:/customlogs/*"
    ]
}

Assurez-vous de remplacer arn:aws:logs:*:*:/customlogs/* par l'ARN du groupe de journaux personnalisé.

La clé AWS KMS utilisée n'accorde pas les autorisations exigées au service CloudWatch Logs.

Si vous utilisez des configurations de sécurité avec votre tâche AWS Glue, assurez-vous que la clé AWS KMS attachée à la configuration de sécurité autorise le service CloudWatch Logs à utiliser la clé. Attachez la politique suivante à la clé AWS KMS :

{
    "Effect": "Allow",
    "Principal": {
        "Service": "logs.region.amazonaws.com"
    },
    "Action": [
        "kms:Encrypt*",
        "kms:Decrypt*",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:Describe*"
    ],
    "Resource": "*",
    "Condition": {
        "ArnEquals": {
            "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-west-2:1111222233334444:log-group:log-group-name"
        }
    }
}

Assurez-vous de remplacer ce qui suit dans la politique :

  • us-west-2 par la région AWS de votre choix.
  • 1111222233334444 par l'ID de votre compte AWS.
  • log-group-name avec le nom de votre groupe de journaux.

Pour plus d'informations, consultezChiffrer les données des journaux dans CloudWatch Logs à l'aide d'AWS Key Management Service.

Assurez-vous également que l'autorisation IAM logs:AssociateKmsKey est associée au rôle AWS Glue. Pour plus d'informations, consultez Configuration de la sécurité avec journalisation continue.

La journalisation continue n'est pas activée pour votre tâche ETL AWS Glue Spark

Si vous n'avez pas activé la journalisation continue pour votre tâche ETL AWS Glue Spark, l'agrégation des journaux se produit une fois l'exécution de la tâche effectuée. Si la tâche échoue avant l'agrégation des journaux, il se peut que les journaux ne soient pas transférés vers CloudWatch. Pour vous assurer que les journaux sont renseignés indépendamment des échecs d'applications, vous pouvez activer la journalisation continue pour vos tâches AWS Glue.

Vous recherchez les journaux dans le mauvais groupe de journaux

Gardez à l'esprit les points suivants lorsque vous recherchez des CloudWatch Logs :

  • Si vous avez activé la journalisation continue et utilisez les groupes de journaux par défaut, les messages personnalisés comme ceux provenant d'instructions d'impression sont transférés vers le groupe de journaux /aws-glue/jobs/output.
  • Si vous avez activé la journalisation continue et utilisez les groupes de journaux par défaut, les messages émis par les enregistreurs sont transférés dans les journaux des pilotes sous /aws-glue/jobs/logs-v2.
  • Si vous avez activé la journalisation continue et utilisez les groupes de journaux par défaut, les tâches utilisant des configurations de sécurité transfèrent des messages personnalisés vers /aws-glue/jobs/logs-v2-testconfig. Assurez-vous de remplacer testconfig par le nom de la configuration de sécurité.
  • Si vous avez activé la journalisation continue et utilisez des groupes de journaux personnalisés, vous trouverez les messages de journaux personnalisés ainsi que les journaux du pilote et de l'exécuteur sous le groupe de journaux personnalisé.
  • Si vous n'avez pas activé la journalisation continue, vous trouverez probablement des messages comme les notes d'instruction d'impression sous /aws-glue/jobs/output et tous les messages personnalisés des enregistreurs de journaux sous /aws-glue/jobs/error.

Pour plus d'informations, consultez Comportement de journalisation.


Informations connexes

Journalisation et surveillance dans AWS Glue

Exécution et surveillance d'AWS Glue

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans