Come posso risolvere i problemi di connessione tra la mia attività Fargate e gli altri servizi AWS?

5 minuti di lettura
0

Desidero risolvere i problemi di connessione tra la mia attività AWS Fargate e un altro servizio AWS.

Breve descrizione

Le applicazioni eseguite all'interno di un'attività Fargate con Amazon Elastic Container Service (Amazon ECS) possono non accedere ad altri servizi AWS per i seguenti motivi:

  • Autorizzazioni AWS Identity and Access Management (IAM) insufficienti
  • Percorsi di sottorete errati
  • Restrizioni delle liste di controllo degli accessi alla rete (ACL)
  • Regole errate per i gruppi di sicurezza
  • Configurazioni errate degli endpoint Amazon Virtual Private Cloud (Amazon VPC)

Risoluzione

Nota: se ricevi errori durante l’esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Configura e utilizza ECS Exec

Utilizza ECS Exec per interagire con il container dell’applicazione dell’attività Fargate. Soddisfa i prerequisiti per utilizzare ECS Exec. Quindi attiva ECS Exec per l'attività Fargate.

Se il container dell'applicazione non supporta le sessioni di shell per eseguire ECS Exec, utilizza un'immagine Docker aws-cli per creare una nuova attività Fargate. La nuova attività deve trovarsi nella stessa sottorete e nello stesso VPC dell'attività Fargate corrente.

Configura le connessioni tra Amazon ECS e altri endpoint dei servizi AWS

Se le tue attività Amazon ECS non riescono a connettersi ad altri servizi, verifica che le seguenti condizioni siano soddisfatte:

  • L'URL dell'endpoint è corretto, inclusi il protocollo (http:// o https://), il nome host e la porta. Configura i tuoi endpoint VPC con sottoreti in linea con la configurazione della sottorete del servizio Amazon ECS.
  • Le sottoreti utilizzate dal servizio Amazon ECS devono avere le configurazioni DNS corrette per risolvere gli URL degli endpoint, un DNS fornito da Amazon o un risolutore personalizzato.
  • Il gruppo di sicurezza collegato alle tue attività Amazon ECS deve consentire l'accesso in uscita alla porta e al protocollo del servizio di destinazione.
  • Le liste di controllo degli accessi alla rete (ACL) nella sottorete devono consentire il traffico da e verso gli endpoint dei servizi richiesti.

Verifica la connessione tra l'attività di Fargate e l'endpoint del servizio AWS

Per testare la connessione dell'attività Fargate all'endpoint e alla porta del servizio AWS, esegui il seguente comando telnet dal tuo container:

telnet endpoint-url port

Nota: nel comando precedente, sostituisci endpoint-url con l'URL dell'endpoint per il tuo servizio e port con il numero di porta per il servizio.

Se la connessione ha esito positivo, ottieni il seguente esempio di output:

Trying 10.0.1.169...  
Connected to sns.us-east-1.amazonaws.com.  
Escape character is '^]'.

Per testare la risoluzione DNS per l’endpoint, esegui il seguente comando nslookup:

nslookup example-endpoint

Esempio di output:

Name: sns.us-east-1.amazonaws.com  
Address: 10.0.1.169

Se non hai installato i comandi telnet o nslookup nel tuo container, esegui uno dei seguenti comandi per installarli.

Container basati su Debian:

apt-get update
apt-get install -y dnsutils telnet

Container Amazon Linux:

yum install -y bind-utils telnet

Risolvi gli errori di timeout della connessione

Se ricevi errori di timeout della connessione, controlla la configurazione di rete.

Regole del gruppo di sicurezza

Se il traffico viene indirizzato attraverso un endpoint VPC, il gruppo di sicurezza dell'endpoint deve consentire il traffico TCP sulla porta 443 da uno dei seguenti:

  • Gruppo di sicurezza dell'attività Amazon ECS
  • Blocco CIDR VPC

Configura il gruppo di sicurezza dell'attività per consentire il traffico in uscita verso l'endpoint VPC del servizio.

Routing VPC

Per le sottoreti pubbliche, l'attività Fargate deve avere una route predefinita 0.0.0.0/0 che punta al gateway Internet.

Per le sottoreti private, la tabella di routing deve avere un percorso verso un gateway NAT o un gateway di transito in base all'architettura.

Impostazioni proxy

Se la tua attività Amazon ECS utilizza un server proxy, assicurati che la configurazione del proxy consenta il traffico verso l'endpoint del servizio.

Analizza i log di flusso VPC

Se continui a riscontrare problemi di connessione, utilizza Amazon VPC Flow Logs per visualizzare i dettagli del flusso di traffico.

Risolvi i problemi relativi alle autorizzazioni IAM

Verifica se il ruolo dell’attività Amazon ECS concede le autorizzazioni al container dell'applicazione per interagire con altri servizi AWS.

Ad esempio, potresti ricevere i seguenti errori quando provi a connetterti a un endpoint Amazon Simple Notification Service (Amazon SNS).

Esempio di messaggio di errore relativo alla policy degli endpoint VPC:

"An error occurred (AuthorizationError) when calling the ListTopics operation: User: arn:aws:sts::123456789012:assumed-role/TaskRole/123456789012 is not authorized to perform: SNS:ListTopics on resource: arn:aws:sns:region-name:123456789012:* with an explicit deny in a VPC endpoint policy"

Per risolvere il problema, concedi all'endpoint Amazon VPC l'autorizzazione a eseguire le azioni necessarie nei confronti dei servizi AWS. Nel precedente esempio di messaggio di errore, l'endpoint Amazon VPC deve disporre dell'autorizzazione ListTopics.

Esempio di messaggio di errore di autorizzazione del ruolo dell'attività:

"An error occurred (AuthorizationError) when calling the ListTopics operation: User: arn:aws:sts::123456789012:assumed-role/TaskRole/123456789012 is not authorized to perform: SNS:ListTopics on resource: arn:aws:sns:region-name:123456789012:* because no identity-based policy allows the SNS:ListTopics action"

Per risolvere il problema, concedi al ruolo IAM dell'attività Amazon ECS le autorizzazioni necessarie per eseguire le azioni necessarie nei confronti dei servizi destinatari. Nel precedente esempio di messaggio di errore, il ruolo IAM deve disporre dell'autorizzazione ListTopics.

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 mesi fa