Volumes
GET /v1/instances/{instance_id}/volumes lista os anexos na ordem de inicialização, disco de inicialização primeiro, cada um resolvido com o nome atual do volume, camada, tamanho e status.
- Console
- API
- CLI
- Go
Attach volume na guia Volumes da instância abre uma caixa de diálogo pedindo o Volume e, opcionalmente, um Device name — Deixe em branco para atribuir o próximo nome disponível — um Mount path e um Filesystem. Apenas os volumes que a instância pode realmente assumir são oferecidos.
available, e a instância deve estar running ou stopped. O disco é conectado a quente; device escolhe o próximo slot livre (vdb, vdc, …) a menos que você nomeie um.
Com mount_path definido, o agente in-guest formata o disco — somente se ele estiver em branco — e o monta lá. fstype escolhe o sistema de arquivos: ext4 por padrão, ou xfs. Nada mais é aceito. Deixe mount_path vazio e você obtém o dispositivo de bloco e nada mais.
O desligamento é DELETE /v1/instances/{instance_id}/volumes/{volume_id}, também 202, também requer running ou stopped. No console, é a ação de linha na guia Volumes da instância, confirmada como Detach volume — e o disco de inicialização não tem esse controle lá, porque o desligamento é recusado de qualquer maneira.
Interfaces de rede
GET /v1/instances/{instance_id}/nics é a fonte de cada endereço de instância. Cada NIC retorna um array de addresses, com resumos IP flutuantes aninhados sob seu endereço de destino. O objeto de instância não tem campos de IP primário ou público.
Essa listagem é ordenada pelo índice de inicialização, principal primeiro, e cada entrada resolve o MAC, IPv4, IPv6, sub-rede e VPC atuais da interface.
O posicionamento retorna como um objeto subnet incorporado em vez dos antigos campos subnet_id e vpc_id. Ele carrega a VPC pai e o resumo da tabela de rotas nuláveis descrito em subnet placement, então subnet.name e subnet.vpc.name são legíveis diretamente da NIC — nenhuma leitura separada de subnet ou VPC é necessária para mostrar onde uma interface está localizada:
subnet é null quando a sub-rede referenciada não resolve mais — uma sub-rede excluída enquanto a NIC ainda a registra. Trate isso como um posicionamento indisponível e atualize; isso não significa que a interface não tenha sub-rede. Em Go, verifique nic.Subnet != nil antes de ler nic.Subnet.VPC.
As solicitações de lançamento usam referências de string networks[].subnet. Anexos de NIC posteriores requerem uma referência de interface existente. Não passe o objeto de sub-rede incorporado para qualquer operação.
Anexação e desmontagem
POST /v1/instances/{instance_id}/nics anexa uma interface autônoma existente usando o campo interface. Ele mantém seu endereço, MAC e grupos de segurança. Não é possível criar uma NIC durante o anexo: crie-a primeiro através da API de interface de rede. A separação retorna-o ao estado autônomo.
A instância deve ser running ou stoppedO anexo é durável no momento em que a chamada retorna — ele faz parte das especificações da instância e sobrevive a reinicializações — mas o convidado não tem o dispositivo quando a chamada retorna. A entrega é assíncrona e a resposta diz o que é necessário:
restart_required está ausente.
Uma instância running é dada ao dispositivo enquanto ele está em execução, onde a região pode fazer isso: o anexo não relata restart_required, e a interface aparece no convidado momentos depois. Pesquise GET /v1/instances/{instance_id}/nics para o anexo, ou observe o guest para um link que carrega o mac acima — esse MAC é a identidade da interface na rede, então é o que o dispositivo chega com.
Onde a região não pode, a resposta carrega restart_required: true, e uma reinicialização hard entrega-o:
Quantas interfaces uma instância pode carregar é uma propriedade da região, e também se um convidado em execução pode receber uma. Onde o limite é um, um segundo encadeamento é recusado com 409 e um lançamento pedindo dois com 400. Trate
restart_required como a resposta para a região em que você está ao invés de assumir qualquer comportamento: ele está ausente quando não há nada a fazer, mas espere.- Console
- API
- CLI
- Go
Abra a guia Networking da instância e escolha Attach NIC. Selecione uma Interface existente e, em seguida, Attach interface. A ação create do seletor abre a criação de interface quando você precisa de uma nova NIC autônoma.
Endereços públicos
networks[].floating_ip_assignment solicita IPs flutuantes públicos no lançamento:
Cada família solicitada precisa de um endereço diretamente anexado e uma rota padrão para um gateway de internet nessa família. As alocações contam contra a cota correspondente
floating_ips_v4 ou floating_ips_v6. Ativar o IPv6 posteriormente não adiciona um IP flutuante automaticamente.
Todos os endereços IPv4 públicos são IPs flutuantes. O acesso de saída IPv4 também pode usar um gateway NAT. O IPv6 global nativo pode alcançar a Internet sem um IP flutuante quando as regras de roteamento e segurança o permitirem; o ULA privado requer um IP flutuante IPv6 público para acesso à Internet. Anexando um FIP público faz o tráfego de saída de seu endereço de destino usar esse mapeamento. Um FIP privado traduz o tráfego para o endereço virtual privado e suas respostas, sem alterar a saída não relacionada.
