Journalisation de la sortie d'actions Automation avec CloudWatch Logs - AWS Systems Manager

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.

Journalisation de la sortie d'actions Automation avec CloudWatch Logs

Automation, une fonctionnalité de AWS Systems Manager, s'intègre à Amazon CloudWatch Logs. Vous pouvez envoyer la sortie depuis des actions aws:executeScript dans vos runbooks vers le groupe de journaux que vous spécifiez. Systems Manager ne crée pas de groupe ou de flux de journaux pour les documents qui n'utilisent pas d'actions aws:executeScript. Si le document utilise aws:executeScript, la sortie envoyée à CloudWatch Logs concerne uniquement ces actions. Vous pouvez utiliser la sortie de l'action aws:executeScript stockée dans votre groupe de journaux CloudWatch Logs à des fins de débogage et de dépannage. Si vous sélectionnez un groupe de journaux chiffré, la sortie de l'action aws:executeScript est elle aussi chiffrée. La journalisation de la sortie d'actions aws:executeScript est un paramètre au niveau du compte.

Pour envoyer une sortie d'action à CloudWatch Logs pour les runbooks appartenant à Amazon, le rôle ou l'utilisateur qui exécute l'automatisation doit disposer d'une autorisation pour les opérations suivantes :

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

Pour les runbooks que vous possédez, les mêmes autorisations doivent être ajoutées à la fonction du service IAM (ou AssumeRole) que vous utilisez pour exécuter le runbook.

Pour envoyer une sortie d'action à CloudWatch Logs (console)
  1. Ouvrez la console AWS Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation de gauche, sélectionnez Automation (Automatisation).

  3. Sélectionnez l'onglet Préférences, puis Modifier.

  4. Cochez la case en regard de Envoyer la sortie à CloudWatch Logs.

  5. (Recommandé) Cochez la case en regard de Chiffrer des données de journaux. Une fois cette option activée, les données de journaux sont chiffrées à l'aide du chiffrement côté serveur des clés spécifiées pour le groupe de journaux. Si vous ne voulez pas chiffrer les données de journaux qui sont envoyées à CloudWatch Logs, décochez la case. Décochez la case si le chiffrement n'est pas autorisé sur le groupe de journaux.

  6. Groupe de journaux CloudWatch Logs : pour spécifier le groupe de journaux CloudWatch Logs existant dans votre Compte AWS, auquel vous voulez envoyer une sortie d'action, sélectionnez l'une des options suivantes :

    • Send output to the default log group (Envoyer la sortie au groupe de journaux par défaut) : si le groupe de journaux par défaut n'existe pas (/aws/ssm/automation/executeScript), Automation le crée pour vous.

    • Choose from a list of log groups (Choisir un groupe de journaux dans la liste) : utilisez un groupe de journaux qui a déjà été créé dans votre compte pour stocker les sorties d'action.

    • Enter a log group name (Saisir un nom de groupe de journaux dans la zone de texte) : saisissez le nom d'un groupe de journaux qui a déjà été créé dans votre compte pour stocker les sorties d'action.

  7. Sélectionnez Enregistrer.

Pour envoyer une sortie d'action à CloudWatch Logs (ligne de commande)
  1. Ouvrez votre outil de ligne de commande préféré et exécutez la commande suivante pour mettre à jour la destination de sortie de l'action.

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination \ --setting-value CloudWatch
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination ^ --setting-value CloudWatch
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination" ` -SettingValue "CloudWatch"

    Il n'y a pas de sortie si la commande réussit.

  2. Exécutez la commande suivante pour spécifier le groupe de journaux auquel vous voulez envoyer une sortie d'action.

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name \ --setting-value my-log-group
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name ^ --setting-value my-log-group
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name" ` -SettingValue "my-log-group"

    Il n'y a pas de sortie si la commande réussit.

  3. Exécutez la commande suivante pour afficher les paramètres de service actuels pour les préférences de journalisation des actions Automation dans les Compte AWS et Région AWS actuels.

    Linux & macOS
    aws ssm get-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
    Windows
    aws ssm get-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
    PowerShell
    Get-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination"

    La commande renvoie des informations telles que les suivantes.

    {
        "ServiceSetting": {
            "Status": "Customized",
            "LastModifiedDate": 1613758617.036,
            "SettingId": "/ssm/automation/customer-script-log-destination",
            "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/User_1",
            "SettingValue": "CloudWatch",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/automation/customer-script-log-destination"
        }
    }