Trabajar con subredes

Las subredes ayudan al tráfico de red a recorrer rutas más eficientes desde el origen al destino. Puede utilizar ACL de red con subredes para proteger sus recursos dentro de cada subred.

Antes de empezar

Antes de empezar, debe tener asignados uno o varios roles de acceso de IAM que incluyan las acciones siguientes, en función de las condiciones listadas. Puedes comprobar tus derechos de acceso yendo a Usuarios > Usuario > Acceso.

  • is.subnet.subnet.create
  • is.public-gateway.public-gateway.operate (obligatorio cuando se especifica public_gateway )
  • is.network-acl.network-acl.operate

Creación de subredes

Puedes crear subredes mediante la consola, la CLI o la API.

Si utilizas un rango de direcciones IP que no se encuentre dentro de los rangos definidos en el RFC 1918 (10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16) para una subred, es posible que las instancias conectadas a dicha subred no puedan acceder a algunas partes de Internet. Si tiene previsto configurar VPC que utilicen tanto direcciones de tipo « non-RFC-1918 » como conectividad pública (direcciones IP flotantes o puertas de enlace públicas), asegúrese de configurar una ruta personalizada con la acción « Delegate-VPC ».

Creación de subredes en la consola

Para crear una subred en la consola, siga estos pasos:

  1. En el navegador, abra la consola deIBM Cloud.

  2. Seleccione el ícono del menú de navegación, luego haga clic en el ícono de Infraestructura VPC > Red > Subredes.

  3. Haga clic en Crear en la tabla de listas Subredes para VPC.

  4. En la sección «Ubicación», introduce la siguiente información:

    • Geografía: Indique el área general donde desea que se cree la subred.
    • Región: Indique la región donde desea que se cree la subred.
    • Zona: Indique la zona donde desea que se cree la subred.
  5. En la sección «Detalles», introduce la siguiente información:

    • Nombre: especifique un identificador exclusivo para la subred, como por ejemplo my-subnet.
    • Grupo de recursos: Selecciona un grupo de recursos para la subred.
    • Etiquetas: opcionalmente, añada las etiquetas relevantes para ayudar a agrupar las subredes.
    • Etiquetas de gestión de acceso: Opcionalmente, añada etiquetas de gestión de acceso a los recursos para ayudar a organizar las relaciones de control de acceso. El único formato admitido para las etiquetas de gestión de accesos es key:value. Para obtener más información, consulte Control del acceso a los recursos mediante etiquetas.
    • nube privada virtual: seleccione la VPC en la que desea que se cree la subred.
  6. En la sección de selección de rango IP, proporcione la siguiente información:

    • Rango IP: La ubicación más eficiente para tu rango IP se calcula automáticamente. Si desea personalizar el rango de IP en lugar de aceptar la selección predeterminada, seleccione un prefijo de dirección diferente, cambie el número de direcciones o especifique el rango de IP manualmente.

    • Prefijo de dirección: Seleccione el prefijo de red base para su subred. Determina el rango de IP más amplio a partir del cual se asignan las direcciones IP de su subred. Elija entre los prefijos disponibles dentro de su VPC.

    • Total de direcciones IP: Seleccione el número total de direcciones IPv4 necesarias.

    • Espacio de direcciones: Muestra el rango completo de direcciones IP del prefijo seleccionado en su VPC. Este rango define los límites dentro de los cuales se pueden asignar rangos IP de subred.

    • Tabla de ruteo: seleccione qué tabla de enrutamiento desea que utilice la nueva subred.

    • Lista de control de accesos de subred: Seleccione la lista de control de accesos que desea que utilice la nueva subred.

    • Pasarela pública: Indique si desea que la subred se comunique con la Internet pública conmutando el conmutador a Conectado.

      Adjuntar una pasarela pública crea una IP flotante e incurre en un coste.

  7. En el panel Resumen, haga clic en Crear subred.

Separador Recursos adjuntos

La pestaña Recursos adjuntos enumera todos los recursos adjuntos a la subred y permite la creación de:

  • Instancias
  • Servidores nativos
  • Plantillas de instancia
  • Grupos de instancias
  • Equilibradores de carga
  • Pasarelas VPN
  • Pasarelas de punto final virtual
  • Servidores VPN

Haga clic en Crear en la tabla de lista de recursos del recurso que desea crear. Se le redirigirá al flujo de trabajo correspondiente para crear recursos, donde podrá comenzar el proceso de creación del recurso.

Separador IP reservadas

La pestaña IPs Reservadas lista todas las direcciones IP reservadas para la subred. Para más información, consulte Gestión de direcciones IP.

Creación de subredes desde la CLI

Para crear subredes desde la CLI, ejecuta el siguiente comando :

ibmcloud is subnet-create SUBNET_NAME VPC ((--zone ZONE_NAME --ipv4-address-count ADDR_COUNT) | --ipv4-cidr-block CIDR_BLOCK) [--acl ACL] [--pgw PGW] [--rt RT] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] {} [--output JSON] [-q, --quiet]

Donde:

SUBNET_NAME
Nombre de la subred.
VPC
ID o nombre de la VPC.
--ipv4-cidr-block
el rango de IPv4 de la subred. Esta opción es mutuamente excluyente con « --ipv4-address-count ».
--ipv4-address-count
El número total de IPv4 direcciones requeridas debe ser una potencia de 2 y el valor mínimo es 8. Esta opción es mutuamente excluyente con « --ipv4-cidr-block ».
--zone
Nombre de la zona.
--acl
El ID o nombre de la ACL de red.
--pgw
El ID o nombre de la pasarela pública.
--rt
El ID o nombre de la tabla de direccionamiento. Esta opción también admite el nombre de recurso de nube (CRN) de la tabla de enrutamiento.
--resource-group-id
El ID del grupo de recursos. Este ID es mutuamente excluyente con --resource-group-name.
--resource-group-name
Nombre del grupo de recursos. Este nombre es incompatible con « --resource-group-id ».
--output
Especificar el formato de salida, solo se admite JSON. Valores posibles: JSON.
-q, --quiet
Suprimir la salida detallada.

Creación de subredes mediante la API

Siga estas instrucciones para crear subredes utilizando la API:

  1. Configure el entorno de la API.
  2. Guarda cualquier variable adicional que vayas a utilizar en comandos de la API.
Parámetros para crear una subred
Parámetros de consulta Información
version
Requerido
string
Solicita la versión de la API correspondiente a una fecha en el formato YYYY-MM-DD. Se puede proporcionar cualquier fecha hasta la fecha actual. Especifique la fecha actual para solicitar la versión más reciente.
Valores posibles: El valor debe coincidir con la expresión regular ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
Requerido
int32
La generación de infraestructuras.
Valores posibles: 2
Cuerpo de la solicitud
Obligatorio
El objeto prototipo de subred.
vpc
Requerido
string
La VPC en la que reside esta subred.
Uno de: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref
ip_version
string
La versión de IP que debe admitir esta subred. Valores permitidos: [ipv4]
name
Requerido
string
El nombre de esta subred. El nombre no debe estar en uso en ninguna otra subred de la VPC. Si no se especifica, el nombre será una lista con guiones de palabras seleccionadas al azar.
Valores posibles: 1 ≤ longitud ≤ 63, El valor debe coincidir con la expresión regular ([a-z]|[a-z][-a-z0-9]*[a-z0-9])$
Ejemplo: my-subnet
network_acl
string
La ACL de red que se utilizará para esta subred. Si no se especifica, se utiliza la ACL de red predeterminada para la VPC.
Uno de: NetworkACLIdentityById, NetworkACLIdentityByCRN, NetworkACLIdentityHref
public_gateway
string
La puerta de enlace pública que se utilizará para el tráfico destinado a Internet para esta subred. Si no se especifica, la subred no se conectará a una puerta de enlace pública.
Uno de: PublicGatewayIdentityById, PublicGatewayIdentityByCRN, PublicGatewayIdentityByHref
resource_group
ResourceGroupIdentityById
Grupo de recursos para utilizar. Si no se especifica, se utiliza el grupo de recursos predeterminado de la cuenta.
routing_table
string
La tabla de enrutamiento que se utilizará para esta subred. Si no se especifica, se utiliza la tabla de direccionamiento predeterminada para la VPC. Las propiedades de la tabla de route_direct_link_ingress enrutamiento, route_internet_ingress route_transit_gateway_ingress, y route_vpc_zone_ingress deben ser false.
Uno de: RoutingTableIdentityById, RoutingTableIdentityByCRN, RoutingTableIdentityByHref
SubnetByTotalCount
int 64
o
SubnetByCIDR
string
Para SubnetByTotalCount, especifique el número total de IPv4 direcciones necesarias. Para SubnetByCIDR, especifique el IPv4 rango de la subred, expresado en formato CIDR. Ambas opciones requieren una zone para crear la subred.

Cuando se hayan iniciado todas las variables, envíe la solicitud.

Consulte el ejemplo siguiente:

curl -X POST
"$vpc_api_endpoint/v1/subnets?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"
-d '{
      "name": "my-subnet-1",
      "ipv4_cidr_block": "10.0.1.0/24",
      "ip_version": "ipv4",
      "zone": { "name": "us-south-1" },
      "vpc": { "id": "a0819609-0997-4f92-9409-86c95ddf59d3" }
    }'

Una vez enviada la solicitud, aparece la siguiente respuesta:

Ejemplo de respuesta API
Cuerpo de respuesta Detalles
available_ipv4_address_count
Siempre incluido
int64
El número de direcciones IPv4 en esta subred que no están en uso y no están reservadas por el usuario o el proveedor.
Ejemplo: 15
created_at
Siempre incluido
date-time
La fecha y la hora en que se creó esta subred.
crn
Siempre incluido
string
El CRN para esta subred.
Valores posibles: 9 ≤ longitud ≤ 512
Ejemplo: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
href
Siempre incluido*
string
El URL para esta subred
Valores posibles: 10 ≤ longitud ≤ 8000, El valor debe coincidir con la expresión regular ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
Ejemplo: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
id
Siempre incluido
string
El identificador único para esta subred
Valores posibles: 1 ≤ longitud ≤ 64, El valor debe coincidir con la expresión regular ^[-0-9a-z_]+$
Ejemplo: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
Siempre incluido
string
Las versiones IP compatibles con esta subred.
Valores posibles: [ipv4]
ipv4_cidr_block
Siempre incluido
string
El rango IPv4 de la subred, que se expresa en formato CIDR.
Valores posibles: 9 ≤ longitud ≤ 18, El valor debe coincidir con la expresión regular ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/(3[0-2]|[1-2][0-9]|[0-9]))$
Ejemplo: 10.0.0.0/24
name
Siempre incluido
string
El nombre de esta subred. El nombre es único en todas las subredes de la VPC.
Valores posibles: 1 ≤ longitud ≤ 63, El valor debe coincidir con la expresión regular ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$
Ejemplo: my-subnet
network_acl Siempre incluido
NetworkACLReference
resource_group
Siempre incluido
ResourceGroupReference
El grupo de recursos para esta subred.
resource_type
Siempre incluido
string
El tipo de recurso.
Valores posibles: 1 ≤ longitud ≤ 128, El valor debe coincidir con la expresión regular ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
Ejemplo: subnet
routing_table
Siempre incluido
RoutingTableReference
La tabla de enrutamiento para esta subred.
status
Siempre incluido
string
El estado de la subred.
Valores posibles: available,deleting,failed, pending
total_ipv4_address_count
Siempre incluido
int64
vpc
Siempre incluido
VPCReference
La VPC en la que reside esta subred.
zone
Siempre incluido
ZoneReference
La zona en la que se encuentra esta subred.
public_gateway
PublicGatewayReference
La puerta de enlace pública que se utilizará para el tráfico destinado a Internet para esta subred.
Crear códigos de estado
Código de estado Significado
201 La subred se ha creado correctamente.
400 Se proporcionó un objeto prototipo de subred no válido.
409 El objeto prototipo de subred entra en conflicto con otra subred de la VPC o especifica un bloque CIDR fuera de los prefijos de dirección de la VPC.

Para obtener más información (incluidos Java ejemplos de Node,, Python y Go), consulte el método crear una subred en la referencia de la API de VPC.

Visualización de subredes

Puede ver los detalles de una subred en la VPC utilizando la interfaz de usuario, la API o la CLI.

Visualización de subredes en la consola

Una vez creada la subred, aparecerá en la lista Subredes para VPC.

Para ver los detalles de una subred en la lista de la consola, haga clic en el enlace de la subred en la columna Nombre. La pestaña Descripción general muestra la información que utilizó durante la creación de la subred.

Visualización de subredes desde la CLI

Para ver los detalles sobre una subred en VPC desde la CLI, ejecute el siguiente comando :

ibmcloud is subnet SUBNET [--vpc VPC] [--show-attached] [--output JSON] [-q, --quiet]

Donde:

SUBNET
ID o nombre de la subred.
--vpc
ID o nombre de la VPC. Solo es necesario para especificar el recurso exclusivo por nombre dentro de esta VPC.
--show-attached
Ver detalles de los recursos (instancias, equilibradores de carga, pasarelas VPN) conectados a la subred.
--output
Especificar el formato de salida, solo se admite JSON. Valores posibles: JSON.
-q, --quiet
Suprimir la salida detallada.

Visualización de subredes mediante la API

Para llamar a este método, debe tener asignado uno o varios roles de acceso IAM que incluyan la siguiente acción. Puedes comprobar tu acceso entrando en Usuarios > Usuario > Acceso.

  • is.subnet.subnet.read

Siga estas instrucciones para recuperar una subred en la VPC utilizando la API:

  1. Configure el entorno de la API.
  2. Guarda cualquier variable adicional que vayas a utilizar en comandos de la API.
Parámetros para recuperar una subred
Parámetros de consulta Información
id
Requerido
string
El identificador de subred.
Valores posibles: 1 ≤ longitud ≤ 64. El valor debe cumplir con la expresión regular. ^[-0-9a-z_]+$
version
Requerido
string
Solicita la versión de la API correspondiente a una fecha en el formato YYYY-MM-DD. Se puede proporcionar cualquier fecha hasta la fecha actual. Especifique la fecha actual para solicitar la versión más reciente.
Valores posibles: El valor debe coincidir con la expresión regular ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
Requerido
int32
La generación de infraestructuras.
Valores permitidos: 2
  1. Cuando todas las variables estén inicializadas, ejecuta el comando.

Consulte el ejemplo siguiente:

curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet_id?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"

Una vez enviada la solicitud, aparece la siguiente respuesta:

Iniciar respuesta, recuperar ejemplo
Cuerpo de respuesta Detalles
available_ipv4_address_count
Siempre incluido
int64
El número de direcciones IPv4 en esta subred que no están en uso y no están reservadas por el usuario o el proveedor.
Ejemplo: 15
created_at
Siempre se incluye
fecha-hora
La fecha y la hora en que se creó esta subred.
crn
Siempre incluido
string
El CRN para esta subred
Valores posibles: 9 ≤ longitud ≤ 512
Ejemplo: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e
href
Siempre incluido*
string
El URL para esta subred
Valores posibles: 10 ≤ longitud ≤ 8000, El valor debe coincidir con la expresión regular ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$
Ejemplo: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e
id
Siempre incluido
string
El identificador único para esta subred
Valores posibles: 1 ≤ longitud ≤ 64, El valor debe coincidir con la expresión regular ^[-0-9a-z_]+$
Ejemplo: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e
ip_version
Siempre incluido
string
Las versiones IP compatibles con esta subred.
Valores posibles: [ipv4]
ipv4_cidr_block
Siempre incluido
string
El rango « IPv4 » de la subred, expresado en formato CIDR.
Valores posibles: 9 ≤ longitud ≤ 18, El valor debe coincidir con la expresión regular ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/(3[0-2]|[1-2][0-9]|[0-9]))$
Ejemplo: 10.0.0.0/24
name
Siempre incluido
string
El nombre de esta subred. El nombre es único en todas las subredes de la VPC.
Valores posibles: 1 ≤ longitud ≤ 63, El valor debe coincidir con la expresión regular ^-?([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$
Ejemplo: my-subnet
network_acl Siempre incluido
NetworkACLReference
resource_group
Siempre incluido
ResourceGroupReference
El grupo de recursos para esta subred.
resource_type
Siempre incluido
string
El tipo de recurso.
Valores posibles: 1 ≤ longitud ≤ 128, El valor debe coincidir con la expresión regular ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
Ejemplo: subnet
routing_table
Siempre incluido
RoutingTableReference
La tabla de enrutamiento para esta subred.
status
Siempre incluido
string
El estado de la subred.
Valores posibles: available,deleting,failed, pending
total_ipv4_address_count
Siempre incluido
int64
vpc
Siempre incluido
VPCReference
La VPC en la que reside esta subred.
zone
Siempre incluido
ZoneReference
La zona en la que se encuentra esta subred.
public_gateway
PublicGatewayReference
La puerta de enlace pública que se utilizará para el tráfico destinado a Internet para esta subred.
Recuperar códigos de estado
Código de estado Significado
200 La subred se ha recuperado correctamente.
404 No se ha podido encontrar una subred con el identificador especificado.

Para obtener más información (incluidos Java ejemplos de Node,, Python y Go), consulte «Recuperar una subred» en la referencia de la API de VPC.