IBM Cloud Docs
Cómo trabajar con subredes en VPC

Cómo trabajar con subredes en VPC

Las subredes ayudan al tráfico de red a recorrer rutas más eficientes desde el origen al destino. Puede utilizar listas de control de acceso (ACL) con subredes para proteger los 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. Puede comprobar su acceso accediendo 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 una subred en VPC

Puede crear una subred en VPC utilizando la consola, la CLI o la API.

Si utiliza un rango IP fuera de los rangos definidos por RFC 1918 ( 10.0.0.0/8, 172.16.0.0/12, o 192.168.0.0/16 ) para una subred, las instancias conectadas a esa subred podrían ser incapaces de alcanzar partes de la Internet pública. Si planea configurar VPCs que utilicen tanto direcciones non-RFC-1918 como conectividad pública (IPs flotantes o gateways públicos), asegúrese de utilizar una ruta personalizada que contenga la acción Delegate-VPC.

Creación de subredes en VPC utilizando la interfaz de usuario

Para crear una subred en la instancia de VPC, realice los pasos siguientes:

  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. Pulse Crear + en la tabla de lista Subredes para VPC.

  4. En la sección Ubicación, facilite 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, facilite la siguiente información:

    • Nombre: especifique un identificador exclusivo para la subred, como por ejemplo my-subnet.
    • Grupo de recursos: Seleccione 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.
    • Selección de rango de IP: La ubicación más eficiente para el rango de 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.
    • 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. La conexión de una pasarela pública crea una IP flotante e incurre en un coste.
  6. En el panel Resumen, pulse Crear subred para crear la subred.

Separador Recursos adjuntos

El separador Recursos adjuntos lista todos los recursos adjuntos a la subred y proporciona un método para crear y adjuntar nuevos recursos. Puede crear los recursos siguientes desde esta pestaña:

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

Pulse Crear + en la tabla de lista de recursos del recurso que desea crear. Se le conducirá al flujo de trabajo de creación de recursos respectivo donde puede empezar el proceso de creación del recurso.

Separador IP reservadas

La pestaña IP reservadas es una lista de todas las IP reservadas asociadas con la subred. Para obtener más información sobre las IP reservadas, consulte Gestión de direcciones IP.

Creación de subredes en VPC utilizando la CLI

Para crear una subred mediante la CLI, ejecute 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 direcciones IPv4 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. Esta identificación es mutuamente excluyente con --resource-group-name.
--resource-group-name
Nombre del grupo de recursos. Este nombre es mutuamente excluyente 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 en VPC utilizando la API

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

  1. Configure el entorno de la API.
  2. Almacena las variables adicionales que se utilizarán en los comandos de la API.
Parámetros para crear una subred
Parámetros de consulta Información
version
Necesario
serie
Solicita la versión de la API como una fecha en el formato YYYY-MM-DD. Any date up to the current date may be provided. Specify the current date to request the latest version.
Valores posibles: El valor debe coincidir con la expresión regular ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
generation
Obligatorio
int32
Generación de infraestructura.
Valores posibles: 2
Cuerpo de solicitud
Obligatorio
Objeto de prototipo de subred.
vpc
Obligatorio
string
La VPC en la que residirá la subred.
Uno de los siguientes: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref
ip_version
string
La (s) versión (s) de IP a soportar para esta subred. Valores permitidos: [ipv4]
name
Obligatorio
string
Nombre de esta subred. El nombre no debe ser utilizado por otra subred en la VPC. Si no se especifica, el nombre será una lista separada por 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
ACL de red a utilizar para esta subred. Si no se especifica, se utiliza la ACL de red predeterminada para la VPC.
Uno de los siguientes: NetworkACLIdentityById, NetworkACLIdentityByCRN, NetworkACLIdentityHref
public_gateway
string
La pasarela pública que se debe utilizar para el tráfico enlazado a Internet para esta subred. Si no se especifica, la subred no se conectará a una pasarela pública.
Uno de los siguientes: PublicGatewayIdentityById, PublicGatewayIdentityByCRN, PublicGatewayIdentityByHref
** resource_group**
ResourceGroupIdentityById
routing_table
string
La tabla de direccionamiento que se va a utilizar para esta subred. Si no se especifica, se utiliza la tabla de direccionamiento predeterminada para la VPC. Las propiedades de tabla de direccionamiento route_direct_link_ingress, route_internet_ingress, route_transit_gateway_ingress y route_vpc_zone_ingress deben ser false.
Uno de los siguientes: RoutingTableIdentityById, RoutingTableIdentityByCRN, RoutingTableIdentityByHref
SubredPorRecuentoTotal
entero 64
o
SubnetByCIDR
cadena
Para SubnetByTotalCount, especifique el número total deIPv4 direcciones requeridas. Para SubnetByCIDR, especifica elIPv4 rango de la subred, expresado en formato CIDR. Ambas opciones requieren un zone en el que residirá la subred.

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

Por ejemplo:

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" }
    }'

La siguiente respuesta se muestra después de iniciar la solicitud:

Iniciar respuesta crear ejemplo
Cuerpo de respuesta Detalles
available_ipv4_address_count
Incluído siempre
int64
The número de direcciones IPv4 en esta subred que no están en uso, y no han sido reservados por el usuario o el proveedor.
Ejemplo: 15
created_at
Siempre incluido
fecha-hora
Fecha y hora en que se creó la subred
crn
Incluído siempre
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*
    cadena
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
    Incluida siempre
    string
Identificador exclusivo 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
Incluida siempre
serie
Las versiones de IP soportadas por esta subred.
Valores posibles: [ipv4]
** ipv4_cidr_block**
Siempre incluido
string
name
Siempre incluido
string
Nombre de esta subred. El nombre es exclusivo 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
** resource_group**
Siempre se incluye
ResourceGroupReference
tipo_recurso
Siempre incluido
serie
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 se incluye
RoutingTableReference
status
Siempre incluido
string
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 se incluye
ZoneReference
** public_gateway**
PublicGatewayReference
Crear códigos de estado
Código de estado
201 La subred ha sido creada con éxito.
400 Se ha proporcionado un objeto de prototipo de subred no válido.
409 El objeto de 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 los ejemplos de Java, Node, Python y Go), consulte "Crear una subred" en la Referencia de API de VPC.

Visualización de subredes en VPC

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 VPC utilizando la interfaz de usuario

Después de crear una subred, aparece en la lista de subredes para VPC.

Para ver los detalles sobre una subred de la lista utilizando la consola, CLIck el enlace de la subred en la columna Nombre. El separador Visión general muestra la información que ha utilizado en la creación de la subred.

Visualización de subredes en VPC utilizando la CLI

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

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 en VPC utilizando la API

Para llamar a este método, debe tener asignado uno o varios roles de acceso IAM que incluyan la siguiente acción. Puede comprobar su acceso accediendo a 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. Almacena las variables adicionales que se utilizarán en los comandos de la API.
Parámetros para recuperar una subred
Parámetros de consulta Información
id
Obligatorio
string
Identificador de subred.
Valores posibles: 1 ≤ longitud ≤ 64, El valor debe coincidir con la expresión regular ^[-0-9a-z_]+$
** version**
Obligatorio
string
generation
Obligatorio
int32
Generación de infraestructura.
Valores permitidos: 2
  1. Cuando se inicien todas las variables, ejecute el comando.

Por ejemplo:

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

La siguiente respuesta se muestra después de iniciar la solicitud:

Iniciar respuesta recuperar ejemplo
Cuerpo de respuesta Detalles
available_ipv4_address_count
Incluído siempre
int64
The número de direcciones IPv4 en esta subred que no están en uso, y no han sido reservados por el usuario o el proveedor.
Ejemplo: 15
created_at
Siempre incluido
fecha-hora
Fecha y hora en que se creó la subred
crn
Incluído siempre
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*
    cadena
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
    Incluida siempre
    string
Identificador exclusivo 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
versión_ip
Siempre incluido
cadena
Las versiones de IP admitidas por 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
Nombre de esta subred. El nombre es exclusivo 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
** resource_group**
Siempre se incluye
ResourceGroupReference
tipo_recurso
Siempre incluido
serie
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 se incluye
RoutingTableReference
status
Siempre incluido
string
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 se incluye
ZoneReference
** public_gateway**
PublicGatewayReference
Recuperar códigos de estado
Código de estado
200 La subred se ha recuperado correctamente.
No se ha podido encontrar una subred con el identificador especificado

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