As programações de instâncias permitem que você inicie e interrompa instâncias de máquina virtual (VM) automaticamente. Para usar programações de instâncias, crie uma política de recursos que descreva o comportamento de início e parada e, em seguida, anexe a política a uma ou mais instâncias de VM.
O uso de programações de instâncias para automatizar a implantação de instâncias de VM pode ajudar você a otimizar custos e gerenciar instâncias de VM com mais eficiência. É possível usar programações de instâncias para cargas de trabalho recorrentes e únicas. Por exemplo, use programações de instâncias para executar somente instâncias de VM durante o horário de trabalho ou para fornecer capacidade para um evento de uso único.
Para saber mais sobre outras opções de programação automática de VMs, consulte as seguintes páginas:
Escalabilidade com base em programações: se você executar a carga de trabalho em um grupo gerenciado de instâncias (MIG), poderá usar programações de escalonamento para programar o número necessário de instâncias de máquina virtual (VM) para eventos recorrentes ou únicos.
Limitar o tempo de execução de uma VM: se você não quiser criar políticas de recursos, configure diretamente uma VM para ser interrompida ou excluída automaticamente quando ela atingir um tempo ou uma duração específicos.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
O agente de serviço do Compute Engine para o projeto. Isso é necessário para que a programação da instância seja executada em uma VM.
Se você revogar essas permissões após a criação de programações de instâncias, elas poderão parar de funcionar sem aviso prévio. Para verificar se as programações de instância foram executadas com êxito, verifique regularmente os registros de auditoria.
Conta de usuário ou de serviço que cria, gerencia ou usa a programação da instância.
-
compute.instances.start
-
compute.instances.stop
-
Crie uma programação de instância:
compute.resourcePolicies.create
-
Liste uma programação de instância:
compute.resourcePolicies.list
-
Descreva uma programação de instância:
compute.resourcePolicies.get
-
Exclua uma programação de instância:
compute.resourcePolicies.delete
-
Anexe uma programação de instância a uma nova VM:
-
compute.instances.create
-
compute.resourcePolicies.use
-
compute.instances.addResourcePolicies
-
-
Anexe uma programação de instância a uma VM atual:
-
compute.resourcePolicies.use
-
compute.instances.addResourcePolicies
-
-
Remova uma programação de instância de uma VM:
-
compute.resourcePolicies.use
-
compute.instances.removeResourcePolicies
-
- Só é possível anexar uma programação de instância a instâncias de VM localizadas na mesma região da programação da instância.
- Não é possível usar programações de instância para interromper uma instância que tenha discos SSD locais.
- Cada instância de VM pode seguir apenas uma programação de instância, mas é possível anexar cada programação a até mil instâncias de VM.
- As programações de instância não oferecem garantias de capacidade. Portanto, se os recursos necessários para uma instância de VM programada não estiverem disponíveis no momento programado, sua instância de VM poderá não ser iniciada quando programada. É possível reservar instâncias de VM antes de iniciá-las para fornecer garantias de capacidade, mas não é possível programar reservas automaticamente.
- As programações de instância só iniciam e interrompem instâncias de VM nos momentos especificados, mas é possível iniciar e interromper manualmente as instâncias de VM a qualquer momento. Por exemplo, suponha que você tenha uma programação que começa diariamente às 8h e é interrompida diariamente às 17h. Se você anexar essa programação a uma instância de VM interrompida às 16h, essa instância de VM só será iniciada às 8h do dia seguinte, a menos que você inicie manualmente a instância de VM antes disso.
- As instâncias de VM programadas podem levar até 15 minutos para iniciar uma operação de início ou parada. Se você precisa que as instâncias de VM sejam iniciadas ou interrompidas em um horário específico, programe a operação 15 minutos antes do necessário e programe cada operação com pelo menos 15 minutos de diferença.
- O programador poderá falhar se houver um intervalo de menos de 15 minutos entre as operações de inicialização e de interrupção. Isso ocorre porque a operação de interrupção pode ocorrer antes da operação de inicialização, impedindo que ela aconteça.
- Cada programação de instância permite ter até uma operação de inicialização e até uma operação de interrupção por hora.
- Para modificar a programação de uma instância, use uma operação de patch na política de programação de instâncias.
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na guia Programações da instância na parte superior da página.
.Clique em
Criar programação. O painel Criar uma programação será aberto.Digite um Nome.
Opcional: digite uma Descrição.
No menu suspenso Região, selecione o local da programação de instância.
Defina quando a programação da instância será iniciada e interromperá as instâncias de VM anexadas. Se você precisa que as instâncias de VM sejam iniciadas ou interrompidas em um horário específico, programe a operação 15 minutos antes do necessário. Certifique-se de que cada operação de inicialização e interrupção tenha pelo menos 15 minutos de diferença.
Use os campos padrão Horário de início, Horário de término e Frequência ou, se quiser configurar uma programação mais complexa, use expressões cron.
Campos padrão:
- Insira um Horário de início, um Horário de término ou ambos.
- No campo Horário de início, digite ou clique em para selecionar o horário de início das instâncias de VM.
- No campo Horário de término, digite ou clique em para selecionar o horário de término das instâncias de VM.
- No menu suspenso Frequência na parte inferior do painel, selecione com que frequência o horário de início e o horário de término se repetem.
- Insira um Horário de início, um Horário de término ou ambos.
Expressões cron:
- Para ativar as expressões cron, clique no botão Usar expressão CRON na parte superior do painel.
- Insira uma expressão Iniciar CRON, Interromper CRON ou ambas.
- No campo Iniciar expressão CRON, insira uma expressão cron que descreva quando iniciar instâncias de VM.
- No campo Interromper expressão CRON, insira uma expressão cron que descreva quando interromper instâncias de VM.
No menu suspenso Fuso horário, selecione o fuso horário do Horário de início e Horário de término.
Opcional: no campo Iniciar data, digite ou clique em
para selecionar a data e a hora em que você quer que a programação da instância comece. Se omitida, a programação entrará em vigor imediatamente.Opcional: no campo Data de término, digite ou clique em
para selecionar a data e a hora em que a programação de instância será encerrada. Se omitida, a programação entrará em vigor indefinidamente.Clique em Enviar.
- SCHEDULE_NAME: o nome da nova programação de instância.
- SCHEDULE_DESCRIPTION: opcional: uma descrição da nova programação de escalonamento;
- REGION: opcional: a região onde as instâncias de VM que você quer anexar a essa programação da instância estão localizadas.
- Substitua pelo menos uma das seguintes opções:
- START-OPERATION_SCHEDULE: uma programação que descreve quando as instâncias de VM anexadas são iniciadas, formatadas como uma expressão cron. Se você precisar que as instâncias de VM sejam iniciadas em um horário específico, programe a operação 15 minutos antes do necessário. Para mais informações, consulte programação de operação inicial.
- STOP-OPERATION_SCHEDULE: uma programação que descreve quando as instâncias de VM anexadas são interrompidas, formatadas como uma expressão cron. Se você precisa que as instâncias de VM sejam interrompidas em um horário específico, programe a operação 15 minutos antes do necessário. Para mais informações, consulte a programação da operação de interrupção.
- TIME_ZONE: opcional: o fuso horário da IANA baseado em local para esta programação de instância. Se omitido, o valor padrão
UTC
será usado. Para mais informações, consulte o fuso horário. - INITIATION_DATE: opcional: a primeira data em que a programação da instância é efetiva, formatada como um carimbo de data/hora RFC 3339. Se omitido, a programação entrará em vigor imediatamente. Para mais informações, consulte a data de início.
- END_DATE: opcional: a última data em que a programação da instância é efetiva, formatada como um carimbo de data/hora RFC 3339. Se omitido, a programação entrará em vigor indefinidamente. Para mais informações, consulte a data de término.
- PROJECT: o ID do projeto;
- REGION: a região onde as instâncias de VM que você quer anexar a essa programação da instância estão localizadas.
- SCHEDULE_NAME: o nome da nova programação de instância.
- SCHEDULE_DESCRIPTION: opcional: uma descrição da nova programação de escalonamento;
- START-OPERATION_SCHEDULE ou STOP-OPERATION_SCHEDULE: especifique pelo menos um dos seguintes elementos:
- START-OPERATION_SCHEDULE: uma programação que descreve quando as instâncias de VM anexadas são iniciadas, formatadas como uma expressão cron. Se você precisar que as instâncias de VM sejam iniciadas em um horário específico, programe a operação 15 minutos antes do necessário. Para mais informações, consulte programação de operação inicial.
- STOP-OPERATION_SCHEDULE: uma programação que descreve quando as instâncias de VM anexadas são interrompidas, formatadas como uma expressão cron. Se você precisa que as instâncias de VM sejam interrompidas em um horário específico, programe a operação 15 minutos antes do necessário. Para mais informações, consulte a programação da operação de interrupção.
- TIME_ZONE: o fuso horário da IANA baseado em local para esta programação de instância. Para mais informações, consulte o fuso horário.
- INITIATION_DATE: opcional: a primeira data em que a programação da instância é efetiva, formatada como um carimbo de data/hora RFC 3339. Se omitido, a programação entrará em vigor imediatamente. Para mais informações, consulte a data de início.
- END_DATE: opcional: a última data em que a programação da instância é efetiva, formatada como um carimbo de data/hora RFC 3339. Se omitido, a programação entrará em vigor indefinidamente. Para mais informações, consulte a data de término.
- programação start-operation, stop-operation schedule
Programação que descreve quando a programação da instância começa e interrompe quaisquer instâncias de VM anexadas. Uma programação de instância pode ter uma dessas programações ou ambas.
Ao criar programações de instâncias usando o Console do Google Cloud, é possível selecionar um Horário de início, um Horário de parada e uma Frequência. ou formatar cada programação como uma expressão cron. Ao criar programações de instâncias usando a CLI gcloud ou a API Compute Engine, formate cada programação como uma expressão cron.
A tabela a seguir define os campos de uma expressão cron e os valores compatíveis com cada campo.
Minuto Hora Dia do mês Mês Dia da semana 0-59 0-23 1-31 em que 29 a 31 são eficazes apenas por meses relevantes
1-12 0-6 ou SUN-SAT
(domingo-sábado)
em que 0=
SUN
, 1=MON
, … 6=SAT
Caractere especial Significado Exemplo *
qualquer Se os campos dia do mês, mês e dia da semana estiverem definidos como *
, a programação se repetirá todos os dias.-
intervalo Se o campo do dia da semana estiver definido como MON-FRI
(ou1-5
), a programação será repetida toda semana, de segunda a sexta-feira.,
list Se o campo do mês estiver definido como 1-6,8-12
, a programação será repetida a cada mês, exceto julho.Ao escrever uma expressão cron, considere o seguinte:
- O espaço em branco é usado para separar os campos de uma expressão cron. Portanto, não adicione espaços em branco em um campo que use caracteres especiais.
- Quando você determina um dia da semana e um dia do mês (quando nenhum
dos campos estiver definido como
*
), a programação usa a união desses valores, não a interseção. Por exemplo, a programação0 8 1 * MON
começa às 8h de cada segunda-feira e no primeiro dia de cada mês. Essa programação não começa às 8h somente às segundas-feiras que também são o primeiro dia do mês.
- fuso horário
Fuso horário da IANA com base no local para o agendamento de operação de início e a programação da operação de interrupção. O banco de dados de fuso horário IANA define uma lista de valores disponíveis. Esse fuso horário é usado como referência apenas para as programações de operação de início e operação. Ele não é usado para a data de início e a data de término. O fuso horário é opcional ao usar a CLI gcloud ou a API Compute Engine. Se omitido, o valor padrão
UTC
será usado.Alguns fusos horários da IANA observam o horário de verão (DST, na sigla em inglês), o que pode afetar suas programações de instâncias. Os detalhes do horário de verão (como quando o horário de verão começa e termina, bem como quanto tempo é pulado e repetido) variam de acordo com cada fuso horário.
- data de início e data de término
O período em que a programação da instância entra em vigor. Os dois valores são opcionais. As operações são repetidas anualmente, a menos que você especifique esses valores para limitar a programação a um único ano.
Ao criar programações de instâncias usando o Console do Google Cloud, selecione uma data, hora e fuso horário usando os campos Data de início e Data de término.
Ao criar programações de instâncias usando a CLI gcloud ou a API Compute Engine, esses valores são formatados como um carimbo de data/hora RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Substitua:
- YYYY-MM-DD: uma data formatada como um ano de quatro dígitos, um mês de dois dígitos e um dia de dois dígitos do mês, separado por hífens.
- HH:MM:SS: um horário formatado como uma hora de dois dígitos usando o horário de 24 horas, minutos de dois dígitos e segundos de dois dígitos separados por hífens.
- OFFSET: fuso horário formatado como uma diferença de Tempo Universal Coordenado (UTC). Por exemplo, o horário padrão do Pacífico (PST, na sigla em inglês), que é 8 horas antes do UTC, é escrito como
-08:00
. Como alternativa, para usar sem deslocamento (o fuso horário UTC), basta gravarZ
.
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na guia Programações da instância na parte superior da página. Isso exibirá uma lista de todas as programações de instâncias do projeto.
- REGION: opcional: a região em que a programação da instância que você quer listar está localizada.
- PROJECT: o ID do projeto;
- REGION: a região onde a programação da instância que você quer listar está localizada.
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na guia Programações da instância na parte superior da página. Isso exibirá uma lista de todas as programações de instâncias do projeto.
Clique no nome da programação de instância que você quer descrever. A página Detalhes das programações de instâncias será aberta.
- SCHEDULE_NAME: o nome da programação de instância que você quer descrever.
- REGION: opcional: a região em que a programação da instância está localizada.
- PROJECT: o ID do projeto;
- REGION: a região em que a programação da instância está localizada.
- SCHEDULE_NAME: o nome da programação de instância que você quer descrever.
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na guia Programações da instância na parte superior da página. Isso exibirá uma lista de todas as programações de instâncias do projeto.
Marque as caixas de seleção das programações de instância que você quer excluir.
Clique em
Excluir na parte superior da página. Isso abrirá uma nova caixa de diálogo para confirmar a ação.Na caixa de diálogo, clique em Excluir.
- Se esta programação de instância estiver anexada a qualquer instância da VM, remova-as.
- Para verificar a quais instâncias de VM essa programação está anexada, descreva a programação da instância.
- Para remover a programação de instâncias de cada instância de VM vinculada a ela.
Para excluir uma programação de instância usando a gcloud CLI, use o comando
gcloud compute resource-policies delete
:gcloud compute resource-policies delete SCHEDULE_NAME \ [--region=REGION]
Substitua:
- SCHEDULE_NAME: o nome da programação de instância que você quer excluir.
- REGION: opcional: a região em que a programação da instância está localizada.
- Se esta programação de instância estiver anexada a qualquer instância da VM, remova-as.
- Para verificar a quais instâncias de VM essa programação está anexada, descreva a programação da instância.
- Para remover a programação de instâncias de cada instância de VM vinculada a ela.
Para excluir uma programação de instância usando a API Compute Engine, faça uma solicitação usando o método
resourcePolicies.delete
:DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME
Substitua:
- PROJECT: o ID do projeto;
- REGION: a região em que a programação da instância está localizada.
- SCHEDULE_NAME: o nome da programação de instância que você quer excluir.
- VM_NAME: o nome da instância da VM a que você quer anexar uma programação de instância.
- SCHEDULE_NAME: o nome da programação de instância que você quer anexar.
- ZONE: opcional: a zona em que a instância de VM está localizada.
- Opcional: crie uma instância de VM a partir de uma imagem pública:
- IMAGE ou IMAGE_FAMILY: especifique uma das seguintes opções:
- IMAGE: versão obrigatória de uma imagem pública. Por exemplo,
--image debian-10-buster-v20200309
. - IMAGE_FAMILY: uma família de imagens. Isso cria a VM a partir da imagem do SO mais recente e não obsoleta. Por exemplo, se você especificar
--image-family debian-10
, o Compute Engine criará uma VM a partir da versão mais recente da imagem do SO na família de imagens Debian 10. - IMAGE_PROJECT: o projeto que contém a imagem.
- PROJECT_ID: ID do projeto em que a VM será criada.
- ZONE: zona em que a VM será criada.
- MACHINE_TYPE_ZONE: zona que contém o tipo de máquina a ser usado para a nova VM.
- MACHINE_TYPE: tipo de máquina, predefinida ou personalizada, para a nova VM.
- VM_NAME: o nome da nova VM.
- Opcional: crie uma instância de VM a partir de uma imagem pública:
- IMAGE_PROJECT: o projeto
que contém a imagem. Por exemplo, se você especificar
family/debian-10
como a família de imagens, especifiquedebian-cloud
como o projeto da imagem. - IMAGE ou IMAGE_FAMILY: especifique uma das seguintes opções:
- IMAGE: versão obrigatória de uma imagem pública. Por exemplo,
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
- IMAGE_FAMILY: uma família de imagens. Isso cria a VM a partir da imagem do SO mais recente e não obsoleta. Por exemplo, se você especificar
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, o Compute Engine criará uma VM a partir da versão mais recente da imagem do SO na família de imagens Debian 10.
- IMAGE_PROJECT: o projeto
que contém a imagem. Por exemplo, se você especificar
- REGION: a região em que a programação da instância está localizada.
- SCHEDULE_NAME: o nome da programação de instância que você quer anexar.
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na guia Programações da instância na parte superior da página. Isso exibirá uma lista de todas as programações de instâncias do projeto.
Clique no nome da programação da instância que você quer anexar. A página Detalhes da programação de instâncias será aberta.
Clique em Adicionar instâncias a serem programadas. O painel Adicionar instâncias a serem programadas será aberto.
Marque a caixa de seleção de cada instância de VM à qual você quer anexar a programação.
Clique em Adicionar.
- VM_NAME: o nome da instância da VM a que você quer anexar uma programação de instância.
- SCHEDULE_NAME: o nome da programação de instância que você quer anexar.
- ZONE: opcional: a zona em que a instância de VM está localizada.
- PROJECT: o ID do projeto.
- ZONE: a zona em que a instância está localizada.
- VM_NAME: o nome da instância da VM a que você quer anexar uma programação de instância.
- REGION: a região em que a programação da instância está localizada.
- SCHEDULE_NAME: o nome da programação de instância que você quer anexar.
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na guia Programações da instância na parte superior da página. Será exibida uma lista de todas as programações de instâncias do projeto.
Clique no nome da programação de instância que você quer remover. A página Detalhes da programação de instâncias será aberta.
Na seção Instâncias anexadas, marque a caixa de seleção de cada instância de VM que você quer remover da programação.
Clique em
Remover instâncias da programação. Uma nova caixa de diálogo será aberta para confirmar essa ação.Na caixa de diálogo, clique em Remover.
- VM_NAME: o nome da instância da VM da qual você quer remover a programação de uma instância.
- SCHEDULE_NAME: o nome da programação de instância que você quer remover.
- ZONE: opcional: a zona em que a instância de VM está localizada.
- PROJECT: o ID do projeto;
- ZONE: a zona em que a instância está localizada.
- VM_NAME: o nome da instância da VM da qual você quer remover a programação de uma instância.
- REGION: a região em que a programação da instância está localizada.
- SCHEDULE_NAME: o nome da programação de instância que você quer remover.
- Saiba mais sobre outros recursos do Compute Engine para programar VMs:
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para usar programações de instâncias, é necessário conceder os papéis necessários do Identity and Access Management (IAM) às seguintes principais:
Papéis necessários do agente de serviço do Compute Engine
Para garantir que o agente de serviço do Compute Engine tenha as permissões necessárias para executar a programação da instância, peça ao administrador para conceder ao agente de serviço do Compute Engine o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para executar a programação da instância. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para executar a programação da instância:
O administrador também pode conceder ao agente de serviço do Compute Engine essas permissões com papéis personalizados ou outros predefinidos.
Papéis necessários para usuários ou contas de serviço
Para garantir que você ou sua conta de serviço tenha as permissões necessárias para criar e gerenciar programações de instâncias, peça ao administrador para conceder a você ou à sua conta de serviço o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto ou na organização. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para criar e gerenciar programações de instâncias. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar e gerenciar programações de instâncias:
O administrador também pode conceder a você ou à sua conta de serviço essas permissões com papéis personalizados ou outros predefinidos.
Limitações
Como gerenciar programações de instâncias
Crie, liste, descreva e exclua programações de instâncias usando o Console do Google Cloud, a CLI do Google Cloud ou a API Compute Engine.
Como criar uma programação de instâncias
Crie uma programação de instância que descreva quando as instâncias de VM devem ser iniciadas ou interrompidas automaticamente. A programação de instância que você cria é uma política de recursos. Use-a anexando-a ou removendo-a de instâncias de VM.
Console
gcloud
Para criar uma programação de instância usando a gcloud CLI, use o comando
gcloud compute resource-policies create instance-schedule
:gcloud compute resource-policies create instance-schedule SCHEDULE_NAME \ [--description='SCHEDULE_DESCRIPTION'] \ [--region=REGION] \ [--vm-start-schedule='START-OPERATION_SCHEDULE'] \ [--vm-stop-schedule='STOP-OPERATION_SCHEDULE'] \ [--timezone=TIME_ZONE] \ [--initiation-date=INITIATION_DATE] \ [--end-date=END_DATE]
Substitua:
REST
Para criar uma programação de instância usando a API Compute Engine, faça uma solicitação usando o método
resourcePolicies.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "instanceSchedulePolicy": { "vmStartSchedule": { "schedule": "START-OPERATION_SCHEDULE" }, "vmStopSchedule": { "schedule": "STOP-OPERATION_SCHEDULE" }, "timeZone": "TIME_ZONE", "startTime":"INITIATION_DATE", "expirationTime":"END_DATE" } }
Substitua:
Cada programação de instância tem as seguintes configurações:
Como listar programações de instâncias
Liste as programações de instâncias para visualizar todas as programações de instâncias atuais do seu projeto.
Console
gcloud
Para consultar uma lista de todas as suas políticas de recursos, incluindo programações de instâncias, usando a gcloud CLI, use o comando
gcloud compute resource-policies list
. Opcionalmente, para restringir os resultados a uma região específica, inclua a sinalização--filter
.gcloud compute resource-policies list \ [--filter="region:(REGION)"]
Substitua:
REST
Para acessar uma lista de todas as políticas de recursos, incluindo programações de instâncias, em uma região específica usando a API Compute Engine, faça uma solicitação usando o método
resourcePolicies.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
Substitua:
Como descrever uma programação de instâncias
Descreva uma programação de instância para visualizar a descrição, o tempo, as operações e uma lista de todas as instâncias de VM a que ela está anexada.
Console
gcloud
Para descrever uma programação de instância usando a gcloud CLI, use o comando
gcloud compute resource-policies describe
:gcloud compute resource-policies describe SCHEDULE_NAME \ [--region=REGION]
Substitua:
O resultado será assim:
... description: Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM. ... instanceSchedulePolicy: expirationTime: '2022-12-31T23:59:59Z' startTime: '2022-01-01T00:00:00Z' timeZone: UTC vmStartSchedule: schedule: 0 8 * * MON-FRI vmStopSchedule: schedule: 0 17 * * MON-FRI ... name: example-instance-schedule region: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-west1 resourceStatus: instanceSchedulePolicy: nextRunStartTime: '2022-01-03T08:00:00Z' ... status: READY
REST
Para descrever uma programação de instância usando a API Compute Engine, faça uma solicitação usando o método
resourcePolicies.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME
Substitua:
A resposta será semelhante a:
{ ... "description": "Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM.", "name": "example-instance-schedule", "instanceSchedulePolicy": { "vmStartSchedule": { "schedule": "0 8 * * MON-FRI" }, "vmStopSchedule": { "schedule": "0 17 * * MON-FRI" }, "timeZone": "UTC", "startTime": "2022-01-01T00:00:00Z", "expirationTime": "2022-12-31T23:59:59Z" }, "status": "READY", "resourceStatus": { "instanceSchedulePolicy": { "nextRunStartTime": "2022-01-03T08:00:00Z" } }, ... }
Como excluir uma programação de instância
Exclua uma programação de instâncias quando não precisar mais dela, removendo instâncias de VM anexadas e excluindo a política de recursos.
Console
gcloud
REST
Como usar programações de instâncias com instâncias de VM
Para usar uma programação de instância, anexe-a a uma ou mais instâncias de VM que você quer seguir essa programação. É possível anexar uma programação de instância a uma instância de VM atual ou ao criar uma nova. Para fazer com que uma instância de VM siga uma programação de instância anexada, remova a programação dela.
Como anexar uma programação de instância durante a criação de uma nova instância de VM
Para anexar uma programação de instância a uma nova instância de VM, crie a instância de VM na mesma região da programação de instância. Saiba mais sobre como criar uma instância de VM.
Console
Não é possível anexar uma programação de instância durante a criação de uma instância usando o Console do Google Cloud. Para usar o Console do Google Cloud para anexar uma programação de instância a uma nova instância de VM, crie uma instância de VM e anexe uma programação à Instância de VM.
gcloud
Para anexar uma programação de instância a uma instância de VM usando a gcloud CLI, use o comando
gcloud compute instances create
com a flag--resource-policies
. Por exemplo, para criar uma instância de VM a partir de uma imagem pública com uma programação de instância anexada, use o seguinte comando:gcloud compute instances create VM_NAME \ --resource-policies=SCHEDULE_NAME \ [--zone=ZONE] \ [--image IMAGE | --image-family IMAGE_FAMILY] \ [--image-project IMAGE_PROJECT]
Substitua:
REST
Para anexar uma programação de instância a uma instância de VM usando a API Compute Engine, faça uma solicitação usando o método
instances.insert
e inclua o atributoresourcePolicies
. Por exemplo, para criar uma instância de VM a partir de uma imagem pública com uma programação de instância anexada, faça a seguinte solicitação:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "resourcePolicies": [ "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }
Substitua:
Para verificar se a programação da instância foi executada, confira os registros de auditoria da política de recursos da programação e da instância de VM anexada. Talvez seja necessário aguardar até 15 minutos após o tempo programado para cada operação.
Como anexar uma programação de instância a uma instância de VM atual
Anexe uma programação de instância a qualquer instância de VM atual localizada na mesma região da programação da instância.
Console
gcloud
Para anexar uma programação de instância a uma instância de VM usando a gcloud CLI, use o comando
gcloud compute instances add-resource-policies
:gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=SCHEDULE_NAME \ [--zone=ZONE]
Substitua:
REST
Para anexar uma programação de instância a uma instância de VM usando a API Compute Engine, faça uma solicitação usando o método
instances.addResourcePolicies
:POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" }
Substitua:
Para verificar se a programação da instância foi executada, confira os registros de auditoria da política de recursos da programação e da instância de VM anexada. Talvez seja necessário aguardar até 15 minutos após o tempo programado para cada operação.
Como remover uma programação de uma instância de VM
Para impedir que uma instância de VM siga uma programação de instâncias, remova a programação de instância da instância de VM.
Console
gcloud
Para remover uma programação de instância de uma instância de VM usando a gcloud CLI, use o comando
gcloud compute instances remove-resource-policies
:gcloud compute instances remove-resource-policies VM_NAME \ --resource-policies=SCHEDULE_NAME \ [--zone=ZONE]
Substitua:
REST
Para remover uma programação de instância de uma instância de VM usando a API Compute Engine, faça uma solicitação usando o método
instances.removeResourcePolicies
:POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/removeResourcePolicies { "resourcePolicies": "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" }
Substitua:
A seguir
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 2024-11-25 UTC.
-