

 **Contribuisci a migliorare questa pagina** 

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à.

Per contribuire a questa guida per l'utente, scegli il GitHub ** link ** Modifica questa pagina su che si trova nel riquadro destro di ogni pagina.

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à.

# Implementazione di cluster privati con accesso limitato a Internet
<a name="private-clusters"></a>

Questo argomento descrive come distribuire un cluster Amazon EKS distribuito sul AWS cloud, ma non dotato di accesso a Internet in uscita. Se hai un cluster locale su AWS Outposts, consulta[Crea nodi Amazon Linux su AWS Outposts](eks-outposts-self-managed-nodes.md), invece di questo argomento.

**Nota**  
Questo argomento riguarda l'uscita dal piano di dati (nodi e carichi di lavoro senza accesso a Internet in uscita). Per controllare in che modo il traffico in uscita dal piano di * controllo del cluster * raggiunge il tuo VPC, consulta. [Configurazione del routing di uscita del piano di controllo](control-plane-egress.md)

Se non hai familiarità con la rete Amazon EKS, consulta la rete in [ De-mystifying cluster per i nodi di lavoro di Amazon EKS. ](https://aws.amazon.com/blogs/containers/de-mystifying-cluster-networking-for-amazon-eks-worker-nodes) Se il cluster non dispone di accesso a Internet in uscita, deve soddisfare i seguenti requisiti:

## Requisiti dell’architettura del cluster
<a name="private-clusters-architecture"></a>
+ Il tuo cluster deve estrarre immagini da un registro di container che si trova nel tuo VPC. Puoi creare un Amazon Elastic Container Registry nel VPC e copiare al suo interno le immagini dei container per i nodi da cui estrarre. Per ulteriori informazioni, consulta [Copia di un'immagine di container da un repository a un altro](copy-image-to-repository.md).
+ Il tuo cluster deve avere l'accesso privato all'endpoint abilitato. Ciò è obbligatorio per la registrazione dei nodi con l'endpoint del cluster. L'accesso pubblico all'endpoint è facoltativo. Per ulteriori informazioni, consulta [Endpoint del server API del cluster](cluster-endpoint.md).

## Requisiti dei nodi
<a name="private-clusters-node"></a>
+ Self-managed I nodi Linux e Windows devono includere i seguenti argomenti di bootstrap prima di essere avviati. Questi argomenti ignorano l’introspezione Amazon EKS e non richiedono l’accesso all’API Amazon EKS dal VPC.

  1. Determina l’endpoint del cluster con il comando seguente. Sostituisci {{my-cluster}} con il nome del cluster.

     ```
     aws eks describe-cluster --name my-cluster --query cluster.endpoint --output text
     ```

     Di seguito viene riportato un output di esempio.

     ```
     https://EXAMPLE108C897D9B2F1B21D5EXAMPLE.sk1.region-code.eks.amazonaws.com
     ```

  1. Determina il valore dell’autorità di certificazione del cluster con il seguente comando. Sostituisci {{my-cluster}} con il nome del cluster.

     ```
     aws eks describe-cluster --name my-cluster --query cluster.certificateAuthority --output text
     ```

     L'output è una stringa molto lunga.

  1. Sostituisci i valori di `apiServerEndpoint` e `certificateAuthority` nell' NodeConfig oggetto con i valori restituiti nell'output dei comandi precedenti. Per ulteriori informazioni su come specificare gli argomenti di bootstrap all'avvio di nodi Amazon Linux 2023 autogestiti, consulta e. [Crea nodi Amazon Linux autogestiti](launch-workers.md) [Crea nodi Microsoft Windows autogestiti](launch-windows-workers.md)
     + Per i nodi Linux:

       ```
       ---
       MIME-Version: 1.0
       Content-Type: multipart/mixed; boundary="BOUNDARY"
       
       --BOUNDARY
       Content-Type: application/node.eks.aws
       
       ---
       apiVersion: node.eks.aws/v1alpha1
       kind: NodeConfig
       spec:
         cluster:
           name: my-cluster
           apiServerEndpoint: [.replaceable]https://EXAMPLE108C897D9B2F1B21D5EXAMPLE.sk1.region-code.eks.amazonaws.com
           certificateAuthority: [.replaceable]Y2VydGlmaWNhdGVBdXRob3JpdHk=
           ...
       ```

       Per argomenti aggiuntivi, consulta lo script bootstrap su. [https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2/runtime/bootstrap.sh](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2/runtime/bootstrap.sh) GitHub
     + Per i nodi Windows:
**Nota**  
Se utilizzi il servizio personalizzato CIDR, devi specificarlo utilizzando il parametro `-ServiceCIDR`. In caso contrario, la risoluzione DNS per i pod nel cluster avrà esito negativo.

       ```
       -APIServerEndpoint cluster-endpoint -Base64ClusterCA certificate-authority
       ```

       Per ulteriori argomenti, consulta.[Parametri di configurazione dello script di bootstrap](eks-optimized-windows-ami.md#bootstrap-script-configuration-parameters).
+ `aws-auth` `ConfigMap` del tuo cluster deve essere creata all’interno del tuo VPC. Per ulteriori informazioni sulla creazione e l'aggiunta di voci a `aws-auth` `ConfigMap`, digita `eksctl create iamidentitymapping --help` nel terminale. Se `ConfigMap` non esiste sul server, `eksctl` la creerà quando usi il comando per aggiungere una mappatura dell’identità.

## Requisiti del pod
<a name="private-clusters-pod"></a>
+  **Pod Identity:** i pod configurati con EKS Pod Identity acquisiscono le credenziali dall’API EKS Auth. Se non è presente un accesso a Internet in uscita, è necessario creare e utilizzare un endpoint VPC per l’API EKS Auth: `com.amazonaws.region-code.eks-auth`. Per ulteriori informazioni sugli endpoint VCP EKS ed EKS Auth, consulta [Accedi ad Amazon EKS utilizzando AWS PrivateLink](vpc-interface-endpoints.md).
+  **IRSA ** - I pod configurati con ruoli [ IAM per gli account di servizio ](iam-roles-for-service-accounts.md) acquisiscono le credenziali da una chiamata API AWS Security Token Service (AWS STS). Se non c'è accesso a Internet in uscita, devi creare e utilizzare un endpoint AWS STS VPC nel tuo VPC. La maggior parte degli AWS `v1` SDK utilizza l'endpoint AWS STS globale per impostazione predefinita (`sts.amazonaws.com`), che non utilizza l'endpoint STS VPC. AWS Per utilizzare l'endpoint AWS STS VPC, potrebbe essere necessario configurare l'SDK per utilizzare l'endpoint STS regionale (). AWS `sts.{{region-code}}.amazonaws.com` Per ulteriori informazioni, consulta [Configura il AWS Endpoint Security Token Service per un account di servizio](configure-sts-endpoint.md).

  Per configurare IRSA, devi anche raggiungere l'endpoint OIDC del cluster dall'interno del VPC discovery/JWKS . Ad esempio, lo raggiungi quando crei il provider di identità IAM OIDC del cluster o esegui i tuoi validatori di token. Se non c'è accesso a Internet in uscita, crea e utilizza un endpoint VPC per l'endpoint OIDC del cluster:. `com.amazonaws.{{region-code}}.oidc-eks` Questo è separato dall'endpoint STS VPC. AWS STS recupera i JWKS del cluster dall'interno AWS, quindi l'endpoint OIDC privatizza il traffico OIDC, mentre l'endpoint VPC-originated STS privatizza la chiamata. `AssumeRoleWithWebIdentity` Per ulteriori informazioni, consulta [Accedi all'endpoint OIDC del cluster utilizzando AWS PrivateLink](vpc-interface-endpoints.md#oidc-vpc-interface-endpoints).
+ Le sottoreti VPC del cluster devono disporre di un endpoint di interfaccia VPC per tutti i servizi a cui i Pod devono accedere. AWS Per ulteriori informazioni, consulta [ Accedere a un AWS servizio utilizzando un endpoint VPC di interfaccia. ](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) Nella tabella seguente sono elencati alcuni servizi ed endpoint di uso comune. Per un elenco completo degli endpoint, consulta [Servizi AWS che si integrano con AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html) nella [Guida di AWS PrivateLink ](https://docs.aws.amazon.com/vpc/latest/privatelink/).

  Ti consigliamo di [ abilitare i nomi DNS privati ](https://docs.aws.amazon.com/vpc/latest/privatelink/interface-endpoints.html#enable-private-dns-names) per i tuoi endpoint VPC, in questo modo i carichi di lavoro possono continuare a utilizzare gli endpoint di servizio pubblico senza problemi. AWS     
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/eks/latest/userguide/private-clusters.html)
+ Qualsiasi nodo autogestito deve essere implementato in sottoreti con gli endpoint di interfaccia VPC richiesti. Se crei un gruppo di nodi gestiti, il gruppo di sicurezza dell'endpoint di interfaccia VPC deve consentire il CIDR per le sottoreti oppure dovrai aggiungere il gruppo di sicurezza del nodo creato al gruppo di sicurezza dell'endpoint di interfaccia VPC.
+  **Storage EFS**: se i tuoi pod utilizzano volumi Amazon EFS, prima di distribuire l'[archivio di un file system elastico con Amazon EFS](efs-csi.md), il file [ kustomization.yaml del driver deve essere modificato per impostare le immagini del contenitore in modo che utilizzino la stessa regione ](https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/deploy/kubernetes/overlays/stable/kustomization.yaml) del cluster Amazon EKS. AWS 
+ Se utilizzi l’AMI ottimizzata EKS, devi abilitare l’endpoint `ec2` nella tabella precedente. In alternativa, esiste la possibilità di impostare manualmente il nome DNS del nodo. L’AMI ottimizzata utilizza le API EC2 per impostare automaticamente il nome DNS del nodo.
+ Puoi utilizzare il [AWS Load Balancer Controller ](aws-load-balancer-controller.md) per distribuire AWS Application Load Balancer (ALB) e Network Load Balancer nel tuo cluster privato. Quando lo implementi, devi usare [i flag della riga di comando](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/deploy/configurations/#controller-command-line-flags) per impostare`enable-shield`, `enable-waf` e `enable-wafv2` su fasle. Il [rilevamento dei certificati](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/cert_discovery/#discover-via-ingress-rule-host) con i nomi host degli oggetti in entrata non è supportato. Questo perché il controller deve raggiungere AWS Certificate Manager, che non dispone di un endpoint di interfaccia VPC.

  Il controller supporta bilanciatori di carico di rete destinazioni IP, necessari per l'utilizzo con Fargate. Per ulteriori informazioni, consultare [Instradare il traffico di applicazioni e HTTP con Application Load Balancer](alb-ingress.md) e [Creazione di un Network Load Balancer](network-load-balancing.md#network-load-balancer).
+  [Cluster Autoscaler](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md) è supportato. Quando si implementano i pod di Cluster Autoscaler, assicurarsi che la riga di comando includa `--aws-use-static-instance-list=true`. Per ulteriori informazioni, consulta [ Use Static Instance List ](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md#use-static-instance-list) on. GitHub Il nodo di lavoro VPC deve includere anche l'endpoint AWS STS VPC e l'endpoint VPC con scalabilità automatica.
+ Alcuni prodotti software per container utilizzano chiamate API che accedono al Marketplace Metering Service per monitorare l'utilizzo. AWS I cluster privati non consentono queste chiamate, pertanto questi tipi di container non possono essere utilizzati nei cluster privati.