Configurar um MIG do Compute Engine

No Application Design Center, é possível configurar um grupo gerenciado de instâncias (MIG) do Compute Engine para gerenciar um conjunto de instâncias de VM como uma única entidade com balanceamento de carga, escalonamento automático e recuperação automática. É possível personalizar o MIG para suas conexões de componentes e parâmetros de configuração específicos. Os parâmetros de configuração estão listados no módulo do Terraform terraform-google-vm.

Conexões de componentes

A tabela a seguir inclui os componentes que podem ser conectados a um MIG do Compute Engine e as atualizações resultantes no aplicativo e no código do Terraform gerado.

Componente conectado

Atualizações de aplicativos

Informações prévias

Back-end global do Cloud Load Balancing

  • O balanceador de carga pode distribuir o tráfego de entrada para o MIG do Compute Engine.
  • O MIG do Compute Engine é adicionado ao campo de grupos de serviço de back-end do Cloud Load Balancing.
Configurar um balanceador de carga de aplicativo clássico com um back-end de grupo gerenciado de instâncias

Back-end regional do Cloud Load Balancing

  • O balanceador de carga pode distribuir o tráfego de entrada para o MIG do Compute Engine.
  • O MIG do Compute Engine é adicionado ao campo de grupos de serviço de back-end do Cloud Load Balancing.
Configurar um balanceador de carga de aplicativo externo regional com back-ends de grupos de instâncias de VM

Modelo de instância do Compute Engine

  • O modelo de instância do Compute Engine é usado para criar instâncias no grupo gerenciado de instâncias.
  • O self link do modelo de instância é adicionado ao MIG do Compute Engine.
Cenários básicos para a criação de grupos de instâncias gerenciadas (MIGs, na sigla em inglês)

Parâmetros de configuração obrigatórios

Se o modelo incluir um componente de MIG do Compute Engine, configure os seguintes parâmetros antes de implantar.

Nome do parâmetro

Descrição e restrições

Informações prévias

ID do projeto

O projeto em que você quer criar o MIG do Compute Engine.

Configurar componentes

Região

region Sobre MIGs regionais

Modelo de instância

instanceTemplate Sobre modelos de instância

Parâmetros de configuração opcionais

Os parâmetros a seguir são opcionais. Para exibir parâmetros avançados, na área Configuração, selecione Mostrar campos avançados.

Recurso

Nome do parâmetro

Informações de descrição e restrição

Informações prévias

Nome do MIG

name mig_name

Nome do host

Prefixo do nome do host para instâncias.

nome do host

Tamanho desejado

targetSize Criar um MIG com o escalonamento automático ativado.

Máximo de réplicas

autoscalingPolicy.maxNumReplicas Criar um MIG com o escalonamento automático ativado

Mínimo de réplicas

autoscalingPolicy.minNumReplicas Criar um MIG com o escalonamento automático ativado

Modo de escalonamento automático

autoscalingPolicy.mode Modo de escalonamento automático

Pools de destino

targetPools[] Adicionar um grupo gerenciado de instâncias a um pool de destino

Formato de destino da política de distribuição

distributionPolicy.targetShape feedbackFormato de distribuição de destino do MIG regional

Zonas de política de distribuição

distributionPolicy.zones[] Definir um formato de distribuição de destino para VMs em um MIG regional

Discos com estado

Nome do dispositivo

statefulPolicy.preservedState.disks[] Como configurar discos permanentes com estado em MIGs

Excluir regra

statefulPolicy.preservedState.disks[].autoDelete Como configurar discos permanentes com estado em MIGs

IPs com estado

Nome da interface

statefulPolicy.preservedState.internalIPs[] Como configurar endereços IP com estado em MIGs

Excluir regra

statefulPolicy.preservedState.internalIPs[].autoDelete Como configurar endereços IP com estado em MIGs

É externo

statefulPolicy.preservedState.externalIPs[] Como configurar endereços IP com estado em MIGs

Atualizar política

Máximo de aumento fixo

updatePolicy.maxSurge.fixed Máximo de sobretensão

Tipo de redistribuição de instâncias

updatePolicy.instanceRedistributionType Redistribuição proativa de instâncias

Porcentagem máxima de aumento

updatePolicy.maxSurge.percent Máximo de sobretensão

Máximo de indisponíveis corrigido

updatePolicy.maxUnavailable.fixed Máximo indisponível

Porcentagem máxima indisponível

updatePolicy.maxUnavailable.percent Máximo indisponível

Min Ready Sec

updatePolicy.minReadySec Tempo de espera mínimo

Método de substituição

updatePolicy.replacementMethod Método de substituição

Ação mínima

updatePolicy.minimalAction Ação mínima

Tipo

updatePolicy.type Tipo de atualização

Ação mais disruptiva disponível

updatePolicy.mostDisruptiveAllowedAction Ação mais disruptiva disponível

Nome da verificação de integridade

name Visão geral das verificações de integridade

Verificação de integridade

Tipo

type Categorias, protocolos e portas da verificação de integridade

Segundos de atraso inicial

autoHealingPolicies[].initialDelaySec Configurar uma política de recuperação automática em um MIG

Intervalo de verificação em segundos

checkIntervalSec Configurar uma política de recuperação automática em um MIG

Limite íntegro

healthyThreshold Configurar uma política de recuperação automática em um MIG

Tempo limite em segundos

timeoutSec O que constitui uma boa verificação de integridade de recuperação automática

Limite não íntegro

unhealthyThreshold Configurar uma política de recuperação automática em um MIG

Resposta

httpsHealthCheck.response Critérios de sucesso para HTTP, HTTPS e HTTP/2

Cabeçalho do proxy

httpsHealthCheck.proxyHeader Cabeçalhos

Porta

httpsHealthCheck.port Categorias, protocolos e portas da verificação de integridade

Solicitação

tcpHealthCheck.request Critérios de sucesso para HTTP, HTTPS e HTTP/2

Caminho da solicitação

httpsHealthCheck.requestPath Critérios de sucesso para HTTP, HTTPS e HTTP/2

Host

httpsHealthCheck.host Cabeçalhos

Ativar o Logging

logConfig.enable Informações de geração de registros de verificação de integridade

Nome do escalonador automático

name

Se estiver vazio, o nome será derivado de hostname.

Escalonamento automático ativado

Crie um escalonador automático para o MIG.

Como fazer o escalonamento automático de grupos de instâncias

Período de espera

autoscalingPolicy.coolDownPeriodSec Período de inicialização

CPU de escalonamento automático

Objetivo

autoscalingPolicy.cpuUtilization.utilizationTarget Escalonamento baseado no uso da CPU

Método preditivo

autoscalingPolicy.cpuUtilization.predictiveMethod Escalonamento automático preditivo

Métrica de escalonamento automático

Nome

name Escalonamento automático para manter uma métrica em um valor desejado

Objetivo

autoscalingPolicy.customMetricUtilizations[].utilizationTarget Escalonamento automático para manter uma métrica em um valor desejado

Tipo

autoscalingPolicy.customMetricUtilizations[].utilizationTargetType Escalonamento automático para manter uma métrica em um valor desejado

Agendamentos de escalonamento

Desativada

autoscalingPolicy.scalingSchedules[].disabled Escalonamento com base em programações

Duração em segundos

autoscalingPolicy.scalingSchedules[].durationSec Como escalonar as configurações de programação

Réplicas mínimas necessárias

autoscalingPolicy.scalingSchedules[].minRequiredReplicas Como escalonar as configurações de programação

Nome

autoscalingPolicy.scalingSchedules[] Como criar uma programação de escalonamento

Programar

autoscalingPolicy.scalingSchedules[].schedule Como escalonar as configurações de programação

Fuso horário

autoscalingPolicy.scalingSchedules[].timeZone Como escalonar as configurações de programação

Controle de redução horizontal do escalonamento automático

Réplicas fixas

autoscalingPolicy.scaleInControl.maxScaledInReplicas.fixed Configurar controles de redução de escala horizontal

Porcentagem de réplicas

autoscalingPolicy.scaleInControl.maxScaledInReplicas.percent Configurar controles de redução de escala horizontal

Segundos da janela de tempo

autoscalingPolicy.scaleInControl.timeWindowSec Configurar controles de redução de escala horizontal

Portas nomeadas

Nome

namedPorts[].name Portas nomeadas

Porta

namedPorts[].port Portas nomeadas

Aguardar instâncias

Se é preciso esperar que todas as instâncias sejam criadas/atualizadas antes de retornar. Se definido como verdadeiro, quando a operação falhar, o Terraform vai continuar tentando até que o tempo limite seja atingido.

wait_for_instances

MIG Timeouts

Criar

Tempo limite para a criação da instância do Terraform.

criar

Atualizar

Tempo limite para atualização da instância do Terraform.

atualizar

Excluir

Tempo limite para exclusão da instância do Terraform.

delete

Rótulos

Key

allInstancesConfig.properties.labels Organizar recursos usando rótulos

Valor

allInstancesConfig.properties.labels Organizar recursos usando rótulos