Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Accedi alle applicazioni container in modo privato su Amazon EKS utilizzando AWS PrivateLink e un Network Load Balancer - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Accedi alle applicazioni container in modo privato su Amazon EKS utilizzando AWS PrivateLink e un Network Load Balancer

Creato da Kirankumar Chandrashekar (AWS)

Questo modello descrive come ospitare privatamente un'applicazione container Docker su Amazon Elastic Kubernetes Service (Amazon EKS) con un Network Load Balancer e accedere all'applicazione utilizzando AWS. PrivateLink Puoi quindi utilizzare una rete privata per accedere in modo sicuro ai servizi sul cloud Amazon Web Services (AWS). 

Il cluster Amazon EKS che esegue le applicazioni Docker, con un Network Load Balancer sul front-end, può essere associato a un endpoint di cloud privato virtuale (VPC) per l'accesso tramite AWS. PrivateLink Questo servizio di endpoint VPC può quindi essere condiviso con altri utenti utilizzando i rispettivi VPCs endpoint VPC.

La configurazione descritta da questo modello è un modo sicuro per condividere l'accesso alle applicazioni VPCs tra account AWS. Non richiede configurazioni di connettività o routing speciali, poiché la connessione tra gli account consumer e provider si trova sulla spina dorsale globale di AWS e non attraversa la rete Internet pubblica.

Prerequisiti

Usa PrivateLink un Network Load Balancer per accedere a un'applicazione in un container Amazon EKS.

Stack tecnologico

  • Amazon EKS

  • AWS PrivateLink

  • Network Load Balancer

Automazione e scalabilità

  • I manifesti di Kubernetes possono essere tracciati e gestiti su un repository basato su Git e distribuiti utilizzando l'integrazione continua e la distribuzione continua (CI/CD) in AWS. CodePipeline 

  • Puoi usare AWS CloudFormation per creare questo modello utilizzando l'infrastruttura come codice (IaC).

  • AWS CLI — AWS Command Line Interface (AWS CLI) è uno strumento open source che consente di interagire con i servizi AWS utilizzando i comandi nella shell della riga di comando.

  • Elastic Load Balancing: Elastic Load Balancing distribuisce il traffico di applicazioni o di rete in entrata su più destinazioni, come istanze Amazon Elastic Compute Cloud ( EC2Amazon), contenitori e indirizzi IP, in una o più zone di disponibilità.

  • Amazon EKS — Amazon Elastic Kubernetes Service (Amazon EKS) è un servizio gestito che puoi usare per eseguire Kubernetes su AWS senza dover installare, gestire e mantenere il tuo piano di controllo o i tuoi nodi Kubernetes.

  • Amazon VPC: Amazon Virtual Private Cloud (Amazon VPC) ti aiuta a lanciare le risorse AWS in una rete virtuale che hai definito.

  • Kubectl — Kubectl è un'utilità da riga di comando per eseguire comandi su cluster Kubernetes.

AttivitàDescrizioneCompetenze richieste

Crea il file manifesto di distribuzione di Kubernetes.

Crea un file manifesto di distribuzione modificando il seguente file di esempio in base alle tue esigenze.

apiVersion: apps/v1 kind: Deployment metadata: name: sample-app spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: public.ecr.aws/z9d2n7e1/nginx:1.19.5 ports: - name: http containerPort: 80
Nota

Questo è un file di configurazione di esempio di NGINX che viene distribuito utilizzando l'immagine NGINX Docker. Per ulteriori informazioni, consulta Come usare l'immagine ufficiale di NGINX Docker nella documentazione Docker.

DevOps ingegnere

Distribuisci il file manifesto di distribuzione di Kubernetes.

Esegui il comando seguente per applicare il file manifest di distribuzione al tuo cluster Amazon EKS:

kubectl apply –f <your_deployment_file_name> 

DevOps ingegnere

Crea il file manifesto del servizio Kubernetes.

Crea un file di manifesto del servizio modificando il seguente file di esempio in base alle tue esigenze.

apiVersion: v1 kind: Service metadata: name: sample-service annotations: service.beta.kubernetes.io/aws-load-balancer-type: nlb service.beta.kubernetes.io/aws-load-balancer-internal: "true" spec: ports: - port: 80 targetPort: 80 protocol: TCP type: LoadBalancer selector: app: nginx
Importante

Assicurati di aver incluso quanto segue annotations per definire un Network Load Balancer interno:

service.beta.kubernetes.io/aws-load-balancer-type: nlb service.beta.kubernetes.io/aws-load-balancer-internal: "true"
DevOps ingegnere

Distribuisci il file di manifesto del servizio Kubernetes.

Esegui il comando seguente per applicare il file manifest del servizio al tuo cluster Amazon EKS:

kubectl apply -f <your_service_file_name>

DevOps ingegnere

Distribuisci i file manifest di distribuzione e servizio di Kubernetes

AttivitàDescrizioneCompetenze richieste

Crea il file manifesto di distribuzione di Kubernetes.

Crea un file manifesto di distribuzione modificando il seguente file di esempio in base alle tue esigenze.

apiVersion: apps/v1 kind: Deployment metadata: name: sample-app spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: public.ecr.aws/z9d2n7e1/nginx:1.19.5 ports: - name: http containerPort: 80
Nota

Questo è un file di configurazione di esempio di NGINX che viene distribuito utilizzando l'immagine NGINX Docker. Per ulteriori informazioni, consulta Come usare l'immagine ufficiale di NGINX Docker nella documentazione Docker.

DevOps ingegnere

Distribuisci il file manifesto di distribuzione di Kubernetes.

Esegui il comando seguente per applicare il file manifest di distribuzione al tuo cluster Amazon EKS:

kubectl apply –f <your_deployment_file_name> 

DevOps ingegnere

Crea il file manifesto del servizio Kubernetes.

Crea un file di manifesto del servizio modificando il seguente file di esempio in base alle tue esigenze.

apiVersion: v1 kind: Service metadata: name: sample-service annotations: service.beta.kubernetes.io/aws-load-balancer-type: nlb service.beta.kubernetes.io/aws-load-balancer-internal: "true" spec: ports: - port: 80 targetPort: 80 protocol: TCP type: LoadBalancer selector: app: nginx
Importante

Assicurati di aver incluso quanto segue annotations per definire un Network Load Balancer interno:

service.beta.kubernetes.io/aws-load-balancer-type: nlb service.beta.kubernetes.io/aws-load-balancer-internal: "true"
DevOps ingegnere

Distribuisci il file di manifesto del servizio Kubernetes.

Esegui il comando seguente per applicare il file manifest del servizio al tuo cluster Amazon EKS:

kubectl apply -f <your_service_file_name>

DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Registra il nome del Network Load Balancer.

Esegui il comando seguente per recuperare il nome del Network Load Balancer:

kubectl get svc sample-service -o wide

Registra il nome del Network Load Balancer, necessario per creare un PrivateLink endpoint AWS.

DevOps ingegnere

Crea un PrivateLink endpoint AWS.

Accedi alla Console di gestione AWS, apri la console Amazon VPC e crea un endpoint PrivateLink AWS. Associando questo endpoint al Network Load Balancer, l'applicazione sarà disponibile privatamente per i clienti. Per ulteriori informazioni, consulta VPC endpoint services (AWS PrivateLink) nella documentazione di Amazon VPC.

Importante

Se l'account consumer richiede l'accesso all'applicazione, l'ID dell'account AWS dell'account consumer deve essere aggiunto all'elenco dei principali consentiti per la configurazione degli PrivateLink endpoint AWS. Per ulteriori informazioni, consulta Aggiungere e rimuovere le autorizzazioni per il servizio endpoint nella documentazione di Amazon VPC.

Amministratore cloud

Crea un endpoint VPC.

Sulla console Amazon VPC, scegli Endpoint Services, quindi scegli Create Endpoint Service. Crea un endpoint VPC per l'endpoint AWS. PrivateLink

Il nome di dominio completo (FQDN) dell'endpoint VPC punta al nome di dominio completo per l'endpoint AWS. PrivateLink Questo crea un'interfaccia di rete elastica per il servizio endpoint VPC a cui gli endpoint DNS possono accedere. 

Amministratore cloud

Crea gli endpoint

AttivitàDescrizioneCompetenze richieste

Registra il nome del Network Load Balancer.

Esegui il comando seguente per recuperare il nome del Network Load Balancer:

kubectl get svc sample-service -o wide

Registra il nome del Network Load Balancer, necessario per creare un PrivateLink endpoint AWS.

DevOps ingegnere

Crea un PrivateLink endpoint AWS.

Accedi alla Console di gestione AWS, apri la console Amazon VPC e crea un endpoint PrivateLink AWS. Associando questo endpoint al Network Load Balancer, l'applicazione sarà disponibile privatamente per i clienti. Per ulteriori informazioni, consulta VPC endpoint services (AWS PrivateLink) nella documentazione di Amazon VPC.

Importante

Se l'account consumer richiede l'accesso all'applicazione, l'ID dell'account AWS dell'account consumer deve essere aggiunto all'elenco dei principali consentiti per la configurazione degli PrivateLink endpoint AWS. Per ulteriori informazioni, consulta Aggiungere e rimuovere le autorizzazioni per il servizio endpoint nella documentazione di Amazon VPC.

Amministratore cloud

Crea un endpoint VPC.

Sulla console Amazon VPC, scegli Endpoint Services, quindi scegli Create Endpoint Service. Crea un endpoint VPC per l'endpoint AWS. PrivateLink

Il nome di dominio completo (FQDN) dell'endpoint VPC punta al nome di dominio completo per l'endpoint AWS. PrivateLink Questo crea un'interfaccia di rete elastica per il servizio endpoint VPC a cui gli endpoint DNS possono accedere. 

Amministratore cloud
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.