Crear y usar rangos internos
En este documento, se describe cómo crear, usar y borrar rangos internos.
Los rangos internos te ayudan a administrar un espacio de direcciones IP unificado en las redes de nube privada virtual (VPC), ya que te permiten asignar bloques de direcciones IP internas y especificar cómo se pueden usar.
Antes de comenzar
- Para usar los ejemplos de la línea de comandos de esta guía, instala o actualiza a la versión más reciente de Google Cloud CLI.
- Debes habilitar la API de Network Connectivity en tu proyecto.
- Identifica o crea una red de VPC.
Roles requeridos
Para obtener los permisos que
necesitas para trabajar con rangos internos,
pídele a tu administrador que te otorgue el
rol de IAM de administrador de Compute Network (roles/compute.networkAdmin
)
en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Reserva rangos internos
Cuando creas un rango interno, debes especificar al menos dos elementos: las direcciones IP que se asignarán y la red en la que se asignarán las direcciones. Puedes crear un rango interno de IPv4 o IPv6 con un bloque CIDR específico, o bien puedes hacer que Google Cloud asigne un bloque de IPv4 automáticamente. No puedes crear un rango interno de IPv6 con un bloque de direcciones asignado automáticamente.
Cuando solicitas un bloque CIDR de IPv4 asignado automáticamente, proporcionas una longitud de prefijo y uno o más bloques CIDR de IPv4 de destino opcionales. Si no especificas un bloque CIDR de destino, Google Cloud usa los siguientes rangos de destino predeterminados:
- En el caso de las redes de VPC en modo personalizado, los rangos predeterminados son
10.0.0.0/8
,172.16.0.0/12
y192.168.0.0/16
. - En el caso de las redes de VPC en modo automático, los rangos predeterminados son
10.0.0.0/9
,172.16.0.0/12
y192.168.0.0/16
.
Google Cloud tiene en cuenta las asignaciones de direcciones IP existentes y asigna al rango interno un bloque CIDR libre del tamaño elegido dentro de los bloques CIDR de destino. Puedes definir mejor esta asignación proporcionando una lista opcional de bloques CIDR para excluir.Google Cloud asigna un bloque de direcciones IP al rango interno que no se superpone con ningún bloque excluido. La lista de bloques excluidos no se puede actualizar después de crear un rango interno.
Para controlar el método que usa Google Cloud para seleccionar automáticamente un bloque libre, puedes especificar una estrategia de asignación. Si no especificas una estrategia de asignación, Google Cloudasigna de forma aleatoria un rango de direcciones IP libres dentro de los bloques CIDR de destino (o el rango predeterminado, si no se especifican bloques CIDR de destino).
Los rangos internos de IPv6 te permiten evitar la asignación automática de direcciones IP a las subredes nuevas solo IPv6 o de pila doble. Los rangos internos de IPv6 deben tener el tipo de uso EXTERNAL_TO_VPC
y el tipo de intercambio de tráfico FOR_SELF
. Debes incluir un bloque CIDR IPv6 específico, y el campo overlaps
debe estar vacío o sin especificar.
Para evitar que los usuarios actualicen el bloque CIDR o la configuración de superposición de un rango interno, puedes crear un rango interno inmutable. Los rangos internos inmutables impiden que se modifiquen estas propiedades, pero puedes actualizar la descripción. La inmutabilidad no se puede modificar después de crear el rango interno.
De forma predeterminada, Google Cloud bloquea la creación de rangos o recursos internos si comparten direcciones IP superpuestas en la misma red de VPC. Puedes configurar un rango interno de IPv4 para permitir la superposición con los rangos de direcciones de subredes existentes, rutas nuevas y existentes, o ambas. No puedes crear recursos Google Cloud que usen direcciones IP de un rango interno existente, a menos que asocies de forma explícita el recurso con el rango interno (para subredes) o configures la superposición (para rutas).
Console
En la consola de Google Cloud , ve a la página Intervalos internos.
Haz clic en Reservar rango interno.
Ingresa un nombre.
Opcional: Ingresa una descripción.
Selecciona una versión de IP.
Si seleccionas IPv4, haz lo siguiente:
- Especifica si el rango interno es inmutable.
Selecciona un método de reserva.
Si seleccionas Automático, haz lo siguiente:
- Selecciona un algoritmo de asignación.
- Selecciona una longitud de prefijo.
- Ingresa un rango de direcciones IP de destino. Puedes agregar varios rangos objetivo.
Opcional: Haz clic en Agregar un rango para excluir y, luego, ingresa un rango de direcciones IP para excluir. Puedes agregar varios rangos excluidos.
Google Cloud asigna un bloque de direcciones IP al rango interno que no se superpone con ningún rango excluido. Esta lista no se puede actualizar después de crear el rango interno.
Si seleccionas Permitirme especificar, ingresa un rango de IP en la notación CIDR.
Selecciona una red.
Selecciona un tipo de intercambio de tráfico.
Selecciona un tipo de uso.
Opcional: En la sección Superposiciones permitidas, especifica si el rango interno puede superponerse con subredes existentes, rutas nuevas y existentes, o ambas.
Si seleccionas IPv6, haz lo siguiente:
- Especifica si el rango interno es inmutable.
- Selecciona Permitirme especificar y, luego, ingresa un bloque CIDR IPv6 o IPv6 asignado a IPv4.
- Selecciona una red.
- Haz clic en Intercambio de tráfico y, luego, selecciona Para mí.
- Haz clic en Uso y, luego, selecciona Externo a la VPC.
Haz clic en Reservar.
gcloud
Para reservar un rango interno para un bloque CIDR de IPv4 o IPv6 específico, usa el comando
gcloud network-connectivity internal-ranges create
.gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE
Reemplaza lo siguiente:
RANGE_NAME
: el nombre del rango interno nuevoCIDR_RANGE
: Es el bloque CIDR IPv4, IPv6 o IPv6 asignado a IPv4 que se asignará al nuevo rango interno.- Si especificas un bloque IPv6, debes hacer lo siguiente:
- Establece el tipo de
peering
enFOR_SELF
. - Establece el tipo de
usage
enEXTERNAL_TO_VPC
.
- Establece el tipo de
- Si especificas un bloque IPv6, debes hacer lo siguiente:
NETWORK_NAME
: El nombre de la red en la que se creará el rango internoDESCRIPTION
: Una descripción opcional del rango internoPEERING_TYPE
: el tipo de intercambio de tráfico del rango internoLas opciones son
FOR_SELF
,FOR_PEER
yNOT_SHARED
.FOR_SELF
es la configuración predeterminada.USAGE_TYPE
: el tipo de uso del rango internoLas opciones son
FOR_VPC
,EXTERNAL_TO_VPC
yFOR_MIGRATION
. El valor predeterminado esFOR_VPC
.- Si usas la opción
FOR_MIGRATION
, también debes especificar las subredes de origen y destino. Para ver un ejemplo, consulta Reserva rangos internos de IPv4 para la migración de subredes.
- Si usas la opción
Para reservar un rango interno de IPv4 con un bloque CIDR asignado automáticamente, usa el siguiente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION" \ --allocation-strategy=ALLOCATION_STRATEGY [--first-available-ranges-lookup-size=FIRST_N_LOOKUP_SIZE]
Reemplaza lo siguiente:
PREFIX_LENGTH
: la longitud del prefijo de las direcciones IP asignadasTARGET_CIDR_RANGE
: Es el bloque CIDR de destino desde el que se asignará un bloque de direcciones IPv4.- En el caso de las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
10.0.0.0/8
,172.16.0.0/12
y192.168.0.0/16
. - En el caso de las redes de VPC de modo automático, los bloques CIDR predeterminados son
10.0.0.0/9
,172.16.0.0/12
y192.168.0.0/16
.
Puedes ingresar varios bloques CIDR en una lista separada por comas.
- En el caso de las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
ALLOCATION_STRATEGY
: Es la estrategia de asignación que deseas usar para el bloque CIDR de este rango interno.Las opciones son
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
yFIRST_SMALLEST_FITTING
. El valor predeterminado esRANDOM
.FIRST_N_LOOKUP_SIZE
: Para la estrategia de asignaciónRANDOM_FIRST_N_AVAILABLE
, es la cantidad de bloques CIDR libres que se deben encontrar antes de determinar uno de forma aleatoria.Incluye esta marca solo si eliges la estrategia de asignación
RANDOM_FIRST_N_AVAILABLE
.
Si deseas excluir rangos de direcciones IP cuando reserves un rango interno de IPv4 con un bloque CIDR asignado automáticamente, usa el siguiente comando:
gcloud alpha network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION" \ --exclude-cidr-ranges=EXCLUDED_RANGES
Reemplaza
EXCLUDED_RANGES
por una lista separada por comas de uno o más bloques CIDR de IPv4 que se excluirán. Google Cloud asigna un bloque de direcciones IP al rango interno que no se superpone con ningún bloque excluido. La lista no se puede actualizar después de crear el rango interno.Para reservar un rango interno de IPv4 con superposición, usa el siguiente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --overlaps=OVERLAPS
Reemplaza
OVERLAPS
por el tipo de superposición que se permitirá. Las opciones sonOVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puedes incluir ambos valores en una lista separada por comas.Para reservar un rango interno inmutable, usa el siguiente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --immutable
API
Para reservar un rango interno para un bloque CIDR de IPv4 o IPv6 específico, realiza una solicitud de
POST
al métodoprojects.locations.internalRanges.create
.POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
Reemplaza lo siguiente:
PROJECT_ID
: ID del proyecto principal para el rango internoRANGE_NAME
: el nombre del rango internoCIDR_RANGE
: Es el bloque CIDR IPv4, IPv6 o IPv6 asignado a IPv4 que se asignará al rango interno.- Si especificas un bloque IPv6, debes hacer lo siguiente:
- Establece el tipo de
peering
enFOR_SELF
. - Establece el tipo de
usage
enEXTERNAL_TO_VPC
.
- Establece el tipo de
- Si especificas un bloque IPv6, debes hacer lo siguiente:
NETWORK_NAME
: El nombre de la red en la que se creará el rango internoDESCRIPTION
: Una descripción opcional del rango interno nuevoPEERING_TYPE
: el tipo de intercambio de tráfico del rango internoLas opciones son
FOR_SELF
,FOR_PEER
yNOT_SHARED
.FOR_SELF
es el valor predeterminado.USAGE_TYPE
: el tipo de uso del rango internoLas opciones son
FOR_VPC
,EXTERNAL_TO_VPC
yFOR_MIGRATION
. El valor predeterminado esFOR_VPC
.- Si usas la opción
FOR_MIGRATION
, también debes especificar las subredes de origen y destino. Para ver un ejemplo, consulta Reserva rangos internos de IPv4 para la migración de subredes.
- Si usas la opción
Para reservar un rango interno de IPv4 con un bloque CIDR asignado automáticamente, realiza la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "allocationOptions": { "allocationStrategy": "ALLOCATION_STRATEGY", ["firstAvailableRangesLookupSize": FIRST_N_LOOKUP_SIZE] } }
Reemplaza lo siguiente:
PREFIX_LENGTH
: La longitud del prefijo CIDR para el bloque de direcciones IP del rango.TARGET_CIDR_RANGE
: Es el bloque CIDR de destino desde el que se asignará un bloque de direcciones IPv4.- En el caso de las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
10.0.0.0/8
,172.16.0.0/12
y192.168.0.0/16
. - En el caso de las redes de VPC de modo automático, los bloques CIDR predeterminados son
10.0.0.0/9
,172.16.0.0/12
y192.168.0.0/16
.
Puedes especificar varios bloques de CIDR en un array de JSON.
- En el caso de las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
ALLOCATION_STRATEGY
: Es la estrategia de asignación que deseas usar para el bloque CIDR de este rango interno.Las opciones son
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
yFIRST_SMALLEST_FITTING
. El valor predeterminado esRANDOM
.FIRST_N_LOOKUP_SIZE
: Para la estrategia de asignaciónRANDOM_FIRST_N_AVAILABLE
, es la cantidad de bloques CIDR libres que se deben encontrar antes de determinar uno de forma aleatoria.Incluye este campo solo si eliges la estrategia de asignación
RANDOM_FIRST_N_AVAILABLE
.
Si deseas excluir rangos de direcciones IP cuando reserves un rango interno de IPv4 con un bloque CIDR asignado automáticamente, realiza la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "excludeCidrRanges": ["EXCLUDED_RANGE_1","EXCLUDED_RANGE_2"] }
Reemplaza
EXCLUDED_RANGE_1
yEXCLUDED_RANGE_2
por uno o más bloques CIDR de IPv4 que se excluirán. Google Cloud asigna un bloque de direcciones IP al rango interno que no se superpone con ningún bloque excluido. La lista no se puede actualizar después de crear el rango interno.Para reservar un rango interno de IPv4 con superposición, realiza la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "overlaps": ["OVERLAPS"] }
Reemplaza
OVERLAPS
por el tipo de superposición que se permitirá. Las opciones sonOVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puedes incluir ambos valores en un array JSON.Para reservar un rango interno inmutable, realiza la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "immutable": true }
Reserva rangos internos de IPv4 para la migración de subredes
Puedes usar un rango interno para migrar un rango CIDR de una subred a otra. Para obtener más información, consulta Cómo migrar rangos de subredes IPv4.
gcloud
Usa el comando gcloud network-connectivity internal-ranges create
.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --peering=FOR_SELF \ --usage=FOR_MIGRATION \ --migration-source=SOURCE_SUBNET \ --migration-target=TARGET_SUBNET
Reemplaza lo siguiente:
RANGE_NAME
: El nombre del rango interno que se crearáCIDR_RANGE
: Es el bloque CIDR de IPv4 de la subred que deseas migrar.NETWORK_NAME
: el nombre de la red en la que se creará el rango internoSOURCE_SUBNET
: Es el URI de la subred de origen.TARGET_SUBNET
: Es el URI de la subred de destino.
API
Realiza una solicitud POST
al método projects.locations.internalRanges.create
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "peering": "FOR_SELF", "usage": "FOR_MIGRATION", "migration": { "source": "SOURCE_SUBNET", "target": "TARGET_SUBNET" } }
Reemplaza lo siguiente:
PROJECT_ID
: ID del proyecto principal para el rango internoRANGE_NAME
: el nombre del rango interno nuevoCIDR_RANGE
: Es el bloque CIDR de IPv4 de la subred que deseas migrar.NETWORK_NAME
: el nombre de la red en la que se creará el rango internoSOURCE_SUBNET
: Es el URI de la subred de origen.TARGET_SUBNET
: Es el URI de la subred de destino.
Crea subredes con rangos internos de IPv4
Puedes crear una subred solo IPv4 o de pila doble, y usar un rango interno para especificar el rango de direcciones IPv4 internas principal de la subred. La subred se puede asociar con un rango interno completo o solo con una parte del rango. Los rangos secundarios de las subredes también se pueden asociar con rangos internos.
Console
Reserva un rango interno de IPv4 en la red en la que quieres crear una subred nueva. Establece el tipo de uso en este rango interno en
For VPC
y el tipo de vinculación enFor self
.En la consola de Google Cloud , ve a la página Redes de VPC.
Haz clic en el nombre de una red de VPC para ver la página Detalles de la red de VPC.
Haz clic en Agregar subred. En el diálogo que aparece, haz lo siguiente:
- Proporciona un nombre.
- Selecciona una región.
- Selecciona la casilla de verificación Asociar con un rango interno.
- En Rango interno reservado, realiza una selección.
- Opcional: Para asociar la subred con parte del rango interno, ingresa un rango IPv4.
- Haz clic en Agregar.
gcloud
- Reserva un rango interno de IPv4 en la red en la que quieres crear una subred nueva. Establece el tipo de uso en este rango interno en
FOR_VPC
y el tipo de vinculación enFOR_SELF
. Realiza una de las siguientes acciones:
Para crear una subred asociada a un rango interno completo, usa el comando
gcloud compute networks subnets create
.gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --network=NETWORK_NAME \ --region=REGION
Reemplaza lo siguiente:
SUBNET_NAME
: El nombre de la subredPROJECT_ID
: ID del proyecto en el que se creará la subredRANGE_NAME
: el nombre del rango interno que se asociará a la subredNETWORK_NAME
: El nombre de la red en la que se creará la subredREGION
: La región en la que se creará la subred
Para crear una subred asociada con parte de un rango interno, usa el siguiente comando:
gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --range=IP_RANGE \ --network=NETWORK_NAME \ --region=REGION
Reemplaza
IP_RANGE
por un rango de CIDR IPv4 que sea un subconjunto del rango interno.
Por ejemplo, los siguientes comandos crean una subred asociada solo con la parte 10.9.1.0/24
de un rango interno que reserva el bloque CIDR 10.9.0.0/16
.
gcloud network-connectivity internal-ranges create reserved-range-one \ --ip-cidr-range=10.9.0.0/16 \ --network=vpc-one
gcloud compute networks subnets create subnet-one \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-range-one \ --range=10.9.1.0/24 \ --network=vpc-one \ --region=us-central1
API
- Reserva un rango interno de IPv4 en la red en la que quieres crear una subred nueva. Establece el tipo de uso en este rango interno en
FOR_VPC
y el tipo de vinculación enFOR_SELF
. Realiza una de las siguientes acciones:
Para crear una subred asociada a un rango interno completo, realiza una solicitud
POST
al métodosubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "network" : "NETWORK" }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto principal de la subred nueva.REGION
: La región en la que se creará la subredSUBNET_NAME
: El nombre de la subred nuevaPROJECT_ID
: Es el ID del proyecto en el que se creará una subred.RANGE_NAME
: El nombre del rango interno que se usará para la subred nueva.NETWORK
: El nombre de la red en la que se creará la subred
Para crear una subred asociada con parte de un rango interno, realiza la siguiente solicitud:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "range" : "IP_RANGE", "network" : "NETWORK" }
Reemplaza
IP_RANGE
por un rango de CIDR IPv4 que sea un subconjunto del rango interno.
Por ejemplo, las siguientes dos solicitudes crean una subred que está asociada solo con la parte 10.9.1.0/24
de un rango interno que contiene el bloque CIDR 10.9.0.0/16
.
POST https://networkconnectivity.googleapis.com/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet { "targetCidrRange": "10.9.0.0/16", "network": "network-b" }
POST https://compute.googleapis.com/compute/v1/projects/11223344/regions/us-central1/subnetworks { "name" : "subnet-with-partial-range", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-for-subnet", "range" : "10.9.1.0/24", "network" : "network-b" }
Crea clústeres de GKE con rangos internos de IPv4
Puedes usar rangos internos de IPv4 para asignar direcciones IP a los clústeres nativos de la VPC de Google Kubernetes Engine (GKE).
gcloud
Crea los siguientes rangos internos de IPv4 con el comando
gcloud network-connectivity internal-ranges create
.- Para nodos de GKE:
gcloud network-connectivity internal-ranges create gke-nodes-1 \ --prefix-length=NODE_PREFIX_LENGTH \ --network=NETWORK
- Para Pods de GKE:
gcloud network-connectivity internal-ranges create gke-pods-1 \ --prefix-length=POD_PREFIX_LENGTH \ --network=NETWORK
- Para Services de GKE:
gcloud network-connectivity internal-ranges create gke-services-1 \ --prefix-length=SERVICE_PREFIX_LENGTH \ --network=NETWORK
Reemplaza lo siguiente:
NODE_PREFIX_LENGTH
: la longitud del prefijo del rango interno asociado con los nodos de GKEPOD_PREFIX_LENGTH
: la longitud del prefijo del rango interno asociado con los pods de GKESERVICE_PREFIX_LENGTH
: la longitud del prefijo del rango interno asociado con los servicios de GKENETWORK
: El nombre de la red
Crea una subred con los rangos internos que creaste en el paso anterior con el comando
gcloud compute networks subnets create
.gcloud compute networks subnets create gke-subnet-1 \ --network=NETWORK \ --region=REGION \ --reserved-internal-range="//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1" \ --secondary-range-with-reserved-internal-range="pods=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1,services=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
Reemplaza lo siguiente:
REGION
: Es la región de la subred.PROJECT_ID
: El ID del proyecto
Crea el clúster nativo de la VPC con el comando
gcloud container clusters create
.gcloud container clusters create CLUSTER_NAME \ --network=NETWORK \ --subnetwork=gke-subnet-1 \ --zone=ZONE \ --cluster-secondary-range-name=pods \ --services-secondary-range-name=services \ --enable-ip-alias
Reemplaza
ZONE
por la zona del clúster.
API
Para crear los siguientes rangos internos, realiza solicitudes
POST
al métodoprojects.locations.internalRanges.create
.- Para nodos de GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-nodes-1 { "network": "NETWORK", "prefixLength": NODE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- Para Pods de GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-pods-1 { "network": "NETWORK", "prefixLength": POD_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- Para Services de GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1 { "network": "NETWORK", "prefixLength": SERVICE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoNETWORK
: El nombre de la redNODE_PREFIX_LENGTH
: la longitud del prefijo del rango interno asociado con los nodos de GKEPOD_PREFIX_LENGTH
: la longitud del prefijo del rango interno asociado con los pods de GKESERVICE_PREFIX_LENGTH
: la longitud del prefijo del rango interno asociado con los servicios de GKE
Crea una subred con los rangos internos que creaste en el paso anterior mediante una solicitud
POST
al métodosubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "gke-subnet-1", "network": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK", "privateIpGoogleAccess": false, "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1", "secondaryIpRanges": [ { "rangeName": "pods", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1" }, { "rangeName": "services", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1" } ] }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoREGION
: Es la región de la subred.NETWORK
: Es la red de la subred.
Para crear el clúster nativo de la VPC, realiza una solicitud
POST
al métodoclusters.create
.POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/clusters { "cluster": { "ipAllocationPolicy": { "clusterSecondaryRangeName": "pods", "createSubnetwork": false, "servicesSecondaryRangeName": "services", "useIpAliases": true }, "name": "CLUSTER_NAME", "network": "NETWORK", "nodePools": [ { "config": { "oauthScopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append" ] }, "initialNodeCount": 3, "management": { "autoRepair": true, "autoUpgrade": true }, "name": "default-pool", "upgradeSettings": { "maxSurge": 1 } } ], "subnetwork": "gke-subnet-1" }, "parent": "projects/PROJECT_ID/locations/ZONE" }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoZONE
: Es la zona del clúster.CLUSTER_NAME
: el nombre del clúster nuevo.NETWORK
: Es la red del clúster.
Cómo enumerar rangos internos
Puedes enumerar los rangos internos para ver todos los rangos internos de tu proyecto actual o una red de VPC específica. Para mostrar una lista de proyectos en una red de VPC, usa Google Cloud CLI o envía una solicitud a la API.
Console
En la consola de Google Cloud , ve a la página Intervalos internos.
gcloud
Para ver todos los rangos internos de tu proyecto actual, usa el comando
gcloud network-connectivity internal-ranges list
.gcloud network-connectivity internal-ranges list
Para ver todos los rangos internos de una red de VPC, usa el comando
internal-ranges list
y, luego, incluye un filtro.gcloud network-connectivity internal-ranges list \ --filter=network:NETWORK_NAME \ --project=PROJECT_ID
Reemplaza lo siguiente:
NETWORK_NAME
: Es el nombre de la red de VPC en la que se enumerarán los rangos internos.PROJECT_ID
: Es el ID del proyecto que contiene la red de VPC.
API
Para ver todos los rangos internos de un proyecto, realiza una solicitud
GET
al métodoprojects.locations.internalRanges.list
.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
Reemplaza
PROJECT_ID
por el ID del proyecto en el que deseas ver los rangos internos.Para ver todos los rangos internos en una red de VPC, realiza una solicitud
GET
al métodoprojects.locations.internalRanges.list
y, luego, incluye un filtro.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?filter=network=\"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME\"
Reemplaza
NETWORK_NAME
por el nombre de la red de VPC en la que se enumerarán los rangos internos.
Describe rangos internos
Puedes describir un rango interno para obtener detalles sobre el rango elegido, incluidas las subredes asociadas con el rango interno.
Console
En la consola de Google Cloud , ve a la página Intervalos internos.
Haz clic en el Nombre del rango interno que deseas describir.
gcloud
Usa el comando gcloud network-connectivity internal-ranges describe
.
gcloud network-connectivity internal-ranges describe RANGE_NAME
Reemplaza RANGE_NAME
por el nombre del rango interno que deseas describir.
API
Realiza una solicitud GET
al método projects.locations.internalRanges.get
.
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Reemplaza lo siguiente:
PROJECT_ID
: ID del proyecto principal para el rango internoRANGE_NAME
: El nombre del rango interno que se describirá
Actualiza rangos internos
Si un rango interno es inmutable, solo puedes actualizar la descripción. Si un rango interno es mutable, puedes expandir su bloque CIDR y actualizar su propiedad de superposición y su descripción.
Para expandir un rango interno, puedes actualizar su bloque CIDR o disminuir su longitud de prefijo. El bloque CIDR actualizado debe contener el bloque anterior.
Si deseas reducir el rango asignado o modificar otro elemento, borra el rango interno y crea uno nuevo.
Para actualizar la propiedad de superposición de un rango interno IPv4, envía una solicitud a la API o usa Google Cloud CLI.
Console
En la consola de Google Cloud , ve a la página Intervalos internos.
Haz clic en el nombre del rango interno que deseas actualizar.
Para expandir el bloque CIDR del rango, haz clic en Expandir rango y, luego, realiza una de las siguientes acciones:
- Para los rangos internos de IPv4, haz clic en Longitud del prefijo y, luego, haz lo siguiente:
- En el campo Longitud del prefijo, selecciona una longitud de prefijo que sea menor que la anterior.
- Haz clic en Expandir.
- Para los rangos internos de IPv4 o IPv6, haz clic en Rango de IP y, luego, haz lo siguiente:
- Ingresa un bloque CIDR IPv4, IPv6 o IPv6 asignado a IPv4. El bloque nuevo debe contener el anterior.
- Haz clic en Expandir.
- Para los rangos internos de IPv4, haz clic en Longitud del prefijo y, luego, haz lo siguiente:
Para actualizar la descripción del rango, haz lo siguiente:
- Haz clic en Editar descripción.
- Ingresa una nueva descripción.
- Haz clic en Guardar.
gcloud
Para actualizar un rango interno, usa el comando
gcloud network-connectivity internal-ranges update
. Omite las marcas de las propiedades que no deseas modificar.gcloud network-connectivity internal-ranges update RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --overlaps=OVERLAPS \ --description=DESCRIPTION
Reemplaza lo siguiente:
RANGE_NAME
: el nombre del rango internoCIDR_RANGE
: Es el bloque CIDR expandido de IPv4, IPv6 o IPv6 asignado a IPv4, que debe contener el bloque anterior.OVERLAPS
: Es el tipo de superposición que se permite (solo para rangos de IPv4).Las opciones son
OVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puedes incluir ambos valores en una lista separada por comas. Para inhabilitar la superposición, incluye la marca, pero no especifiques un valor (--overlaps=
).DESCRIPTION
: la descripción actualizada
Para expandir un rango interno disminuyendo la longitud de su prefijo, usa el siguiente comando:
gcloud network-connectivity internal-ranges update RANGE_NAME \ --prefix-length=PREFIX_LENGTH
Reemplaza
PREFIX_LENGTH
por la longitud del prefijo actualizada, que debe ser menor que la longitud del prefijo anterior.
API
Para expandir un rango interno actualizando su rango de CIDR, realiza una solicitud
PATCH
al métodoprojects.locations.internalRanges.patch
.PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange { "ipCidrRange": "CIDR_RANGE" }
Reemplaza lo siguiente:
PROJECT_ID
: ID del proyecto principal para el rango internoRANGE_NAME
: el nombre del rango internoCIDR_RANGE
: Es el bloque CIDR expandido de IPv4, IPv6 o IPv6 asignado a IPv4, que debe contener el bloque anterior.
Para expandir un rango interno disminuyendo la longitud de su prefijo, realiza la siguiente solicitud:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength { "prefixLength": PREFIX_LENGTH }
Reemplaza
PREFIX_LENGTH
por la longitud del prefijo actualizada, que debe ser menor que la longitud del prefijo anterior.Para actualizar la propiedad de superposición de un rango interno de IPv4, realiza la siguiente solicitud:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=overlaps { "overlaps": ["OVERLAPS"] }
Reemplaza
OVERLAPS
por el tipo de superposición que se permitirá. Las opciones sonOVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puedes incluir ambos valores en un array JSON. Para inhabilitar la superposición, incluye el campo, pero no especifiques un valor ("overlaps": []
).Para actualizar la descripción de un rango interno, realiza la siguiente solicitud:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=description { "description": "DESCRIPTION" }
Reemplaza
DESCRIPTION
por la descripción actualizada.
Borrar rangos internos
Puedes borrar un rango interno si no está asociado con un recurso Google Cloud, como una subred. Para borrar un rango interno asociado con un recurso de Google Cloud , primero borra el recurso asociado.
Console
En la consola de Google Cloud , ve a la página Intervalos internos.
Haz clic en el nombre del rango interno que deseas borrar.
Haz clic en Borrar.
Para confirmar la acción, haz clic en Borrar.
gcloud
Usa el comando gcloud network-connectivity internal-ranges delete
.
gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE
Reemplaza RANGE_TO_DELETE
por el nombre del rango interno que deseas borrar.
API
Realiza una solicitud DELETE
al método projects.locations.internalRanges.delete
.
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Reemplaza lo siguiente:
PROJECT_ID
: ID del proyecto principal para el rango internoRANGE_NAME
: el nombre del rango interno