Este documento explica as práticas recomendadas quando usa famílias de imagens no Compute Engine.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Famílias de imagens públicas
O Motor de Cálculo fornece famílias de imagens para ajudar a garantir que os seus sistemas de automatização podem fazer referência às imagens mais recentes. Enquanto administrador, pode agrupar um conjunto de imagens como uma família de imagens. Em seguida, os utilizadores das imagens só têm de acompanhar o nome da família de imagens, em vez de um nome de imagem exato. Uma vez que os nomes das imagens têm de ser exclusivos, os pipelines de compilação de imagens criam frequentemente nomes de imagens com informações codificadas, como o nome da aplicação, a data e a versão, por exemplo,
my-application-v3-20210101
. Nas ferramentas de automatização, pode fazer referência ao nome da família de imagens em vez de ter de atualizar o nome da imagem em intervalos. A utilização de famílias de imagens garante que acede sempre à imagem mais recente da família, por exemplo,my-application
.As imagens públicas são agrupadas em famílias de imagens. Uma família de imagens pública aponta sempre para a versão mais recente de uma imagem disponível em cada zona. Quando são lançadas novas imagens a nível global, a respetiva disponibilidade inicial nas famílias de imagens depende da zona, o que melhora a tolerância a falhas zonais para os seus fluxos de trabalho durante as atualizações de imagens da Google.
Durante a implementação de imagens, a versão mais recente de uma imagem numa família de imagens pode ser diferente em diferentes zonas. Por exemplo, a família de imagens
debian-12
no projetodebian-cloud
aponta sempre para a imagem Debian 12 mais recente, mas a imagem Debian 12 mais recente na zonaus-central1-a
esouthamerica-east1-b
pode ser diferente.Quando cria VMs a partir de famílias de imagens através da CLI do Google Cloud, o Compute Engine usa a imagem mais recente disponível na zona da VM para o seu pedido. Quando cria VMs através da Google Cloud consola, o Compute Engine apenas apresenta as imagens públicas disponíveis na zona selecionada. Se quiser criar VMs com a imagem disponível mais recente a nível global, use o comando
instances create
da CLI gcloud e especifique--image-family-scope=global
.Ver a versão de imagem mais recente disponível
Pode ver a imagem disponível mais recente a nível global numa família de imagens ou ver a imagem mais recente disponível numa zona específica.
A nível global
Para ver a imagem mais recente disponível globalmente numa família de imagens, use um dos seguintes métodos:
gcloud
Use o comando
gcloud compute images describe-from-family
:gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT
Substitua o seguinte:
IMAGE_FAMILY_NAME
: o nome da família de imagens que quer pesquisar. Para uma lista completa dos nomes das famílias de imagens, consulte os detalhes do sistema operativo.IMAGE_PROJECT
: o nome do projeto de imagem. Para ver uma lista completa dos nomes dos projetos de imagens, consulte os detalhes do sistema operativo.
REST
Faça um pedido
GET
ao métodoimages.getFromFamily
:GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME
Substitua o seguinte:
IMAGE_PROJECT
: o nome do projeto de imagem. Para ver uma lista completa dos nomes dos projetos de imagens, consulte os detalhes do sistema operativo.IMAGE_FAMILY_NAME
: o nome da família de imagens que quer pesquisar. Para uma lista completa dos nomes das famílias de imagens, consulte os detalhes do sistema operativo.
Por zona
Para ver a imagem mais recente disponível numa família de imagens para uma zona específica, use um dos seguintes métodos:
gcloud
Use o
gcloud compute images describe-from-family
comando com a flag--zone
:gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT \ --zone=ZONE
Substitua o seguinte:
IMAGE_FAMILY_NAME
: o nome da família de imagens que quer pesquisar. Para uma lista completa dos nomes das famílias de imagens, consulte os detalhes do sistema operativo.IMAGE_PROJECT
: o nome do projeto de imagem. Para ver uma lista completa dos nomes dos projetos de imagens, consulte os detalhes do sistema operativo.ZONE
: a zona que quer consultar.
REST
Faça um pedido
GET
ao métodoimageFamilyViews
:GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/zones/ZONE/imageFamilyViews/IMAGE_FAMILY_NAME
Substitua o seguinte:
IMAGE_PROJECT
: o nome do projeto de imagem. Para ver uma lista completa dos nomes dos projetos de imagens, consulte os detalhes do sistema operativo.ZONE
: a zona que quer consultar.IMAGE_FAMILY_NAME
: o nome da família de imagens que quer pesquisar. Para uma lista completa dos nomes das famílias de imagens, consulte os detalhes do sistema operativo.
Famílias de imagens personalizadas
Pode criar famílias de imagens personalizadas para as suas imagens personalizadas. O conjunto de imagens aponta para a imagem mais recente que usou para criar o conjunto de imagens. Para reverter uma família de imagens para uma versão de imagem anterior, pode descontinuar a imagem mais recente nessa família, desde que a imagem anterior não esteja descontinuada. Para mais informações, consulte o artigo Definir versões de imagens numa família de imagens.
Para criar uma imagem com uma família de imagens ou criar uma família de imagens se não existir, tem de adicionar uma flag
--family
adicional ao passo de criação de imagens, por exemplo:gcloud compute images create my-application-v3-20210101 \ --source-disk my-application-disk-1 \ --source-disk-zone us-central1-f \ --family my-application
Depois de executar este comando, todas as chamadas para executar uma instância com base na imagem
my-application
apontam para a imagem recém-criada,my-application-v3-20210101
.Quando selecionar um nome para a sua família de imagens, reveja a Convenção de nomenclatura.
Como usar famílias de imagens
Embora as famílias de imagens lhe permitam fazer referência à imagem mais recente, esta pode introduzir incompatibilidade com a sua aplicação, o que pode causar problemas num ambiente de produção se não for validada. Se quiser tirar o máximo partido das vantagens das famílias de imagens e reduzir os riscos, recomendamos que teste a imagem referenciada mais recente da família de imagens antes de a usar no seu ambiente de produção.
Em resumo, pode considerar a seguinte abordagem:
- Configure um ambiente de teste separado do ambiente de produção.
- No ambiente de teste, conclua os seguintes passos:
- Crie uma família de imagens personalizada a partir da família de imagens de origem.
- Valide a estabilidade da nova imagem na família de imagens personalizadas em relação às suas cargas de trabalho.
- Após a validação, mova esta família de imagens personalizadas para um ambiente de produção.
Por exemplo, o processo pode ser semelhante ao procedimento seguinte.
No seu projeto de teste, crie uma imagem a partir da família de imagens de origem. Esta nova família de origens de imagens também tem de ter a sua própria família de imagens personalizada para referência no ambiente de teste. Para criar a imagem com uma família de imagens personalizada, execute o seguinte comando:
gcloud compute images create test-image-name \ --source-image-project source-project \ --source-image-family source-image-family \ --project test-project \ --family test-image-family
Substitua o seguinte:
test-image-name
: nome da imagem de teste.source-project
: projeto ao qual pertence a família de imagens de origem.source-image-family
: nome da imagem de origem da família.test-project
: nome do projeto de teste ao qual quer adicionar a família de imagens.test-image-family
: nome da sua família de imagens de teste.
Use a sua família de imagens personalizada
test-image-family
para criar uma VM para testar a sua carga de trabalho. Para criar a VM, execute o seguinte comando:gcloud compute instances create test-instance-name \ --image-family your-test-image-family \ --project test-project
Substitua o seguinte:
test-instance-name
: nome da sua instância de teste.test-image-family
: nome da sua família de imagens de teste.test-project
: nome do seu projeto de teste.
Quando tiver validado que esta imagem funciona bem para a sua carga de trabalho, copie a imagem para o seu ambiente de produção.
gcloud compute images create prod-image-name \ --source-image-family test-image-family \ --source-image-project test-project \ --project prod-project \ --family prod-image-family
Substitua o seguinte:
prod-image-name
: nome da imagem de produção.test-image-family
: nome da sua família de imagens de teste.test-project
: projeto ao qual a família de imagens de teste pertence.prod-project
: nome do seu projeto que está no ambiente de produção.prod-image-family
: nome da família de imagens que quer usar no seu ambiente de produção.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-23 UTC.
-