En este tema se explican los grupos de seguridad de AWS (SG) que necesitas para GKE on AWS.
Si instalas un servicio de gestión o usas una VPC de AWS que ya tengas,
anthos-gke
crea grupos de seguridad por ti. Puedes configurar tus CRDs AWSCluster y AWSNodePool con una lista de IDs de grupos de seguridad adicionales.
En el siguiente diagrama se muestra cómo usa GKE on AWS los grupos de seguridad para conectarse a Google Cloud y a los servicios de AWS.
Grupo de seguridad del servicio de gestión
El grupo de seguridad del servicio de gestión permite acceder a la API del servicio de gestión mediante HTTPS. Si tienes un host de acceso configurado, se permite el tráfico entrante desde el grupo de seguridad del host de acceso.
Si creas un entorno de GKE en AWS en una VPC de AWS, debes tener un grupo de seguridad que permita las siguientes conexiones.
Tipo | Protocolo | Port (Puerto) | Dirección | Descripción |
---|---|---|---|---|
Entrante | TCP | 443 | CIDR de VPC | Permite HTTPS desde la VPC de AWS. |
Entrante | TCP | 22 | Bastion host SG | Permite la creación de túneles SSH desde la pasarela (solo se incluye en la VPC dedicada). |
Saliente | TCP | 80 | 0.0.0.0/0 | Permitir HTTP saliente. |
Saliente | TCP | 443 | 0.0.0.0/0 | Permitir HTTPS saliente. |
Acceso a dominios de salida
El servicio de gestión requiere acceso saliente a los siguientes dominios.
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
Sustituye EC2-REGION por la región de AWS EC2 en la que se ejecuta tu instalación de GKE en AWS. Por ejemplo, us-west-1.ec2.archive.ubuntu.com/
.
Si usas Cloud Service Mesh con Prometheus y Kiali, permite el acceso saliente desde los siguientes dominios:
docker.io
quay.io
Grupo de seguridad de la pasarela de aplicaciones (opcional)
Utilizas las conexiones del grupo de seguridad del host bastion permitidas por su grupo para conectarte a tu servicio de gestión de GKE en AWS y a los clústeres de usuarios. Este grupo es opcional y solo se incluye si usas anthos-gke
para crear una instalación de GKE en AWS en una VPC dedicada.
Tipo | Protocolo | Port (Puerto) | Dirección | Descripción |
---|---|---|---|---|
Entrante | TCP | 22 | Bloque CIDR de bastionAllowedSSHCIDRBlocks en la configuración de AWSManagementService. |
Permitir SSH al host bastion. |
Saliente | TCP | 22 | 0.0.0.0/0 | Permitir SSH saliente. |
Saliente | TCP | 80 | 0.0.0.0/0 | Permitir HTTP saliente. |
Saliente | TCP | 443 | 0.0.0.0/0 | Permitir HTTPS saliente. |
Grupo de seguridad del plano de control
El grupo de seguridad del plano de control permite las conexiones entre los nodos del plano de control y el servicio de gestión, así como entre los nodos del plano de control y los grupos de nodos.
El plano de control consta de tres instancias de EC2 detrás de un balanceador de carga de red (NLB) de AWS. Estas instancias aceptan conexiones de instancias de etcd en otros nodos, nodos de pool de nodos y el balanceador de carga de red. Para actualizar los componentes de GKE en AWS, se permite todo el tráfico HTTP/HTTPS saliente.
Especifica los IDs de los grupos de seguridad en la definición de AWSCluster.
Tipo | Protocolo | Port (Puerto) | Dirección | Descripción |
---|---|---|---|---|
Entrante | TCP | 2380 | Esta SG | Permite la replicación de etcd del plano de control. |
Entrante | TCP | 2381 | Esta SG | Permite la replicación de eventos de etcd del plano de control. |
Entrante | TCP | 443 | SG de grupo de nodos | Permite HTTPS desde los nodos del grupo de nodos. |
Entrante | TCP | 443 | Intervalo CIDR de VPC de AWS | Permite HTTPS desde el balanceador de carga y el servicio de gestión. |
Entrante | TCP | 11872 | Intervalo CIDR de VPC de AWS | Comprobación de estado HTTP del balanceador de carga. |
Saliente | TCP | 22 | SG de grupo de nodos | Permitir la creación de túneles SSH en grupos de nodos (para clústeres con la versión 1.20 o inferior). |
Entrante | TCP | 8132 | SG de grupo de nodos | Permite la conexión de Konnectivity desde los grupos de nodos (para clústeres con la versión 1.21 o posterior). |
Saliente | TCP | 80 | 0.0.0.0/0 | Permitir HTTP saliente. |
Saliente | TCP | 443 | 0.0.0.0/0 | Permitir HTTPS saliente. |
Saliente | TCP | 2380 | Esta SG | Permite la replicación de etcd del plano de control. |
Saliente | TCP | 2381 | Esta SG | Permite la replicación de eventos de etcd del plano de control. |
Saliente | TCP | 10250 | SG de grupo de nodos | Permite las conexiones del plano de control a Kubelet. |
Grupo de seguridad del grupo de nodos
El grupo de seguridad del pool de nodos permite las conexiones desde el plano de control y otros nodos. Especifica los IDs de los grupos de seguridad en tus definiciones de AWSNodePool.
Tipo | Protocolo | Port (Puerto) | Dirección | Descripción |
---|---|---|---|---|
Entrante | TCP | Todo | Esta SG | Permite la comunicación entre pods. |
Entrante | TCP | 22 | SG del plano de control | Permite la creación de túneles SSH desde el plano de control (para clústeres con la versión 1.20 o inferior). |
Saliente | TCP | 8132 | SG del plano de control | Permite las conexiones de Konnectivity al plano de control (para clústeres con la versión 1.21 o posterior). |
Entrante | TCP | 443 | SG del plano de control | Permite las conexiones del plano de control a Kubelet. |
Entrante | TCP | 10250 | SG del plano de control | Permite las conexiones del plano de control a Kubelet. |
Saliente | TCP | Todo | Esta SG | Permite la comunicación entre pods. |
Saliente | TCP | 80 | 0.0.0.0/0 | Permitir HTTP saliente. |
Saliente | TCP | 443 | 0.0.0.0/0 | Permitir HTTPS saliente. |