Perché non riesco a trovare i log delle attività di DataSync nel gruppo di log di CloudWatch?

3 minuti di lettura
0

Ho eseguito un'attività di AWS DataSync, ma non riesco a trovare i log nel gruppo di log Amazon CloudWatch pertinente. Come posso risolvere questo problema?

Risoluzione

Verifica che CloudWatch Logs disponga di una politica delle risorse che consente a DataSync di caricare i log. Segui questi passaggi per esaminare le politiche delle risorse di CloudWatch Logs nella regione AWS del tuo agente DataSync:

Nota: Se ricevi errori durante l'esecuzione dei comandi dell'interfaccia a riga di comando di AWS,assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

1.Esegui il comando describe-resource-policies utilizzando l'interfaccia a riga di comando AWS (AWS CLI):

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

Nota: A ogni account AWS sono consentite fino a 10 politiche di risorse per regione per CloudWatch Logs. Se superi questo limite, riceverai un messaggio di errore durante la creazione della politica delle risorse.

2.Rivedi l'output del comando. Se non è impostata una politica delle risorse, l'output è simile al seguente:

{
  "resourcePolicies": []
}

Importante: Verifica che la politica delle risorse per DataSync sia abilitata nella regione AWS corretta. La policy deve trovarsi nella stessa regione dell'agente DataSync che stai utilizzando.

Segui questi passaggi per creare una politica delle risorse che conceda a DataSync le autorizzazioni per il caricamento dei log:

1.Crea un file JSON che conceda a DataSync le autorizzazioni minime per il caricamento dei log:

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

Puoi denominare il file policy.json.

2.Esegui il comando put-resource-policy utilizzando l'interfaccia a riga di comando di AWS per creare una politica delle risorse utilizzando il file JSON:

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

Importante: Imposta la regione AWS del tuo agente DataSync come valore per --region.

3.Esegui il comando describe-resource-policies per confermare che la politica delle risorse è stata creata:

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

Nota: A ogni account AWS sono consentite fino a 10 politiche di risorse per regione per CloudWatch Logs. Se superi questo limite, ricevi un messaggio di errore durante la creazione della politica delle risorse. Usa il comando put-resource-policy per verificare se hai raggiunto il limite.

4.Dopo aver creato la politica delle risorse, l'output del comando è simile al seguente:

{
  "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.Per testare la politica delle risorse, esegui un'attività DataSync. Pochi minuti dopo l'esecuzione dell'operazione, conferma di visualizzare il flusso di log del gruppo di log di CloudWatch pertinente.


Informazioni correlate

Panoramica della gestione delle autorizzazioni di accesso alle risorse di CloudWatch Logs

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa