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 especificapublic_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:
-
En el navegador, abra la consola deIBM Cloud.
-
Seleccione el
menú de navegación, luego haga clic en el ícono de Infraestructura
> Red > Subredes.
-
Pulse Crear + en la tabla de lista Subredes para VPC.
-
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.
-
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.
- Nombre: especifique un identificador exclusivo para la subred, como por ejemplo
-
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:
- Configure el entorno de la API.
- Almacena las variables adicionales que se utilizarán en los comandos de la API.
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:
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 |
|
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 |
|
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 |
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:
- Configure el entorno de la API.
- Almacena las variables adicionales que se utilizarán en los comandos de la API.
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 |
- 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:
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 |
|
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 |
|
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 |
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.