As programações de instância permitem iniciar e parar instâncias de máquinas virtuais (VM) automaticamente. Para usar agendamentos de instâncias, crie uma política de recursos detalhando o comportamento de início e parada e, em seguida, anexe a política a uma ou mais instâncias de VM.
Usar programações de instâncias para automatizar a implantação de suas instâncias de VM pode ajudar você a otimizar custos e gerenciar instâncias de VM com mais eficiência. Você pode usar programações de instância para cargas de trabalho recorrentes e únicas. Por exemplo, use agendamentos de instâncias para executar instâncias de VM somente durante o horário de trabalho ou para fornecer capacidade para um evento único.
Para saber mais sobre outras opções de agendamento automático de VMs, consulte as páginas a seguir:
Escalabilidade com base em programações : se você executar sua carga de trabalho em um grupo de instâncias gerenciadas (MIG), poderá usar programações de escalabilidade 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 não quiser criar políticas de recursos, você pode configurar diretamente uma VM para ser interrompida ou excluída automaticamente quando atingir um horário ou duração específica.
Antes de começar
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
O agente de serviço do Compute Engine para seu projeto. Isso é necessário para que o agendamento da instância seja executado em uma VM.
Se você revogar essas permissões após criar programações de instância, suas programações de instância poderão parar de funcionar sem aviso prévio. Para verificar se os agendamentos da sua instância são executados com êxito, você deve verificar regularmente os logs de auditoria .
A conta de usuário ou conta de serviço que cria, gerencia ou usa o agendamento da instância.
-
compute.instances.start
-
compute.instances.stop
- Crie um agendamento de instância:
compute.resourcePolicies.create
- Liste uma programação de instância:
compute.resourcePolicies.list
- Descreva um agendamento 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 existente:
-
compute.resourcePolicies.use
-
compute.instances.addResourcePolicies
-
- Remova uma programação de instância de uma VM:
-
compute.resourcePolicies.use
-
compute.instances.removeResourcePolicies
-
- Você só pode anexar uma programação de instância a instâncias de VM localizadas na mesma região que a 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 só pode seguir uma programação de instância, mas você pode anexar cada programação de instância a até 1.000 instâncias de VM.
- As programações de instância não fornecem garantias de capacidade, portanto, se os recursos necessários para uma instância de VM agendada não estiverem disponíveis no horário agendado, sua instância de VM poderá não iniciar quando agendada. Embora você possa reservar instâncias de VM antes de iniciá-las para obter um alto nível de garantia de que sua capacidade estará disponível quando necessário, as reservas não podem ser agendadas automaticamente.
- As programações de instância iniciam e interrompem instâncias de VM apenas nos horários especificados, mas você pode 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 termina diariamente às 17h. Se você anexar essa programação a uma instância de VM interrompida às 16h, essa instância de VM não será iniciada antes das 8h do dia seguinte, a menos que você inicie manualmente a instância de VM antes disso.
- As instâncias de VM agendadas podem levar até 15 minutos após o horário programado para iniciar ou interromper uma operação. Se você precisar que as instâncias de VM sejam iniciadas ou interrompidas em um horário específico, agende a operação 15 minutos antes do necessário e programe cada operação com pelo menos 15 minutos de intervalo.
- O planejador poderá falhar se houver um intervalo de menos de 15 minutos entre as operações de início e parada. Isso ocorre porque a operação de parada pode ocorrer antes da operação de partida, impedindo que a operação de partida aconteça.
- Cada agendamento de instância permite que você tenha até uma operação inicial e até uma operação interrompida por hora.
- Para modificar o agendamento de uma instância, use uma operação de patch na política de agendamento de instâncias.
No console do Google Cloud, acesse a página de instâncias de VM .
Clique na guia Programações de instância na parte superior da página.
Clique em
Criar agendamento . O painel Criar um agendamento é aberto.Insira um Nome .
No menu suspenso Região , selecione o local para esta programação de instância.
Defina quando o agendamento da instância inicia e interrompe qualquer instância de VM anexada. Se você precisar que as instâncias de VM sejam iniciadas ou interrompidas em um horário específico, agende a operação 15 minutos antes do necessário. Certifique-se de que cada operação de início e parada tenha pelo menos 15 minutos de intervalo.
Use os campos padrão Start time , Stop time e Frequency ou, se desejar configurar um planejamento mais complexo, use expressões cron .
Campos padrão:
- Insira um horário de início , um horário de término ou ambos.
- No campo Hora de início , digite ou clique em para selecionar a hora de início das instâncias de VM.
- No campo Horário de término , digite ou clique em para selecionar o horário para interromper as 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 expressões cron, clique no botão Usar expressão CRON na parte superior do painel.
- Insira uma expressão Start CRON , Stop CRON expression ou ambas.
- No campo Iniciar expressão CRON , insira uma expressão cron que descreva quando iniciar instâncias de VM.
- No campo Parar expressão CRON , insira uma expressão cron que descreva quando parar instâncias de VM.
No menu suspenso Fuso horário , selecione o fuso horário para Hora de início e Hora de término .
Opcional: No campo Data de início , digite ou clique em
para selecionar a data e a hora em que deseja que esse planejamento de instância comece. Se omitido, o cronograma entra em vigor imediatamente.Opcional: No campo Data de término , digite ou clique em
para selecionar a data e a hora em que deseja que esse planejamento de instância termine. Se omitido, o cronograma terá efeito indefinidamente.Clique em Enviar .
- SCHEDULE_NAME : o nome do novo agendamento da instância.
- REGION : a região onde estão localizadas as instâncias de VM que você deseja anexar a esse agendamento de instância.
- Especifique pelo menos um dos seguintes:
- 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, agende a operação 15 minutos antes do necessário. Para obter mais informações, consulte cronograma de início de operação .
- STOP-OPERATION_SCHEDULE : um agendamento que descreve quando as instâncias de VM anexadas são interrompidas, formatadas como uma expressão cron. Se você precisar que as instâncias de VM parem em um horário específico, agende a operação 15 minutos antes do necessário. Para obter mais informações, consulte cronograma de parada de operação .
- TIME_ZONE : Opcional: o fuso horário da IANA baseado em localização para esta programação de instância. Se omitido, o valor padrão
UTC
será usado. Para obter mais informações, consulte fuso horário . - INITIATION_DATE : Opcional: a primeira data em que o agendamento da instância entra em vigor, formatado como um carimbo de data/hora RFC 3339. Se omitido, o cronograma entra em vigor imediatamente. Para obter mais informações, consulte data de início .
- END_DATE : Opcional: a última data em que o agendamento da instância entrou em vigor, formatado como um carimbo de data/hora RFC 3339. Se omitido, o cronograma terá efeito indefinidamente. Para obter mais informações, consulte data de término .
- PROJECT : seu ID do projeto .
- REGION : a região onde estão localizadas as instâncias de VM que você deseja anexar a esse agendamento de instância.
- SCHEDULE_NAME : o nome do novo agendamento da instância.
- START-OPERATION_SCHEDULE ou STOP-OPERATION_SCHEDULE : especifique pelo menos um dos seguintes:
- 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, agende a operação 15 minutos antes do necessário. Para obter mais informações, consulte cronograma de início de operação .
- STOP-OPERATION_SCHEDULE : um agendamento que descreve quando as instâncias de VM anexadas são interrompidas, formatadas como uma expressão cron. Se você precisar que as instâncias de VM parem em um horário específico, agende a operação 15 minutos antes do necessário. Para obter mais informações, consulte cronograma de parada de operação .
- TIME_ZONE : o fuso horário da IANA baseado em localização para esta programação de instância. Para obter mais informações, consulte fuso horário .
- INITIATION_DATE : Opcional: a primeira data em que o agendamento da instância entra em vigor, formatado como um carimbo de data/hora RFC 3339. Se omitido, o cronograma entra em vigor imediatamente. Para obter mais informações, consulte data de início .
- END_DATE : Opcional: a última data em que o agendamento da instância entrou em vigor, formatado como um carimbo de data/hora RFC 3339. Se omitido, o cronograma terá efeito indefinidamente. Para obter mais informações, consulte data de término .
- cronograma de início de operação, cronograma de parada de operação
Programações que descrevem quando a programação da instância inicia e interrompe qualquer instância de VM anexada. Um agendamento de instância pode ter um desses agendamentos ou ambos.
Ao criar programações de instâncias usando o console do Google Cloud, você pode selecionar um horário de início , um horário de término 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, você deve formatar cada programação como uma expressão cron.
A tabela a seguir define os campos de uma expressão cron e os valores suportados para cada campo.
Além desses valores, cada campo em uma expressão cron também pode usar os seguintes caracteres especiais.Minuto Hora Dia do mês Mês Dia da semana 0-59 0-23 1-31 onde 29-31 são válidos apenas para os meses relevantes
1-12 0-6 ou SUN-SAT
(domingo a sábado)onde 0=
SUN
, 1=MON
,… 6=SAT
Caráter especial Significado Exemplo *
qualquer Se o campo do dia do mês, o campo do mês e o campo do dia da semana estiverem todos definidos como *
, a programação será repetida todos os dias.-
faixa Se o campo do dia da semana estiver definido como MON-FRI
(ou1-5
), a programação se repetirá toda semana, de segunda a sexta-feira.,
lista Se o campo mês estiver definido como 1-6,8-12
, a programação se repetirá todos os meses, exceto julho.Ao escrever uma expressão cron, considere o seguinte:
- Espaço em branco é usado para separar os campos de uma expressão cron. Lembre-se de não adicionar espaços em branco extras em um campo que use caracteres especiais.
- Quando você especifica um dia da semana e um dia do mês (quando nenhum dos campos está definido como
*
), o planejamento usa a união desses valores, não a interseção. Por exemplo, a programação0 8 1 * MON
começa às 8h de todas as segundas-feiras e no primeiro dia de cada mês. Esse horário não começa às 8h apenas nas segundas-feiras que também são o primeiro dia do mês.
- fuso horário
O fuso horário da IANA baseado em localização para a programação de início de operação e programação de interrupção de operação. O banco de dados de fuso horário da IANA define uma lista de valores disponíveis . Este fuso horário é usado como referência apenas para os cronogramas de início de operação e parada de operação – ele não é usado para a data de início e 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 seguem o horário de verão (DST), o que pode afetar as programações de sua instância. Os detalhes do horário de verão – como quando o horário de verão começa e termina, bem como quanto tempo é ignorado e repetido – variam de acordo com cada fuso horário.
- data de início, data de término
O prazo em que o agendamento da instância entra em vigor. Ambos os valores são opcionais. As operações são repetidas anualmente, a menos que você especifique esses valores para limitar o cronograma a um único ano.
Ao criar programações de instâncias usando o console do Google Cloud, selecione 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 o seguinte:
- YYYY-MM-DD : uma data formatada como ano de 4 dígitos, mês de 2 dígitos e dia do mês de 2 dígitos separados por hífens.
- HH:MM:SS : uma hora formatada como uma hora de 2 dígitos usando o formato de 24 horas, minutos de 2 dígitos e segundos de 2 dígitos separados por dois pontos.
- OFFSET : o fuso horário formatado como um deslocamento do Tempo Universal Coordenado (UTC). Por exemplo, o Horário Padrão do Pacífico (PST), que é 8 horas antes do UTC, é escrito como
-08:00
. Alternativamente, para não usar deslocamento (o fuso horário UTC), escrevaZ
.
No console do Google Cloud, acesse a página de instâncias de VM .
Clique na guia Programações de instância na parte superior da página. Isso exibe uma lista de todos os cronogramas de instância deste projeto.
- REGION : Opcional: a região onde estão localizados os agendamentos de instância que você deseja listar.
- PROJECT : seu ID do projeto .
- REGION : a região onde estão localizados os agendamentos de instância que você deseja listar.
No console do Google Cloud, acesse a página de instâncias de VM .
Clique na guia Programações de instância na parte superior da página. Isso exibe uma lista de todos os cronogramas de instância deste projeto.
Clique no nome do agendamento da instância que você deseja descrever. Isso abre a página de detalhes dos agendamentos de instâncias desse agendamento.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja descrever.
- REGION : a região onde o agendamento da instância está localizado.
- PROJECT : seu ID do projeto .
- REGION : a região onde o agendamento da instância está localizado.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja descrever.
No console do Google Cloud, acesse a página de instâncias de VM .
Clique na guia Programações de instância na parte superior da página. Isso exibe uma lista de todos os cronogramas de instância deste projeto.
Marque as caixas de seleção dos agendamentos de instância que você deseja excluir.
Clique em
Excluir na parte superior da página. Isso abre uma nova caixa de diálogo para confirmar esta ação.Na caixa de diálogo, clique em Excluir .
- Se esta programação de instância estiver anexada a qualquer instância de VM, remova-a.
- Para verificar a quais instâncias de VM esta programação está anexada, descreva a programação da instância .
- Para cada instância de VM à qual esta programação está anexada, remova a programação da instância .
Para excluir uma programação de instância usando a CLI gcloud, use o comando
gcloud compute resource-policies delete
:gcloud compute resource-policies delete SCHEDULE_NAME \ --region=REGION
Substitua o seguinte:
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja excluir.
- REGION : a região onde o agendamento da instância está localizado.
- Se esta programação de instância estiver anexada a qualquer instância de VM, remova-a.
- Para verificar a quais instâncias de VM esta programação está anexada, descreva a programação da instância .
- Para cada instância de VM à qual esta programação está anexada, remova a programação da instância .
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 o seguinte:
- PROJECT : seu ID do projeto .
- REGION : a região onde o agendamento da instância está localizado.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja excluir.
- VM_NAME : o nome da instância de VM à qual você deseja anexar uma programação de instância.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja anexar.
- ZONE : a zona onde sua 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 um dos seguintes:
- IMAGE : a versão necessá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 sistema operacional 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 sistema operacional na família de imagens Debian 10. - IMAGE_PROJECT : o projeto que contém a imagem.
- PROJECT_ID : o ID do projeto no qual criar a VM.
- ZONE : a zona na qual criar a VM.
- MACHINE_TYPE_ZONE : a zona que contém o tipo de máquina a ser usada para a nova VM.
- MACHINE_TYPE : o tipo de máquina, predefinido ou personalizado , 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 da imagem, especifiquedebian-cloud
como o projeto da imagem. - IMAGE ou IMAGE_FAMILY : especifique um dos seguintes:
- IMAGE : a versão necessá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 sistema operacional 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 sistema operacional 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 onde o agendamento da instância está localizado.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja anexar.
No console do Google Cloud, acesse a página de instâncias de VM .
Clique na guia Programações de instância na parte superior da página. Isso exibe uma lista de todos os cronogramas de instância deste projeto.
Clique no nome do agendamento da instância que você deseja anexar. A página de detalhes do agendamento da instância é aberta.
Clique em Adicionar instâncias para agendar . O painel Adicionar instâncias ao agendamento é aberto.
Marque a caixa de seleção de cada instância de VM à qual você deseja anexar esta programação.
Clique em Adicionar .
- VM_NAME : o nome da instância de VM à qual você deseja anexar uma programação de instância.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja anexar.
- ZONE : a zona onde sua instância de VM está localizada.
- PROJECT : seu ID do projeto .
- ZONE : a zona onde sua instância de VM está localizada.
- VM_NAME : o nome da instância de VM à qual você deseja anexar uma programação de instância.
- REGION : a região onde o agendamento da instância está localizado.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja anexar.
No console do Google Cloud, acesse a página de instâncias de VM .
Clique na guia Programações de instância na parte superior da página. Uma lista de todos os planejamentos de instância deste projeto é exibida.
Clique no nome do agendamento da instância que você deseja remover. A página de detalhes do agendamento da instância é aberta.
Na seção Instâncias anexadas , marque a caixa de seleção de cada instância de VM que você deseja remover desta programação.
Clique em
Remover instâncias do agendamento . Isso abre uma nova caixa de diálogo para confirmar esta ação.Na caixa de diálogo, clique em Remover .
- VM_NAME : o nome da instância de VM da qual você deseja remover uma programação de instância.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja remover.
- ZONE : a zona onde sua instância de VM está localizada.
- PROJECT : seu ID do projeto .
- ZONE : a zona onde sua instância de VM está localizada.
- VM_NAME : o nome da instância de VM da qual você deseja remover uma programação de instância.
- REGION : a região onde o agendamento da instância está localizado.
- SCHEDULE_NAME : o nome do agendamento da instância que você deseja 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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções obrigatórias
Para usar programações de instância, você precisa conceder os papéis necessários de gerenciamento de identidade e acesso (IAM) aos 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 Administrador de instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .Essa função predefinida contém as permissões necessárias para executar o agendamento da instância. Para ver 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 o agendamento da instância:
Seu administrador também poderá conceder essas permissões ao agente de serviço do Compute Engine com funções personalizadas ou outras funções predefinidas .
Funções necessárias de usuário ou conta de serviço
Para garantir que você ou sua conta de serviço tenham as permissões necessárias para criar e gerenciar programações de instância, peça ao administrador para conceder a você ou à sua conta de serviço a função do IAM Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) em seu projeto ou organização. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .Essa função predefinida contém as permissões necessárias para criar e gerenciar agendamentos de instâncias. Para ver 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 agendamentos de instância:
Seu administrador também poderá conceder a você ou à sua conta de serviço essas permissões com funções personalizadas ou outras funções predefinidas .
Limitações
Gerenciando programações de instância
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.
Criando um agendamento de instância
Crie uma programação de instância que descreva quando suas instâncias de VM devem iniciar ou parar automaticamente. A programação de instância que você cria é uma política de recursos, que pode ser usada anexando-a ou removendo-a de instâncias de VM.
Console
gcloud
Para criar uma programação de instância usando a CLI gcloud, use o comando
gcloud compute resource-policies create instance-schedule
:gcloud compute resource-policies create instance-schedule SCHEDULE_NAME \ --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 o seguinte:
DESCANSAR
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", "instanceSchedulePolicy": { "vmStartSchedule": { "schedule": "START-OPERATION_SCHEDULE" }, "vmStopSchedule": { "schedule": "STOP-OPERATION_SCHEDULE" }, "timeZone": "TIME_ZONE", "startTime":"INITIATION_DATE", "expirationTime":"END_DATE" } }
Substitua o seguinte:
Cada agendamento de instância tem as seguintes configurações:
Listando programações de instância
Liste programações de instâncias para visualizar todas as programações de instâncias existentes para seu projeto.
Console
gcloud
Para visualizar uma lista de todas as suas políticas de recursos, incluindo programações de instâncias, usando a CLI gcloud, use o comando
gcloud compute resource-policies list
. Opcionalmente, para restringir os resultados a uma região específica, inclua o sinalizador--filter
.gcloud compute resource-policies list \ [--filter="region:(REGION)"]
Substitua o seguinte:
DESCANSAR
Para visualizar uma lista de todas as suas 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 o seguinte:
Descrevendo uma programação de instância
Descreva uma programação de instância para visualizar sua descrição, tempo, operações e uma lista de todas as instâncias de VM às quais ela está anexada.
Console
gcloud
Para descrever uma programação de instância usando a CLI gcloud, use o comando
gcloud compute resource-policies describe
:gcloud compute resource-policies describe SCHEDULE_NAME \ --region=REGION
Substitua o seguinte:
A saída é semelhante à seguinte:
... 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
DESCANSAR
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 o seguinte:
A saída é semelhante à seguinte:
{ ... "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" } }, ... }
Excluindo uma programação de instância
Exclua um agendamento de instância quando não precisar mais dele, removendo quaisquer instâncias de VM anexadas e excluindo a política de recursos.
Console
gcloud
DESCANSAR
Usando 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ê deseja seguir com essa programação. Você pode anexar uma programação de instância a uma instância de VM existente ou ao criar uma nova instância de VM. Para impedir que uma instância de VM siga uma programação de instância anexada, remova a programação dessa instância de VM.
Anexar uma programação de instância ao criar uma nova instância de VM
Para anexar uma programação de instância a uma nova instância de VM, você deve criar a instância de VM na mesma região que a programação de instância usada. Saiba mais sobre como criar uma instância de VM .
Console
Não é possível anexar uma programação de instância ao criar 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 CLI gcloud, use o comando
gcloud compute instances create
com a sinalização--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 o seguinte:
DESCANSAR
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 o seguinte:
Você pode verificar se o agendamento da instância é executado com êxito verificando os logs de auditoria da política de recursos de agendamento da instância e da instância de VM anexada. Talvez seja necessário aguardar até 15 minutos após o horário programado para cada operação.
Anexar uma programação de instância a uma instância de VM existente
Você pode anexar uma programação de instância a qualquer instância de VM existente localizada na mesma região que a programação da instância.
Console
gcloud
Para anexar uma programação de instância a uma instância de VM usando a CLI gcloud, use o comando
gcloud compute instances add-resource-policies
:gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=SCHEDULE_NAME \ --zone=ZONE
Substitua o seguinte:
DESCANSAR
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://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" }
Substitua o seguinte:
Você pode verificar se o agendamento da instância é executado com êxito verificando os logs de auditoria da política de recursos de agendamento da instância e da instância de VM anexada. Talvez seja necessário aguardar até 15 minutos após o horário programado para cada operação.
Remover uma programação de instância de uma instância de VM
Para impedir que uma instância de VM siga uma programação de instância, remova a programação da instância de VM.
Console
gcloud
Para remover uma programação de instância de uma instância de VM usando a CLI gcloud, use o comando
gcloud compute instances remove-resource-policies
:gcloud compute instances remove-resource-policies VM_NAME \ --resource-policies=SCHEDULE_NAME \ --zone=ZONE
Substitua o seguinte:
DESCANSAR
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://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/removeResourcePolicies { "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME" }
Substitua o seguinte:
O que vem 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 2025-04-21 UTC.
-