Utiliser CloudWatch les journaux pour enregistrer l'historique des exécutions dans Step Functions - AWS Step Functions

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.

Utiliser CloudWatch les journaux pour enregistrer l'historique des exécutions dans Step Functions

Les flux de travail standard enregistrent l'historique d'exécution dans AWS Step Functions, mais vous pouvez éventuellement configurer la journalisation sur Amazon CloudWatch Logs.

Contrairement aux workflows standard, les workflows express n'enregistrent pas l'historique d'exécution dans AWS Step Functions. Pour consulter l'historique d'exécution et les résultats d'un flux de travail express, vous devez configurer la journalisation sur Amazon CloudWatch Logs. La publication des journaux ne bloque pas ou ne ralentit pas les exécutions.

Note

Lorsque vous configurez la journalisation, CloudWatch les frais de journalisation s'appliquent et vous serez facturé au tarif des journaux vendus. Pour plus d'informations, consultez la section Vended Logs sous l'onglet Logs de la page de CloudWatch tarification.

Configurer la journalisation

Lorsque vous créez un flux de travail standard à l'aide de la console Step Functions, celui-ci n'est pas configuré pour activer la journalisation dans CloudWatch Logs. Un flux de travail express créé à l'aide de la console Step Functions sera configuré par défaut pour activer la journalisation dans CloudWatch Logs.

Pour les flux de travail Express, Step Functions peut créer un rôle avec la politique nécessaire AWS Identity and Access Management (IAM) pour les CloudWatch journaux. Si vous créez un flux de travail standard ou un flux de travail express à l'aide de APICLI, ou AWS CloudFormation, Step Functions n'activera pas la journalisation par défaut et vous devrez vous assurer que votre rôle dispose des autorisations nécessaires.

Pour chaque exécution démarrée depuis la console, Step Functions fournit un lien vers CloudWatch les journaux, configuré avec le filtre approprié pour récupérer les événements de journal spécifiques à cette exécution.

Vous pouvez éventuellement configurer des AWS KMS clés gérées par le client pour chiffrer vos journaux. Consultez Chiffrement des données au repos pour plus de détails et les paramètres d'autorisation.

Pour configurer la journalisation, vous pouvez transmettre le LoggingConfigurationparamètre lorsque vous utilisez CreateStateMachineou UpdateStateMachine. Vous pouvez approfondir l'analyse de vos données dans CloudWatch Logs à l'aide de CloudWatch Logs Insights. Pour plus d'informations, voir Analyse des données de journal avec CloudWatch Logs Insights.

CloudWatch Enregistre les charges utiles

Les événements de l'historique d'exécution peuvent contenir des propriétés d'entrée ou de sortie dans leurs définitions. Si les entrées échappées ou les sorties échappées envoyées à CloudWatch Logs dépassent 248 Ko, elles seront tronquées en raison des quotas de CloudWatch Logs.

IAMPolitiques de connexion à CloudWatch Logs

Vous devrez également configurer le IAM rôle d'exécution de votre machine d'état pour disposer de l'autorisation appropriée pour vous connecter à CloudWatch Logs, comme indiqué dans l'exemple suivant.

IAMexemple de politique

Voici un exemple de stratégie que vous pouvez utiliser pour configurer vos autorisations. Comme le montre l'exemple suivant, vous devez spécifier * dans le Resource champ car les CloudWatch API actions telles que CreateLogDelivery et DescribeLogGroups ne prennent pas en charge les types de ressources définis par Amazon CloudWatch Logs. Pour plus d'informations, consultez la section Actions définies par Amazon CloudWatch Logs.

  • Pour plus d'informations sur CloudWatch les ressources, consultez la section CloudWatch LogsRessources et opérations dans le Guide de CloudWatch l'utilisateur Amazon.

  • Pour plus d'informations sur les autorisations dont vous avez besoin pour configurer l'envoi de CloudWatch journaux à Logs, consultez la section Autorisations utilisateur dans la section intitulée Journaux envoyés à CloudWatch Logs.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogStream", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
Impossible d'accéder aux CloudWatch journaux

Si vous ne parvenez pas à accéder aux CloudWatch journaux, assurez-vous d'avoir effectué les opérations suivantes :

  1. Configurez le IAM rôle d'exécution de votre machine d'état pour qu'il dispose de l'autorisation appropriée pour se connecter à CloudWatch Logs.

    Si vous utilisez les UpdateStateMachinedemandes CreateStateMachineou, assurez-vous d'avoir spécifié le IAM rôle dans le roleArn paramètre contenant les autorisations, comme indiqué dans l'exemple précédent.

  2. Coché, la politique de ressources CloudWatch Logs ne dépasse pas la limite de 5120 caractères pour les politiques de ressources CloudWatch Logs.

    Si vous avez dépassé la limite de caractères, supprimez les autorisations inutiles de la politique de ressources CloudWatch Logs ou préfixez le nom du groupe de journaux par un préfixe/aws/vendedlogs, ce qui accordera des autorisations au groupe de journaux sans ajouter de caractères supplémentaires à la politique de ressources. Lorsque vous créez un groupe de journaux dans la console Step Functions, les noms des groupes de journaux sont préfixés par/aws/vendedlogs/states. Pour de plus amples informations, veuillez consulter Éviter les restrictions de taille liées à la politique de ressources d'Amazon CloudWatch Logs.