Trabalho com sub-redes
As sub-redes ajudam o seu tráfego de rede a percorrer caminhos mais eficientes desde a origem até o destino. Você pode usar ACLs de rede com sub-redes para proteger seus recursos dentro de cada sub-rede.
Antes de Iniciar
Antes de começar, você deve ser designado uma ou mais funções de acesso IAM que incluam as seguintes ações, dependendo de quaisquer condições listadas. Você pode verificar seu acesso acessando Usuários > Usuário > Acesso.
is.subnet.subnet.createis.public-gateway.public-gateway.operate(obrigatório quandopublic_gatewayé especificado)is.network-acl.network-acl.operate
Criação de sub-redes
É possível criar sub-redes usando o console, a CLI ou a API.
Se você utilizar um intervalo de IPs fora dos intervalos definidos pela RFC 1918 (10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/16)
para uma sub-rede, as instâncias conectadas a essa sub-rede podem não conseguir acessar partes da Internet. Se você planeja configurar VPCs que utilizem endereços de rede privada ( non-RFC-1918 ) e também tenham conectividade pública (endereços
IP flutuantes ou gateways públicos), certifique-se de configurar uma rota personalizada com a ação “ Delegate-VPC ”.
Criação de sub-redes no console
Para criar uma sub-rede no console, siga estas etapas:
-
A partir do seu navegador, abra o IBM Cloud console.
-
Selecione o menu Navegação
e clique em
de infraestrutura > Rede > Sub-redes.
-
Clique em Create (Criar ) na tabela da lista Subnets for VPC.
-
Na seção “Localização”, forneça as seguintes informações:
- Geografia: indique a área geral onde deseja que a sub-rede seja criada.
- Região: indique a região onde deseja que a sub-rede seja criada.
- Zona: indique a zona onde deseja que a sub-rede seja criada.
-
Na seção “Detalhes”, forneça as seguintes informações:
- Nome: Digite um identificador único para a sub-rede, como
my-subnet. - Grupo de recursos: Selecione um grupo de recursos para a sub-rede.
- Tags: Opcionalmente, adiciona-se quaisquer tags relevantes para ajudar a agrupar suas sub-redes.
- Tags de gerenciamento de acesso: Opcionalmente, adiciona tags de gerenciamento de acesso a recursos para ajudar a organizar as relações de controle de acesso. O único formato suportado para as tags de gerenciamento de
acesso é
key:value. Para obter mais informações, consulte Controlando o acesso aos recursos usando tags. - Nuvem privada virtual: selecione a VPC na qual deseja que a sub-rede seja criada.
- Nome: Digite um identificador único para a sub-rede, como
-
Na seção de seleção de intervalo de IP, forneça as seguintes informações:
-
Faixa de IP: O local mais eficiente para sua faixa de IP é calculado automaticamente. Se você deseja customizar a faixa de IP em vez de aceitar a seleção padrão, selecione um prefixo de endereço diferente, altere o número de endereços ou digite seu intervalo de IP manualmente.
-
Prefixo do endereço: Selecione o prefixo da rede básica para sua sub-rede. Isso determina o intervalo de IP maior a partir do qual os endereços IP de sua sub-rede são alocados. Escolha entre os prefixos disponíveis em sua VPC.
-
Total de endereços IP: Selecione o número total de endereços IPv4 necessários.
-
Espaço de endereços: Exibe o intervalo completo de endereços IP do prefixo selecionado em sua VPC. Esse intervalo define os limites dentro dos quais você pode alocar intervalos de IP de sub-rede.
-
Tabela de roteamento: selecione qual tabela de roteamento você deseja que a nova sub-rede use.
-
Lista de controle de acesso à sub-rede: Selecione qual lista de controle de acesso você deseja que a nova sub-rede use.
-
gateway público: Indique se você deseja que a sub-rede se comunique com a internet pública, alternando o switch para Anexado.
A conexão de um gateway público cria um IP flutuante e gera um custo.
-
-
No painel Resumo, clique em Criar sub-rede.
Guia de recursos anexados
A guia Attached Resources (Recursos anexados) lista todos os recursos anexados à sub-rede e permite a criação de:
- INSTÂNCIAS
- Servidores bare metal
- Modelos de instância
- Grupos de instâncias
- Balanceadores de carga.
- Gateways VPN
- Gateways de terminal virtual
- Servidores VPN
Clique em Create (Criar ) na tabela da lista de recursos do recurso que você deseja criar. Você será direcionado para o respectivo fluxo de trabalho de criação de recurso, onde poderá iniciar o processo de criação do recurso.
Guia IPs reservados
A guia IPs reservados lista todos os endereços IP reservados para a sub-rede. Para obter mais informações, consulte Gerenciamento de endereços IP.
Criação de sub-redes pela CLI
Para criar sub-redes pela CLI, execute o seguinte 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]
Em que:
SUBNET_NAME- Nome da sub-rede.
VPC- ID ou nome da VPC.
--ipv4-cidr-block- o intervalo do IPv4 da sub-rede. Essa opção é mutuamente exclusiva com a opção “
--ipv4-address-count”. --ipv4-address-count- O número total de IPv4 endereços necessários deve ser uma potência de 2 e o valor mínimo é 8. Essa opção é mutuamente exclusiva com a opção “
--ipv4-cidr-block”. --zone- Nome da zona.
--acl- O ID ou o nome da ACL de rede.
--pgw- O ID ou o nome do gateway público.
--rt- O ID ou o nome da tabela de roteamento. Essa opção também é compatível com o nome do recurso de nuvem (CRN) da tabela de roteamento.
--resource-group-id- O ID do grupo de recursos. Este ID é mutuamente exclusivo com
--resource-group-name. --resource-group-name- Nome do grupo de recursos. Esse nome é mutuamente exclusivo com
--resource-group-id. --output- Especifique o formato de saída. Somente JSON é suportado. Um de:
JSON. -q, --quiet- Suprimir a saída detalhada.
Criação de sub-redes com a API
Siga estas instruções para criar sub-redes usando a API:
- Configure o seu Ambiente de API.
- Armazene quaisquer variáveis adicionais a serem utilizadas nos comandos da API.
| Parâmetros de consulta | Informações |
|---|---|
versionNecessário string |
Solicita a versão da API válida a partir de uma data no formato YYYY-MM-DD. É possível fornecer qualquer data até a data atual. Especifique a data atual para solicitar a versão mais recente.Valores possíveis: O valor deve corresponder à expressão regular ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ |
generationNecessário int32 |
A geração de infraestrutura. Valores possíveis: 2 |
| Corpo da solicitação Obrigatório |
O objeto protótipo da sub-rede. |
vpcNecessário string |
A VPC em que essa sub-rede reside. Um dos seguintes: VPCIdentityById, VPCIdentityByCRN, VPCIdentityByHref |
ip_versionstring |
A versão do IP a ser suportada para esta sub-rede. Valores permitidos: [ipv4] |
nameNecessário string |
O nome desta sub-rede. O nome não deve ser usado por outra sub-rede na VPC. Se não for especificado, o nome será uma lista com hífen de palavras selecionadas aleatoriamente. Valores possíveis: 1 ≤ comprimento ≤ 63, O valor deve corresponder à expressão regular ([a-z]|[a-z][-a-z0-9]*[a-z0-9])$Exemplo: my-subnet |
network_aclstring |
A ACL de rede a ser usada para esta sub-rede. Se não for especificado, será utilizada a ACL de rede padrão para a VPC. Um dos seguintes: NetworkACLIdentityById, NetworkACLIdentityByCRN, NetworkACLIdentityHref |
public_gatewaystring |
O gateway público a ser usado para o tráfego destinado à Internet para esta sub-rede. Se não for especificado, a sub-rede não será anexada a um gateway público. Um dos seguintes: PublicGatewayIdentityById, PublicGatewayIdentityByCRN,
PublicGatewayIdentityByHref |
resource_groupResourceGroupIdentityById |
O Grupo de recursos a ser usado. Se não for especificado, será utilizado o grupo de recursos padrão da conta. |
routing_tablestring |
A tabela de roteamento a ser usada para esta sub-rede. Se não especificado, a tabela de roteamento padrão para o VPC é usada. As propriedades da tabela de route_direct_link_ingress roteamento, route_internet_ingress,
route_transit_gateway_ingress e route_vpc_zone_ingress devem ser false.Um dos seguintes: RoutingTableIdentityById, RoutingTableIdentityByCRN, RoutingTableIdentityByHref |
SubnetByTotalCountint 64ou SubnetByCIDRstring |
Para SubnetByTotalCount, especifique o número total de IPv4 endereços necessários. Para SubnetByCIDR, especifique o IPv4 intervalo da sub-rede, expresso no formato CIDR. Ambas as opções exigem um zone para que a sub-rede seja criada. |
Quando todas as variáveis forem iniciadas, envie a solicitação.
Consulte o seguinte exemplo:
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" }
}'
A resposta a seguir é exibida após você iniciar a solicitação:
| Corpo da Resposta | Detalhes |
|---|---|
available_ipv4_address_countSempre incluído int64 |
O número de endereços IPv4 nessa sub-rede que não estão em uso e não estão reservados pelo usuário ou pelo provedor. Exemplo: 15 |
created_atSempre incluído date-time |
A data e a hora em que essa sub-rede foi criada. |
crnSempre incluído string |
O CRN para esta sub-rede. Valores possíveis: 9 ≤ comprimento ≤ 512 Exemplo: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
hrefSempre incluído* string |
O URL para essa sub-rede Valores possíveis: 10 ≤ comprimento ≤ 8000, O valor deve corresponder à expressão regular ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$Exemplo: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
idSempre incluído string |
O identificador exclusivo dessa sub-rede Valores possíveis: 1 ≤ comprimento ≤ 64, O valor deve corresponder à expressão regular ^[-0-9a-z_]+$Exemplo: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
ip_versionSempre incluído string |
As versões IP suportadas por esta sub-rede. Valores possíveis: [ipv4] |
ipv4_cidr_blockSempre incluído string |
O intervalo IPv4 da sub-rede, que é expresso no formato CIDR. Valores possíveis: 9 ≤ comprimento ≤ 18, O valor deve corresponder à expressão 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]))$Exemplo: 10.0.0.0/24 |
nameSempre incluído string |
O nome desta sub-rede. O nome é exclusivo em todas as sub-redes da VPC. Valores possíveis: 1 ≤ comprimento ≤ 63, O valor deve corresponder à expressão 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]))$Exemplo: my-subnet |
network_acl |
Sempre incluídoNetworkACLReference |
resource_groupSempre incluído ResourceGroupReference |
O grupo de recursos para esta sub-rede. |
resource_typeSempre incluído string |
O tipo de recurso. Valores possíveis: 1 ≤ comprimento ≤ 128, O valor deve corresponder à expressão regular ^[a-z][a-z0-9]*(_[a-z0-9]+)*$Exemplo: subnet |
routing_tableSempre incluído RoutingTableReference |
A tabela de roteamento para esta sub-rede. |
statusSempre incluído string |
O status da sub-rede. Valores possíveis: available,deleting,failed, pending |
total_ipv4_address_countSempre incluído int64 |
|
vpcSempre incluído VPCReference |
A VPC em que essa sub-rede reside. |
zoneSempre incluído ZoneReference |
A zona em que essa sub-rede está localizada. |
public_gatewayPublicGatewayReference |
O gateway público a ser usado para o tráfego destinado à Internet para esta sub-rede. |
| Código de status | Significado |
|---|---|
201 |
A sub-rede foi criada com sucesso. |
400 |
Foi fornecido um objeto protótipo de sub-rede inválido. |
409 |
O objeto protótipo da sub-rede entra em conflito com outra sub-rede na VPC ou especifica um bloco CIDR fora dos prefixos de endereço da VPC. |
Para obter mais informações (incluindo Java exemplos em Node,, Python e Go), consulte o método criar uma sub-rede na referência da API VPC.
Visualização de sub-redes
Você pode visualizar os detalhes de uma sub-rede em seu VPC usando a UI, API ou CLI.
Visualizando sub-redes no console
Após a criação da sub-rede, ela aparece na lista Sub-redes para VPC.
Para visualizar os detalhes sobre uma sub-rede na lista do console, clique no link da sub-rede na coluna Nome. A guia Visão geral mostra as informações que você usou durante a criação da sub-rede.
Visualização de sub-redes pela CLI
Para visualizar os detalhes sobre uma sub-rede na VPC a partir da CLI, execute o seguinte comando:
ibmcloud is subnet SUBNET [--vpc VPC] [--show-attached] [--output JSON] [-q, --quiet]
Em que:
SUBNET- ID ou nome da sub-rede.
--vpc- ID ou nome da VPC. Só é necessário especificar o recurso exclusivo por nome dentro desta VPC.
--show-attached- Visualizar detalhes dos recursos (instâncias, balanceadores de carga, gateways VPN) conectados à sub-rede.
--output- Especifique o formato de saída. Somente JSON é suportado. Um de: JSON.
-q, --quiet- Suprimir a saída detalhada.
Visualização de sub-redes com a API
Para chamar esse método, você deve ter designada uma ou mais funções de acesso do IAM que incluam a ação a seguir. Você pode verificar seu acesso acessando Usuários > Usuário > Acesso.
is.subnet.subnet.read
Siga estas instruções para recuperar uma sub-rede em seu VPC usando a API:
- Configure o seu Ambiente de API.
- Armazene quaisquer variáveis adicionais a serem utilizadas nos comandos da API.
| Parâmetros de consulta | Informações |
|---|---|
idNecessário string |
O identificador da sub-rede. Valores possíveis: 1 ≤ comprimento ≤ 64; o valor deve corresponder à expressão regular ^[-0-9a-z_]+$ |
versionNecessário string |
Solicita a versão da API válida a partir de uma data no formato YYYY-MM-DD. É possível fornecer qualquer data até a data atual. Especifique a data atual para solicitar a versão mais recente.Valores possíveis: O valor deve corresponder à expressão regular ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ |
generationNecessário int32 |
A geração de infraestrutura. Valores permitidos: 2 |
- Quando todas as variáveis estiverem definidas, execute o comando.
Consulte o seguinte exemplo:
curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet_id?version=2022-10-31&generation=2"
-H "Authorization: Bearer $iam_token"
A resposta a seguir é exibida após você iniciar a solicitação:
| Corpo da Resposta | Detalhes |
|---|---|
available_ipv4_address_countSempre incluído int64 |
O número de endereços IPv4 nessa sub-rede que não estão em uso e não estão reservados pelo usuário ou pelo provedor. Exemplo: 15 |
created_atSempre incluído date-time |
A data e a hora em que essa sub-rede foi criada. |
crnSempre incluído string |
O CRN para essa sub-rede Valores possíveis: 9 ≤ comprimento ≤ 512 Exemplo: crn:v1:bluemix:public:is:us-south-1:a/123456::subnet:7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
hrefSempre incluído* string |
O URL para essa sub-rede Valores possíveis: 10 ≤ comprimento ≤ 8000, O valor deve corresponder à expressão regular ^http(s)?://([^/?#]*)([^?#]*)(?([^#]*))?(#(.*))?$Exemplo: https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
idSempre incluído string |
O identificador exclusivo dessa sub-rede Valores possíveis: 1 ≤ comprimento ≤ 64, O valor deve corresponder à expressão regular ^[-0-9a-z_]+$Exemplo: 7ec86020-1c6e-4889-b3f0-a15f2e50f87e |
ip_versionSempre incluído string |
As versões IP suportadas por esta sub-rede. Valores possíveis: [ipv4] |
ipv4_cidr_blockSempre incluído string |
O intervalo de endereços IPv4 da sub-rede, expresso no formato CIDR. Valores possíveis: 9 ≤ comprimento ≤ 18, O valor deve corresponder à expressão 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]))$Exemplo: 10.0.0.0/24 |
nameSempre incluído string |
O nome desta sub-rede. O nome é exclusivo em todas as sub-redes da VPC. Valores possíveis: 1 ≤ comprimento ≤ 63, O valor deve corresponder à expressão 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]))$Exemplo: my-subnet |
network_acl |
Sempre incluído NetworkACLReference |
resource_groupSempre incluído ResourceGroupReference |
O grupo de recursos para esta sub-rede. |
resource_typeSempre incluído string |
O tipo de recurso. Valores possíveis: 1 ≤ comprimento ≤ 128, O valor deve corresponder à expressão regular ^[a-z][a-z0-9]*(_[a-z0-9]+)*$Exemplo: subnet |
routing_tableSempre incluído RoutingTableReference |
A tabela de roteamento para esta sub-rede. |
statusSempre incluído string |
O status da sub-rede. Valores possíveis: available,deleting,failed, pending |
total_ipv4_address_countSempre incluído int64 |
|
vpcSempre incluído VPCReference |
A VPC em que essa sub-rede reside. |
zoneSempre incluído ZoneReference |
A zona em que essa sub-rede está localizada. |
public_gatewayPublicGatewayReference |
O gateway público a ser usado para o tráfego destinado à Internet para esta sub-rede. |
| Código de status | Significado |
|---|---|
200 |
A sub-rede foi recuperada com sucesso. |
404 |
Não foi possível localizar uma sub-rede com o identificador especificado. |
Para obter mais informações (incluindo exemplos Java em Node,, Python e Go), consulte “Recuperar uma sub-rede” na referência da API VPC.