Come faccio a risolvere i problemi relativi ai segreti di AWS Secrets Manager in Amazon ECS?

5 minuti di lettura
0

Quando provo a inserire un'attività che utilizza i segreti di AWS Secrets Manager in Amazon Elastic Container Services (Amazon ECS), ricevo un errore.

Breve descrizione

Quando non riesci a inserire un'attività con un segreto di Secrets Manager in Amazon ECS, potresti ricevere uno dei seguenti errori:

"ResourceInitializationError error on AWS Fargate AccessDenied error on Amazon Elastic Compute Cloud (Amazon EC2)" (Errore ResourceInitializationError su AWS Fargate. Errore di accesso negato su Amazon Elastic Compute Cloud (Amazon EC2)).

"The task is unable to retrieve secrets from Secrets Manager and fails." (L'attività non è in grado di recuperare i segreti da Secrets Manager e fallisce).

Questi messaggi di errore vengono visualizzati per uno dei seguenti motivi:

  • Il ruolo di esecuzione delle attività di Amazon ECS non dispone delle autorizzazioni necessarie per accedere ai segreti di Secrets Manager.
  • Secrets Manager non riesce a trovare il segreto specificato.
  • Il nome del segreto termina con un trattino seguito da sei caratteri. Ciò restituisce risultati inattesi quando si cerca un segreto utilizzando un ARN parziale.
  • Ci sono problemi con la configurazione di rete Amazon Virtual Private Cloud (Amazon VPC).

Per risolvere gli errori relativi al mancato avvio di attività Amazon ECS, usa il runbook AWSSupport-TroubleshootECSTaskFailedToStart. Quindi, completa i passaggi corrispondenti per la risoluzione dei problemi.

Risoluzione

Importante:

  • Usa il runbook AWSSupport-TroubleshootECSTaskFailedToStart nella stessa Regione AWS in cui si trovano le risorse del cluster ECS.
  • Quando utilizzi il runbook, devi usare l'ID dell'ultima attività non riuscita. Se l'attività non riuscita fa parte di un servizio Amazon ECS, utilizza l'ultima attività non riuscita del servizio. L'attività non riuscita deve essere visibile in ECS:DescribeTasks durante l'esecuzione dell'automazione. Per impostazione predefinita, le attività ECS interrotte sono visibili per 1 ora dopo l'immissione nello stato Interrotto. L'utilizzo dell'ID dell'ultima attività non riuscita impedisce che la pulizia dello stato dell'attività interrompa l'analisi durante l'automazione.

Per istruzioni su come avviare il runbook, consulta AWSSupport-TroubleshootECSTaskFailedToStart. In base all'output dell'automazione, utilizza una delle seguenti procedure manuali per la risoluzione dei problemi.

Verifica che il ruolo di esecuzione delle attività ECS disponga delle autorizzazioni richieste

  1. Apri la console IAM.
  2. Nel riquadro di navigazione, scegliRuoli.
  3. Cerca nell'elenco dei ruoli quello di esecuzione delle attività utilizzato dalle tue attività ECS.
  4. Conferma che il ruolo di esecuzione dell'attività disponga delle autorizzazioni necessarie per accedere alla risorsa Secrets Manager necessaria.

Verifica che il segreto di Secrets Manager esista

  1. Apri la console Secrets Manager.
  2. Nella pagina Elenco segreti, scegli il segreto utilizzato dalle tue attività ECS.
  3. Verifica che la definizione dell'attività ECS includa questi nomi segreti specifici. Se hai specificato parametri aggiuntivi nel segreto, verifica che la definizione dell'attività includa json-key/version-stage/version-id specificato nel segreto.

Controlla il nome e l'ARN del segreto di Secrets Manager

Controlla se il tuo nome segreto termina con un trattino seguito da sei caratteri (esempio: myappsecret-xxxxxx). Secrets Manager aggiunge automaticamente un trattino e sei caratteri casuali dopo il nome segreto alla fine dell'ARN. Pertanto, è consigliabile non terminare il nome del segreto con un trattino seguito da sei caratteri. Ciò potrebbe restituire risultati inattesi quando si cerca un segreto utilizzando un ARN parziale. Per risolvere questo problema, assicurati di utilizzare gli ARN completi, inclusi il trattino aggiuntivo e i sei caratteri, dei segreti di Secrets Manager.

Verifica che la configurazione di rete VPC consenta alla tua infrastruttura Amazon ECS di raggiungere Secrets Manager

Crea gli endpoint VPC di interfaccia per Secrets Manager quando si verificano le seguenti condizioni:

  • Stai utilizzando una definizione di attività che fa riferimento ai segreti di Secrets Manager per recuperare dati sensibili per i tuoi container.
  • Stai utilizzando endpoint VPC di interfaccia.

Inoltre, assicurati che i gruppi di sicurezza per i tuoi endpoint VPC consentano all'infrastruttura ECS di utilizzare questi endpoint.

Per verificare se l'endpoint VPC per Secrets Manager esiste, procedi in questo modo:

  1. Apri la console Amazon VPC.
  2. Nel riquadro di navigazione, scegli Endpoint.
  3. Assicurati che l'endpoint VPC com.amazonaws.example-region.secretsmanager per Secrets Manager sia presente nell'elenco degli endpoint.
  4. Seleziona l'endpoint dal relativo elenco, quindi scegli la scheda Sottoreti. Assicurati che le sottoreti di questo endpoint includano quelle utilizzate dalla tua attività ECS.
    Nota: Se non è elencata alcuna sottorete, scegli Gestisci sottoreti. Seleziona la sottorete in base alla relativa zona di disponibilità, quindi scegli Modifica sottoreti.

Per confermare che il gruppo di sicurezza collegato all'endpoint com.amazonaws.example-region.secretsmanager consenta le connessioni in entrata sulla porta 443 dalle attività di Amazon ECS, procedi in questo modo:

  1. Seleziona l'endpoint dal relativo elenco.
  2. Scegli la scheda Gruppi di sicurezza.
  3. Scegli l'ID del gruppo per il gruppo di sicurezza che desideri controllare.
  4. Scegli la scheda Regole in entrata.
  5. Verifica che l'elenco delle regole in entrata includa una regola che consenta le connessioni alla porta 443 dalle tue attività ECS.

Informazioni correlate

Come faccio a trasmettere informazioni segrete o sensibili in modo sicuro ai container in un'attività Amazon ECS?

Risoluzione dei problemi di AWS Secrets Manager