Perché non riesco a connettermi da Amazon EKS ad altri servizi AWS?

5 minuti di lettura
0

Desidero risolvere gli errori che riscontro quando cerco di connettermi da Amazon Elastic Kubernetes Service (Amazon EKS) ad altri servizi.

Breve descrizione

Se i tuoi pod non sono in grado di connettersi ad altri servizi, potresti ricevere uno o più dei seguenti errori:

  • RequestError: richiesta di invio non riuscita\\\na causa di: Post \\\"https://ec2.us-west-2.amazonaws.com/\\\": componi tcp <indirizzo IP>: i/o timeout\"\
  • Impossibile connettersi all'host, porta: imap.mail. <regione>.awsapps.com,<port>; timeout -1
  • java.net .SocketTimeoutException: connessione scaduta
  • Impossibile creare una connessione a jdbc:postgresql://<nome host>. <regione>.rds.amazonaws.com:5432/
  • <URL>. <regione>.rds.amazonaws.com (:3306<indirizzoIP>): operazione scaduta
  • Errore: java.sql.SQLNonTransientConnectionException: impossibile connettersi all'indirizzo =( host=<nome host>. <regione>.rds.amazonaws.com) (port=3306) (type=master): il socket non riesce a connettersi all'host:<nome host>. <regione>.rds.amazonaws.com, porta: 3306. connessione scaduta***
  • o.apache.kafka.clients.NetworkClient - [Producer ClientId=producer-1] Connessione al nodo -1 (<hostname>.c3.kafka. <region>.amazonaws.com/:9092<indirizzo IP>) non può essere stabilito. Il broker potrebbe non essere disponibile.

Questi errori si verificano a causa di problemi di connessione di rete che potrebbero essere causati da una configurazione errata di Amazon Virtual Private Cloud (Amazon VPC). Per risolvere questi problemi, controlla i gruppi di sicurezza e le liste di controllo degli accessi (ACL) associati a quanto segue:

  • Istanze del nodo worker
  • Servizi a cui i pod stanno tentando di connettersi

Risoluzione

Generalmente, si verificano errori di timeout della connessione quando le regole del gruppo di sicurezza o gli ACL di rete negano esplicitamente le autorizzazioni richieste.

Per risolvere questi errori, verifica che l'ambiente sia impostato correttamente confermando quanto segue:

  • I tuoi gruppi di sicurezza soddisfano i requisiti di Amazon EKS.
  • I tuoi gruppi di sicurezza per i pod consentono ai pod di comunicare tra loro.
  • L'ACL di rete non nega la connessione.
  • La tua sottorete ha un percorso locale per comunicare all'interno di Amazon VPC.
  • I tuoi pod sono programmati e nello stato IN ESECUZIONE.
  • Disponi della versione più recente disponibile del plug-in Amazon VPC Container Network Interface (CNI) per Kubernetes.
  • Le sottoreti VPC del cluster dispongono di un endpoint di interfaccia VPC per i servizi AWS a cui i tuoi pod devono poter accedere.

I tuoi gruppi di sicurezza soddisfano i requisiti di Amazon EKS

Assicurati che le regole in entrata e in uscita consentano il traffico su protocolli e porte utilizzati dai nodi worker per comunicare con altri servizi. È buona prassi consentire a tutto il traffico di fluire tra il cluster e i nodi e a tutto il traffico in uscita di fluire verso qualsiasi destinazione. Non è necessario modificare le regole del gruppo di sicurezza ogni volta che viene creato un nuovo pod con una nuova porta. Per ulteriori informazioni, consulta i requisiti e le considerazioni dei gruppi di sicurezza Amazon EKS.

I tuoi gruppi di sicurezza per i pod consentono ai pod di comunicare tra loro

Se utilizzi i gruppi di sicurezza per i pod o le reti personalizzate, puoi collegare qualsiasi gruppo di sicurezza ai tuoi pod. In questo caso, assicurati che i gruppi di sicurezza consentano la comunicazione tra i pod.

L'ACL di rete non nega la connessione

  • Assicurati che il traffico tra il cluster Amazon EKS e il CIDR VPC fluisca liberamente sull'ACL di rete.
  • Prendi in considerazione la possibilità di configurare gli ACL di rete con regole simili a quelle dei tuoi gruppi di sicurezza.

La sottorete ha un percorso locale per la comunicazione all'interno del VPC

Verifica che le tue sottoreti dispongano del percorso di comunicazione predefinito all'interno del tuo VPC. Per ulteriori informazioni, consulta Requisiti e considerazioni su VPC e sottoreti di Amazon EKS.

I tuoi pod sono programmati e nello stato IN ESECUZIONE

Accertati che i tuoi pod siano programmati e nello stato IN ESECUZIONE. Per risolvere i problemi relativi allo stato del pod, consulta Come posso risolvere i problemi dello stato del pod in Amazon EKS?

Disponi della versione più recente disponibile del plug-in Amazon VPC CNI per Kubernetes

Se non stai utilizzando l'ultima versione disponibile del plug-in Amazon VPC CNI per Kubernetes, prendi in considerazione l'aggiornamento alla versione più recente.

Se i problemi persistono, consulta Come posso risolvere i problemi relativi a kubelet o ai plugin CNI per Amazon EKS?

Le sottoreti VPC del cluster devono disporre di un'interfaccia endpoint VPC per i servizi a cui i pod devono poter accedere

Alcuni dei servizi ed endpoint più utilizzati sono elencati nella tabella seguente:

ServizioEndpoint
Amazon Elastic Compute Cloud (Amazon EC2)com.amazonaws.region-code.ec2
Amazon Elastic Container Registry (Amazon ECR)com.amazonaws.region-code.ecr.api com.amazonaws.region-code.ecr.dkr com.amazonaws.region-code.s3
Elastic Load Balancing (ELB)com.amazonaws.region-code.elasticloadbalancing
AWS X-Raycom.amazonaws.region-code.xray
Amazon CloudWatchcom.amazonaws.region-code.logs
Servizio di token di sicurezza AWS (AWS STS) (obbligatorio quando si utilizzano i ruoli IAM per gli account di servizio)com.amazonaws.region-code.sts
AWS App Mesh Il controller App Mesh per Kubernetes non è supportato. Per ulteriori informazioni, consulta il controller App Mesh sul sito web di GitHub. Cluster Autoscaler è supportato. Quando distribuisci i pod Cluster Autoscaler, assicurati che la riga di comando includa --aws-use-static-instance-list=true. Per ulteriori informazioni, consulta Use Static Instance List sul sito web di GitHub. Il VPC del nodo worker deve includere anche l'endpoint VPC AWS STS e l'endpoint di Dimensionamento automatico Amazon EC2.com.amazonaws.region-code.appmesh-envoy-management

Per un elenco completo degli endpoint, consulta i servizi AWS che si integrano con AWS PrivateLink.

Assicurati che il gruppo di sicurezza per l'endpoint VPC disponga di regole in entrata che consentano il traffico dai nodi worker.


AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa