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.createis.public-gateway.public-gateway.operate(obligatorio cuando se especificapublic_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:
-
En el navegador, abra la consola deIBM Cloud.
-
Seleccione el
menú de navegación, luego haga clic en el ícono de Infraestructura
> Red > Subredes.
-
Haga clic en Crear en la tabla de listas Subredes para VPC.
-
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.
-
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.
- Nombre: especifique un identificador exclusivo para la subred, como por ejemplo
-
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.
-
-
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:
- Configure el entorno de la API.
- Guarda cualquier variable adicional que vayas a utilizar en comandos de la API.
| Parámetros de consulta | Información |
|---|---|
versionRequerido 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}$ |
generationRequerido int32 |
La generación de infraestructuras. Valores posibles: 2 |
| Cuerpo de la solicitud Obligatorio |
El objeto prototipo de subred. |
vpcRequerido string |
La VPC en la que reside esta subred. Uno de: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref |
ip_versionstring |
La versión de IP que debe admitir esta subred. Valores permitidos: [ipv4] |
nameRequerido 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_aclstring |
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_gatewaystring |
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_groupResourceGroupIdentityById |
Grupo de recursos para utilizar. Si no se especifica, se utiliza el grupo de recursos predeterminado de la cuenta. |
routing_tablestring |
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 |
SubnetByTotalCountint 64o SubnetByCIDRstring |
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:
| Cuerpo de respuesta | Detalles |
|---|---|
available_ipv4_address_countSiempre 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_atSiempre incluido date-time |
La fecha y la hora en que se creó esta subred. |
crnSiempre 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 |
hrefSiempre 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 |
idSiempre 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_versionSiempre incluido string |
Las versiones IP compatibles con esta subred. Valores posibles: [ipv4] |
ipv4_cidr_blockSiempre 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 |
nameSiempre 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 incluidoNetworkACLReference |
resource_groupSiempre incluido ResourceGroupReference |
El grupo de recursos para esta subred. |
resource_typeSiempre 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_tableSiempre incluido RoutingTableReference |
La tabla de enrutamiento para esta subred. |
statusSiempre incluido string |
El estado de la subred. Valores posibles: available,deleting,failed, pending |
total_ipv4_address_countSiempre incluido int64 |
|
vpcSiempre incluido VPCReference |
La VPC en la que reside esta subred. |
zoneSiempre incluido ZoneReference |
La zona en la que se encuentra esta subred. |
public_gatewayPublicGatewayReference |
La puerta de enlace pública que se utilizará para el tráfico destinado a Internet para esta subred. |
| 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:
- Configure el entorno de la API.
- Guarda cualquier variable adicional que vayas a utilizar en comandos de la API.
| Parámetros de consulta | Información |
|---|---|
idRequerido string |
El identificador de subred. Valores posibles: 1 ≤ longitud ≤ 64. El valor debe cumplir con la expresión regular. ^[-0-9a-z_]+$ |
versionRequerido 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}$ |
generationRequerido int32 |
La generación de infraestructuras. Valores permitidos: 2 |
- 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:
| Cuerpo de respuesta | Detalles |
|---|---|
available_ipv4_address_countSiempre 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_atSiempre se incluye fecha-hora |
La fecha y la hora en que se creó esta subred. |
crnSiempre 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 |
hrefSiempre 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 |
idSiempre 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_versionSiempre incluido string |
Las versiones IP compatibles con esta subred. Valores posibles: [ipv4] |
ipv4_cidr_blockSiempre 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 |
nameSiempre 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_groupSiempre incluido ResourceGroupReference |
El grupo de recursos para esta subred. |
resource_typeSiempre 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_tableSiempre incluido RoutingTableReference |
La tabla de enrutamiento para esta subred. |
statusSiempre incluido string |
El estado de la subred. Valores posibles: available,deleting,failed, pending |
total_ipv4_address_countSiempre incluido int64 |
|
vpcSiempre incluido VPCReference |
La VPC en la que reside esta subred. |
zoneSiempre incluido ZoneReference |
La zona en la que se encuentra esta subred. |
public_gatewayPublicGatewayReference |
La puerta de enlace pública que se utilizará para el tráfico destinado a Internet para esta subred. |
| 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.