Come posso risolvere gli errori nei test di connessione degli endpoint Amazon S3 quando uso AWS DMS?

4 minuti di lettura
0

Uso Amazon Simple Storage Service (Amazon S3) come endpoint di origine o di destinazione per la mia attività su AWS Database Migration Service (AWS DMS). Ho ricevuto un messaggio di errore perché il mio test di connessione all'endpoint non è riuscito.

Breve descrizione

È necessario disporre delle autorizzazioni corrette configurate per il ruolo AWS Identity and Access Management (IAM) che utilizza l'endpoint Amazon S3. Se non disponi delle autorizzazioni corrette, vedrai una di queste voci:

Messaggio:

  • Test Endpoint non riuscito: Stato della domanda: 1020912, messaggio di candidatura: Connessione all'endpoint S3 non riuscita. Accesso negato.
  • Test Endpoint non riuscito: Stato della domanda: 1020912, messaggio di candidatura: Impossibile elencare il bucket wan-dms Connessione al database non riuscita., Application-Detailed-Message: impossibile elencare il bucket wan-dms AWS non è riuscito a elencare il bucket Elenco bucket non riuscito con l'eccezione 'AccessDenied', messaggio 'Accesso negato', tipo di errore '15' AWS non è riuscito a elencare il bucket Errore Non recuperabile: Accesso negato
  • Test Endpoint non riuscito: Stato della domanda: 1020912, messaggio di candidatura: Connessione al database non riuscita.
  • Dettagli dell'errore: [message=putDatabase call failed, errType=ERROR_RESPONSE, status=1020414, errMessage= Failed to connect to database., errDetails=]

Risoluzione

Nota: Quando utilizzi Amazon S3 come origine o destinazione per AWS DMS, assicurati di leggere prima i seguenti articoli:

Per risolvere questi errori, concedi le autorizzazioni IAM minime necessarie per accedere all'endpoint Amazon S3. Gli endpoint di origine e destinazione di Amazon S3 hanno autorizzazioni minime diverse per AWS DMS.

Guarda questo esempio di policy IAM per un endpoint sorgente Amazon S3:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::awsexamplebucket",
        "arn:aws:s3:::awsexamplebucket/*"
      ]
    }
  ]
}

Nota: Sostituisci awsexamplebucket con il tuo nome di bucket.

Guarda questo esempio di policy IAM per Amazon S3 come endpoint di destinazione:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::awsexamplebucket/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::awsexamplebucket"
      ]
    }
  ]
}

Nota: Sostituisci awsexamplebucket con il tuo nome di bucket.

Risoluzione degli errori relativi alle autorizzazioni

1.Verifica che il ruolo IAM disponga delle autorizzazioni minime richieste per accedere all'endpoint Amazon S3.

2.Verifica che il nome del bucket specificato per l'endpoint Amazon S3 corrisponda alla risorsa consentita nel ruolo IAM. Ad esempio, il ruolo IAM consente l'accesso a un solo bucket, come awsexamplebucket nella precedente policy di esempio. Ma se awsexamplebucket2 è specificato nel nome del bucket dell'endpoint Amazon S3, la connessione di test fallisce.

3.Conferma che dms.amazonaws.com è l'entità affidabile associata al ruolo IAM. Per ulteriori informazioni, consulta Modifica della relazione di fiducia per un ruolo esistente e questo esempio di policy di fiducia per AWS DMS:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "dms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

4.Se utilizzi AWS Organizations, conferma che il ruolo IAM utilizzato faccia parte di un'organizzazione che consente l'accesso ad Amazon S3. Se la tua organizzazione non consente l'accesso, AWS DMS non può connettersi all'endpoint Amazon S3 utilizzando quel ruolo IAM. Questo è il caso anche se il ruolo dispone di tutte le autorizzazioni richieste. Se la tua organizzazione non consente l'accesso, contatta l'amministratore del tuo account per consentire ad Amazon S3 l'accesso alla tua organizzazione.

5.Se la versione dell'istanza di replica è 3.4.7 o superiore, esegui una delle seguenti azioni:

Rendi le sottoreti delle istanze di replica indirizzabili pubblicamente. Aggiungi un percorso Internet Gateway (IGW) al VPC utilizzato dalla tua istanza di replica AWS DMS.

        -oppure-

Crea endpoint VPC in modo che la tua istanza di replica possa accedere a tutti gli endpoint di origine e destinazione utilizzati da AWS DMS. Per ulteriori informazioni, consulta Preparare una migrazione verso le versioni 3.4.7 e successive di AWS DMS.


Informazioni correlate

Come posso risolvere i problemi di connettività degli endpoint di AWS DMS?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa