Como Trabalhar com Instâncias

O Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação, conhecidos como instâncias. Você pode criar instâncias conforme necessário para atender aos seus requisitos de computação e aplicativo. Depois de criar uma instância, você pode acessá-la de forma segura pelo seu computador, reiniciá-la, anexar e desanexar volumes e encerrá-la quando terminar de usá-la.

Zonas de Segurança

As Zonas de Segurança garantem que os recursos da nuvem sejam compatíveis com os princípios de segurança Oracle. Se qualquer operação em um recurso de um compartimento de zona de segurança violar uma política dessa zona de segurança, a operação será negada.

As seguintes políticas de zona de segurança afetam a capacidade de criar instâncias:

  • O volume de inicialização de uma instância de computação em uma zona de segurança também deve estar na mesma zona de segurança.
  • Uma instância do serviço Compute que não está em uma zona de segurança não pode usar um volume de inicialização que está em uma zona de segurança.
  • Uma instância do serviço Compute em uma zona de segurança deverá usar sub-redes que também estejam na mesma zona de segurança.
  • Todas as instâncias do serviço Compute em uma zona de segurança devem ser criadas usando imagens da plataforma. Não é possível criar uma instância de computação tendo por base uma imagem personalizada em uma zona de segurança.
Importante

A falha na implementação de uma das políticas de zona de segurança listadas pode impedir a criação de uma instância.

Política Obrigatória do IAM para Trabalhar com Instâncias

Para usar o Oracle Cloud Infrastructure, um administrador deve ser membro de um grupo com acesso de segurança concedido em uma política por um administrador da tenancy. Esse acesso será necessário se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você receber uma mensagem de que não tem permissão ou que não está autorizado, verifique com o administrador da tenancy qual tipo de acesso você tem e em qual compartimento seu acesso funciona.

Dica

Quando você cria uma instância, vários outros recursos estão envolvidos, como uma imagem, uma rede na nuvem e uma sub-rede. Esses outros recursos podem estar no mesmo compartimento  com a instância ou em outros compartimentos. Você deve ter o nível necessário de acesso a cada compartimento envolvido para iniciar a instância. Isso também é verdadeiro quando você anexa um volume a uma instância; eles não precisam estar no mesmo compartimento, mas se não estiverem, você precisará do nível de acesso necessário para cada um dos compartimentos.

Para administradores: A política mais simples para permitir que os usuários criem, editem e encerrem (excluam) instâncias é listada em Permitir que os usuários iniciem instâncias de computação. Isso dá ao grupo especificado acesso geral ao gerenciamento de instâncias e imagens, com o nível de acesso necessário para anexar volumes em blocos existentes às instâncias. Se o grupo especificado não precisar iniciar instâncias ou anexar volumes, você poderá simplificar essa política para incluir apenas manage instance-family e remover as instruções que envolvem volume-family e virtual-network-family.

Se o grupo precisar criar volumes em blocos, ele precisará da capacidade de gerenciar volumes em blocos. Consulte Permitir que os administradores de volumes gerenciem volumes em blocos, backups e grupos de volumes.

Se o grupo precisar de acesso a imagens da comunidade especificamente, ele precisará da capacidade de ler imagens da comunidade. Consulte Publishing Community Applications.

Se você for novo em políticas, consulte Gerenciando Domínios de Identidades e Políticas Comuns. Para obter material de referência sobre como escrever políticas para instâncias, redes na nuvem ou outros recursos da API de Serviços Principais, consulte Detalhes para Serviços Principais.

Algumas tarefas do serviço Compute exigem políticas adicionais, conforme descrito nas seções a seguir.

Catálogo de Imagens do Parceiro

Se o grupo precisar criar instâncias com base em imagens do parceiro, elas precisarão ter a permissão de gerenciamento de app-catalog-listing para criar assinaturas de imagens do catálogo de Imagens do Parceiro. Consulte Permitir que os usuários listem e assinem imagens do catálogo de Imagens do Parceiro .

Acesso SSH e Área de Trabalho Remota

Para usuários: Para conectar-se a uma instância em execução com uma conexão SSH (Secure Shell) ou Área de Trabalho Remota, você não precisa de uma política do IAM para conceder a você o acesso. No entanto, você precisa do endereço IP público da instância.

Para administradores: Se houver uma política que permita aos usuários iniciar uma instância, essa política provavelmente também permitirá que os usuários obtenham o endereço IP da instância. A política mais simples que permite ambas as coisas está listada em Permitir que os usuários iniciem instâncias de computação.

Aqui está uma política mais restritiva que permite que o grupo especificado obtenha o endereço IP de instâncias existentes e use ações de configuração nas instâncias (por exemplo, interromper ou iniciar a instância), mas não inicialize ou encerre instâncias. A política assume que as instâncias e a rede na nuvem estão juntas em um único compartimento (XYZ).

Allow group InstanceUsers to read virtual-network-family in compartment XYZ
Allow group InstanceUsers to use instance-family in compartment XYZ

Serviço de Metadados da Instância (IMDS)

Para usuários: Nenhuma política do IAM será necessária se você tiver feito log-in na instância e estiver usando o cURL para obter os metadados da instância.

Para administradores: Os usuários também podem obter metadados de instância por meio da API do serviço Compute (por exemplo, com GetInstance ). A política em Permitir que os usuários iniciem instâncias de computação abrange essa capacidade.

Para exigir que os pontos finais IMDSv1 legados sejam desativados em quaisquer novas instâncias criadas, use a seguinte política:

Allow group InstanceLaunchers to manage instances in compartment ABC 
  where request.instanceOptions.areLegacyEndpointsDisabled= 'true'

Reservas de Capacidade

Para administradores: Os exemplos a seguir exibem políticas típicas que fornecem acesso a reservas de capacidade. Crie a política na tenancy de modo que o acesso seja facilmente concedido a todos os compartimentos por meio da herança de políticas. Para reduzir o escopo do acesso às reservas de capacidade em um compartimento específico, especifique esse compartimento, em vez da tenancy.

Tipo de acesso: Capacidade de iniciar uma instância em uma reserva.

Allow group InstanceLaunchers to use compute-capacity-reservations in tenancy
                            

Tipo de acesso: Capacidade de gerenciar reservas de capacidade.

Allow group InstanceLaunchers to manage compute-capacity-reservations in tenancy
                            

Comando Executar

Para administradores: Para criar a política para o recurso do comando de execução:

  1. Crie um grupo que inclua os usuários que você deseja permitir que emitam comandos, cancelem comandos e exibam a saída de comando das instâncias em um compartimento. Em seguida, crie a seguinte política para conceder acesso ao grupo:

    Allow group RunCommandUsers to manage instance-agent-command-family in compartment ABC
  2. Crie um grupo dinâmico que inclua as instâncias nas quais você deseja permitir que os comandos sejam executados. Por exemplo, uma regra dentro do grupo dinâmico pode indicar:

    any { instance.id1 = 'ocid1.instance.oc1.phx.<unique_ID_1>', instance.id2 = 'ocid2.instance.oc1.phx.<unique_ID_2>' }
  3. Crie a seguinte política para conceder acesso ao grupo dinâmico:
    Observação

    Se você criar uma instância e adicioná-la a um grupo dinâmico, levará até 30 minutos para que a instância comece a sondar comandos. Se você criar o grupo dinâmico primeiro e, em seguida, criar a instância, ela começará a sondar comandos assim que for criada.
    Allow dynamic-group RunCommandDynamicGroup to use instance-agent-command-execution-family in compartment ABC where request.instance.id=target.instance.id
  4. Para permitir que o grupo dinâmico acesse o arquivo de script de um bucket do serviço Object Storage e salve a resposta em um bucket do serviço Object Storage, crie as seguintes políticas:

    Allow dynamic-group RunCommandDynamicGroup to read objects in compartment ABC where all {target.bucket.name = '<bucket_with_script_file>'}
    Allow dynamic-group RunCommandDynamicGroup to manage objects in compartment ABC where all {target.bucket.name = '<bucket_for_command_output>'}

Tipos de Inicialização de Rede Recomendados para Instâncias do Serviço Compute

Ao criar uma instância de VM, por padrão, o Oracle Cloud Infrastructure escolhe um tipo de rede recomendado para a VNIC com base na forma da instância e na imagem do sistema operacional. A interface de rede trata funções como entrada/saída de disco e comunicação de rede.

Os seguintes tipos de rede estão disponíveis:

  • Rede paravirtualizada: Para cargas de trabalho de finalidades gerais, como aplicativos empresariais, microsserviços e bancos de dados pequenos. A rede paravirtualizada também oferece maior flexibilidade para usar a mesma imagem em diferentes plataformas de hardware. As imagens do Linux com rede paravirtualizada suportam migração ao vivo durante a manutenção de infraestrutura.
  • Rede assistida por hardware (SR-IOV): Virtualização de entrada/saída de raiz única. Para cargas de trabalho de baixa latência, como streaming de vídeo, aplicativos em tempo real e bancos de dados de grande porte ou clusterizados. A rede assistida por hardware (SR-IOV) usa a estrutura do driver VFIO.
Importante

Para usar um tipo de rede específico, a forma e a imagem devem suportar esse tipo de rede.

Formas: A tabela a seguir lista os tipos de rede padrão e suportados para formas de VM.

Forma Tipo de Rede Padrão Tipos de Rede Suportados
Série VM.Standard1 SR-IOV Paravirtualizado, SR-IOV
Série VM.Standard2 Paravirtualizada Paravirtualizado, SR-IOV
VM.Standard3.Flex Paravirtualizada Paravirtualizado, SR-IOV
Série VM.Standard.E2 Paravirtualizada Somente paravirtualizado
VM.Standard.E3.Flex

Paravirtualizada

Paravirtualizado, SR-IOV
VM.Standard.E4.Flex

Paravirtualizada

Paravirtualizado, SR-IOV
VM.Standard.E5.Flex

Paravirtualizada

Paravirtualizado, SR-IOV
VM.Standard.E6. Flex

Paravirtualizada

Paravirtualizado, SR-IOV
VM.Standard.A1.Flex1 Paravirtualizada Paravirtualizado, SR-IOV
Série VM.DenseIO1 SR-IOV Paravirtualizado, SR-IOV
Série VM.DenseIO2 Paravirtualizada Paravirtualizado, SR-IOV
VM.DenseIO.E4.Flex Paravirtualizada Paravirtualizado, SR-IOV
Série VM.GPU2 SR-IOV Paravirtualizado, SR-IOV
Série VM.GPU3 SR-IOV Paravirtualizado, SR-IOV
Série VM.GPU.A10 SR-IOV Paravirtualizado, SR-IOV
VM.Optimized3.Flex

Paravirtualizada

Paravirtualizado, SR-IOV

Imagens: Há suporte para rede paravirtualizada nestas imagens de plataforma:

  • Oracle Linux 9, Oracle Linux 8, Oracle Autonomous Linux 8.x, Oracle Autonomous Linux 7.x, Oracle Linux Cloud Developer 8: Todas as imagens.
  • Oracle Linux 7: Imagens publicadas em março de 2019 ou mais recentemente.
  • CentOS Stream 8, CentOS 7: Imagens publicadas a partir de julho de 2019.
  • Ubuntu 22.04, Ubuntu 20.04: Todas as imagens.
  • Ubuntu 18.04: Imagens publicadas a partir de março de 2019.
  • Windows Server 2022, Windows Server 2019: Todas as imagens.
  • Windows Server 2016, Windows Server 2012 R2: Imagens publicadas a partir de agosto de 2019.

A rede SR-IOV é suportada em todas as imagens da plataforma, com as seguintes exceções:

  • Imagens de formas baseadas na arquitetura Arm não são compatíveis com a rede SR-IOV.
  • No Windows Server 2019 e no Windows Server 2022, quando iniciados usando uma forma na série VM.Standard2, não há suporte para a rede SR-IOV.
  • No Windows Server 2012 R2, a rede SR-IOV é suportada em imagens de plataforma lançadas em abril de 2021 ou posteriormente.
  • A opção de instalação Server Core para o Windows Server não suporta a rede SR-IOV.

Diagnosticando e Solucionando Problemas de Erros de Criação Usando Solicitações de Serviço

As solicitações de serviço ajudam você a monitorar operações de longa execução, como backups de bancos de dados ou o provisionamento de instâncias de computação.

Se uma operação, como a operação de criação de instância, falhar ou se o estado da instância se mover diretamente do provisionamento para o encerramento, use as solicitações de serviço para determinar onde ocorreu o erro no workflow. Podem ocorrer erros por causa de problemas na configuração ou problemas com os dados do usuário. Erros síncronos ocorrem durante a chamada inicial à API do serviço Compute para criar a instância. Ocorrem erros assíncronos durante o workflow de criação da instância que ocorre após a chamada de API inicial. As solicitações de serviço capturam falhas de validação assíncronas. Uma chamada de API de criação de instância bem-sucedida que retorna uma resposta HTTP 200 pode ser seguida por um erro assíncrono durante o workflow de criação de instância subsequente.

A resposta à chamada da API REST contém o OCID da solicitação de serviço no cabeçalho opc-work-request-id. Você pode monitorar o status da solicitação de serviço a qualquer momento, chamando GetWorkRequest na API de Solicitações de Serviço e especificando o ID da solicitação de serviço encontrado no cabeçalho opc-work-request-id. Se ocorrer um erro durante o workflow, você poderá chamar ListWorkRequestErrors na API de Solicitações de Serviço e especificar o ID da solicitação de serviço para recuperar uma lista de erros.

Para obter informações sobre como usar solicitações de serviço para solucionar erros, consulte Solicitações de Serviço. Para obter informações detalhadas sobre solicitações de serviço assíncronas, incluindo como filtrar a resposta da solicitação e uma solicitação e resposta de amostra, consulte Solicitações de Serviço Assíncronas.

Gerenciando Tags de uma Instância

Aplique tags aos recursos para ajudar a organizá-los de acordo com as necessidades da sua empresa. Você pode aplicar tags ao criar um recurso e pode atualizar um recurso posteriormente para adicionar, revisar ou remover tags. Para obter informações gerais sobre a aplicação de tags, consulte Tags de Recursos.

Para gerenciar tags de uma instância:

  1. Abra o menu de navegação e selecione Computação. Em Compute, selecione Instâncias.
  2. Selecione a instância do seu interesse.

  3. Selecione a guia Tags para exibir ou editar as tags existentes. Ou clique em Mais Ações e, em seguida, clique em Adicionar tags para adicionar novas.