Por que não consigo encontrar os logs de tarefas do DataSync no grupo de logs do CloudWatch?

3 minuto de leitura
0

Executei uma tarefa do AWS DataSync, mas não consigo encontrar os logs no grupo de logs do Amazon CloudWatch correspondente. Como faço para resolver isso?

Resolução

Confirme se o CloudWatch Logs tem uma política de recursos que permite que o DataSync faça upload de logs. Siga estas etapas para examinar as políticas de recursos do CloudWatch Logs na região da AWS do seu agente do DataSync:

Observação: se receber erros ao executar comandos da AWS CLI, verifique se você está usando a versão mais recente da AWS CLI.

1.    Execute o comando describe-resource-policies usando a AWS Command Line Interface (AWS CLI):

aws logs describe-resource-policies --region us-east-1

Observação: cada conta da AWS tem permissão para até 10 políticas de recursos por região para o CloudWatch Logs. Se você exceder esse limite, receberá uma mensagem de erro ao criar sua política de recursos.

2.    Examine a saída do comando. Se ainda não houver uma política de recursos configurada, a saída será semelhante ao seguinte:

{
  "resourcePolicies": []
}

Importante: confirme se a política de recursos do DataSync está habilitada na região da AWS correta. A política deve estar na mesma região do atendente do DataSync que você está usando.

Siga estas etapas para criar uma política de recursos que conceda permissões para o DataSync fazer upload de logs:

1.    Crie um arquivo JSON que conceda ao DataSync as permissões mínimas para fazer upload de logs:

{
  "Statement": [
    {
      "Sid": "DataSyncLogsToCloudWatchLogs",
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents",
        "logs:CreateLogStream"
      ],
      "Principal": {
        "Service": "datasync.amazonaws.com"
      },
      "Resource": "*"
    }
  ],
  "Version": "2012-10-17"
}

Você pode chamar o arquivo de policy.json.

2.    Execute o comando put-resource-policy usando a AWS CLI para criar uma política de recursos usando o arquivo JSON:

aws logs put-resource-policy --policy-name trustDataSync --policy-document file://policy.json --region <Region>

Importante: defina a região da AWS do agente do DataSync como valor de --region.

3.    Execute o comando describe-resource-policies para confirmar que a política de recursos foi criada:

aws logs describe-resource-policies --region <Region>

Observação: cada conta da AWS tem permissão para até 10 políticas de recursos por região para o CloudWatch Logs. Se você exceder esse limite, receberá uma mensagem de erro ao criar sua política de recursos. Use o comando put-resource-policy para confirmar se você atingiu o limite.

4.    Depois que você criar a política de recursos, a saída do comando será semelhante ao seguinte:

{
  "resourcePolicies": [
    {
      "policyName": "trustDataSync",
      "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"DataSyncLogsToCloudWatchLogs\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"datasync.amazonaws.com\"},\"Action\":[\"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\":\"*\"}]}",
      "lastUpdatedTime": 1577448776606
    }
  ]
}

5.    Para testar a política de recursos, execute uma tarefa do DataSync. Alguns minutos após a execução da tarefa, confirme se você está vendo o fluxo de logs do grupo de logs do CloudWatch correspondente.


Informações relacionadas

Visão geral do gerenciamento de permissões de acesso a seus recursos do CloudWatch Logs

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos