Questo argomento spiega i gruppi di sicurezza AWS (SG) necessari per GKE su AWS.
Se
installi un servizio di gestione o
utilizzi un VPC AWS esistente,
anthos-gke
crea gruppi di sicurezza per te. Puoi configurare i CRD AWSCluster e AWSNodePool con un elenco di ID gruppo di sicurezza aggiuntivi.
Il seguente diagramma illustra in che modo GKE su AWS utilizza i gruppi di sicurezza per connettersi ai servizi Google Cloud e AWS.
Gruppo di sicurezza del servizio di gestione
Il gruppo di sicurezza del servizio di gestione consente di accedere all'API del servizio di gestione con HTTPS. Se hai configurato un bastion host, è consentito l'accesso in entrata dal gruppo di sicurezza bastion.
Se crei un ambiente GKE su AWS in un VPC AWS esistente, devi avere un gruppo di sicurezza che consenta le seguenti connessioni.
Tipo | Protocollo | Port (Porta) | Indirizzo | Descrizione |
---|---|---|---|---|
In entrata | TCP | 443 | CIDR VPC | Consenti HTTPS dal VPC AWS. |
In entrata | TCP | 22 | SG di Bastion host | Consenti il tunneling SSH dal bastion host (incluso solo nel VPC dedicato). |
In uscita | TCP | 80 | 0.0.0.0/0 | Consenti HTTP in uscita. |
In uscita | TCP | 443 | 0.0.0.0/0 | Consenti HTTPS in uscita. |
Accesso al dominio in uscita
Il servizio di gestione richiede l'accesso in uscita ai seguenti domini.
gkeconnect.googleapis.com
gkehub.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
www.googleapis.com
gcr.io
k8s.gcr.io
EC2-REGION.ec2.archive.ubuntu.com
Sostituisci EC2-REGION con la regione AWS EC2 in cui viene eseguita l'installazione di GKE on AWS. Ad esempio,
us-west-1.ec2.archive.ubuntu.com/
.
Se utilizzi Anthos Service Mesh con Prometheus e Kiali, consenti l'accesso in uscita dai seguenti domini:
docker.io
quay.io
Gruppo di sicurezza bastion host (facoltativo)
Puoi utilizzare le connessioni del gruppo di sicurezza del bastion host consentite dal suo gruppo per connetterti a GKE sul servizio di gestione AWS e ai cluster utente. Questo gruppo è facoltativo e incluso solo se utilizzi anthos-gke
per creare un'installazione GKE su AWS in un VPC dedicato.
Tipo | Protocollo | Port (Porta) | Indirizzo | Descrizione |
---|---|---|---|---|
In entrata | TCP | 22 | Blocco CIDR da bastionAllowedSSHCIDRBlocks nella configurazione
AWSManagementService. |
Consenti SSH al bastion host. |
In uscita | TCP | 22 | 0.0.0.0/0 | Consenti SSH in uscita. |
In uscita | TCP | 80 | 0.0.0.0/0 | Consenti HTTP in uscita. |
In uscita | TCP | 443 | 0.0.0.0/0 | Consenti HTTPS in uscita. |
Gruppo di sicurezza del piano di controllo
Il gruppo di sicurezza del piano di controllo consente le connessioni tra i nodi del piano di controllo e il servizio di gestione, nonché tra i nodi e i pool di nodi del piano di controllo.
Il piano di controllo è costituito da tre istanze EC2 dietro un bilanciatore del carico di rete AWS (NLB). Queste istanze accettano connessioni da istanze etcd su altri nodi, nodi del pool di nodi e nell'NLB. Per aggiornare GKE sui componenti AWS, è consentito tutto il traffico HTTP/HTTPS in uscita.
Devi specificare gli ID gruppo di sicurezza nella definizione di AWSCluster.
Tipo | Protocollo | Port (Porta) | Indirizzo | Descrizione |
---|---|---|---|---|
In entrata | TCP | 2380 | Questo SG | Consenti la replica etcd del piano di controllo. |
In entrata | TCP | 2381 | Questo SG | Consenti la replica di eventi etcd del piano di controllo. |
In entrata | TCP | 443 | SG del pool di nodi | Consenti HTTPS dai nodi del pool di nodi. |
In entrata | TCP | 443 | Intervallo CIDR AWS VPC | Consenti HTTPS dal bilanciatore del carico e dal servizio di gestione. |
In entrata | TCP | 11872 | Intervallo CIDR AWS VPC | Controllo di integrità HTTP per il bilanciatore del carico. |
In uscita | TCP | 22 | SG del pool di nodi | Consenti il tunneling SSH ai pool di nodi (per i cluster v1.20 e precedenti). |
In entrata | TCP | 8132 | SG del pool di nodi | Consenti la connessione a Konnectivity dai pool di nodi (per i cluster v1.21 e versioni successive). |
In uscita | TCP | 80 | 0.0.0.0/0 | Consenti HTTP in uscita. |
In uscita | TCP | 443 | 0.0.0.0/0 | Consenti HTTPS in uscita. |
In uscita | TCP | 2380 | Questo SG | Consenti la replica etcd del piano di controllo. |
In uscita | TCP | 2381 | Questo SG | Consenti la replica di eventi etcd del piano di controllo. |
In uscita | TCP | 10250 | SG del pool di nodi | Consenti connessioni dal piano di controllo a kubelet. |
Gruppo di sicurezza del pool di nodi
Il gruppo di sicurezza del pool di nodi consente le connessioni dal piano di controllo e da altri nodi. Devi specificare gli ID gruppo di sicurezza nelle definizioni di AWSNodePool.
Tipo | Protocollo | Port (Porta) | Indirizzo | Descrizione |
---|---|---|---|---|
In entrata | TCP | Tutti | Questo SG | Consenti la comunicazione pod-to-pod. |
In entrata | TCP | 22 | SG del piano di controllo | Consenti il tunneling SSH dal piano di controllo (per i cluster v1.20 e versioni precedenti). |
In uscita | TCP | 8132 | SG del piano di controllo | Consenti le connessioni Konnectivity al piano di controllo (per i cluster v1.21 e versioni successive). |
In entrata | TCP | 443 | SG del piano di controllo | Consenti connessioni dal piano di controllo a kubelet. |
In entrata | TCP | 10250 | SG del piano di controllo | Consenti connessioni dal piano di controllo a kubelet. |
In uscita | TCP | Tutti | Questo SG | Consenti la comunicazione pod-to-pod. |
In uscita | TCP | 80 | 0.0.0.0/0 | Consenti HTTP in uscita. |
In uscita | TCP | 443 | 0.0.0.0/0 | Consenti HTTPS in uscita. |