Esta página descreve dicas que podem ser úteis se você tiver problemas ao usar o Compute Engine.
Para obter ajuda na solução de problemas específicos, consulte uma das seções a seguir:
- Para conhecer as etapas para solucionar problemas gerais com instâncias, como se sua instância não inicializar, consulte Solução de problemas gerais .
- Para obter etapas para solucionar problemas com instâncias do Windows, consulte Solução de problemas de instâncias do Windows .
Visualizando diferentes formatos de resposta
A CLI do Google Cloud executa a maioria de suas ações fazendo chamadas à API REST. Os resultados bem impressos mostram apenas as informações mais importantes retornadas por qualquer comando específico. Para ver os diferentes formatos de resposta, use o sinalizador --format
que exibe a resposta em diferentes formatos de saída, incluindo json
, yaml
e text
. Por exemplo, para ver uma lista de instâncias em JSON, use --format json
:
gcloud compute instances list --format json
Como visualizar registros de computação do gcloud
A CLI gcloud cria e armazena logs em um arquivo de log que você pode consultar, localizado em $HOME/.config/gcloud/logs
. Para ver o arquivo de log mais recente em um sistema operacional baseado em Linux, execute:
$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)
O arquivo de log inclui informações sobre todas as solicitações e respostas feitas usando a ferramenta gcloud CLI
.
Para limpar automaticamente os arquivos de log criados pela CLI gcloud, use a propriedade max_log_days
, que define o número máximo de dias para reter os arquivos de log antes de excluí-los. A configuração padrão é 30 dias. Se você configurar o valor desta propriedade como 0, ela desativará a coleta de lixo do log e não excluirá os arquivos de log.
gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS
Desative o registro do arquivo CLI gcloud:
O arquivo $HOME/.config/gcloud/logs
consome espaço no sistema de arquivos local. A quantidade de logs gerados pode sobrecarregar a quantidade de espaço no sistema de arquivos local, o que pode causar problemas como:
- Utilização do espaço atingindo 100% na instância.
- Falha ao executar comandos de registro da CLI gcloud porque não há mais espaço para criar um novo arquivo no sistema de arquivos local.
Para alterar o comportamento da CLI gcloud e desativar o registro de arquivos, use a propriedade disable_file_logging
:
gcloud config set core/disable_file_logging True
Selecionando nomes de recursos
Ao selecionar nomes para seus recursos, lembre-se de que esses nomes amigáveis podem estar visíveis nos painéis operacionais e de suporte do Compute Engine. Por esse motivo, recomenda-se nomes de recursos que não exponham nenhuma informação confidencial.
Comunicação para a internet
Uma instância terá acesso direto à Internet somente se ambas as condições a seguir forem verdadeiras:
- A instância possui um endereço IP externo .
- A rede VPC da instância usa uma rota padrão cujo próximo salto é o gateway de Internet padrão .
As instâncias também podem acessar a Internet indiretamente, conectando-se por meio do Cloud NAT ou de um proxy baseado em instância. Para considerações adicionais, incluindo configuração de regras de firewall, consulte Requisitos de acesso à Internet .
Conexões ociosas
Google Cloud As redes VPC implementam rastreamento de conexão de 10 minutos para protocolos IP que possuem um conceito de conexão (TCP, por exemplo). Isto significa que os pacotes de entrada associados a uma conexão estabelecida são permitidos, desde que pelo menos um pacote seja enviado ou recebido para a conexão nos últimos 10 minutos. Se nenhum pacote da conexão tiver sido enviado ou recebido por 10 minutos ou mais, as entradas de rastreamento da conexão inativa serão removidas. Depois que as entradas de rastreamento da conexão forem removidas, Google Cloud não permite pacotes de entrada adicionais até que pelo menos um novo pacote de saída tenha sido enviado. Este rastreamento de conexão se aplica a todas as fontes e destinos – endereços IP internos e externos .
Para evitar conexões inativas, faça o seguinte:
Defina os parâmetros keep-alive do TCP do sistema operacional para um período de tempo inferior a 10 minutos. Isso garante que pelo menos um pacote seja enviado dentro do intervalo de tempo.
Certifique-se de que os aplicativos que abrem conexões TCP o façam com a opção
SO_KEEPALIVE
habilitada.
Os exemplos a seguir demonstram como definir parâmetros de manutenção de atividade TCP do sistema operacional com um valor de intervalo de um minuto. Consulte a documentação do seu aplicativo ou biblioteca de software para determinar como configurá-lo para usar SO_KEEPALIVE
.
Linux
Execute o seguinte comando:
$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
/etc/sysctl.conf
.Consulte Linux TCP Keepalive HOWTO para obter informações adicionais.
macOS
Execute o seguinte comando:
$ sudo sysctl -w net.inet.tcp.always_keepalive=1 net.inet.tcp.keepidle=60000 net.inet.tcp.keepinit=60000 net.inet.tcp.keepintvl=60000
Windows
No caminho do registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
, adicione as seguintes configurações, usando o tipo de dados DWORD , ou edite os valores se as configurações já existirem:
KeepAliveInterval: 1000 KeepAliveTime: 60000 TcpMaxDataRetransmissions: 10
Acessando o Compute Engine como um usuário SSH diferente
Por padrão, a ferramenta de linha de comando gcloud compute
usa a variável $USER
para adicionar usuários ao arquivo /etc/passwd
para conexão com instâncias de máquinas virtuais usando SSH. Você pode especificar um usuário diferente usando a sinalização --ssh-key-file PRIVATE_KEY_FILE
ao executar o comando gcloud compute ssh
. Por exemplo:
gcloud compute ssh example-instance --ssh-key-file my-private-key-file
Consulte a documentação de referência gcloud
para obter mais informações.
Interagindo com o console serial
Você pode ativar o acesso interativo ao console serial de uma instância para poder conectar e solucionar problemas de instâncias por meio do console serial.
Para saber mais, leia Interagindo com o console serial .
Evitando a fragmentação de pacotes em instâncias criadas a partir de imagens personalizadas
A rede VPC tem uma unidade máxima de transmissão (MTU) padrão de 1460
bytes para imagens do Linux e imagens do Windows Server. No entanto, o MTU da rede pode ser alterado. Para obter detalhes, consulte a visão geral da unidade de transmissão máxima na documentação do VPC.
Ao criar aplicativos cliente que se comunicam com instâncias do Compute Engine por meio de soquetes UDP, você pode evitar a fragmentação se definir o tamanho máximo dos dados do datagrama UDP como 28 bytes a menos que o MTU da rede. Por exemplo, se o MTU da rede for 1.460 bytes, você poderá enviar até 1.432 bytes de dados UDP por pacote sem fragmentação. Se o MTU da rede for 1.500 bytes, você poderá enviar até 1.472 bytes de dados UDP sem fragmentação. Os 28 bytes são usados para um cabeçalho de pacote IPv4 (20 bytes) e um cabeçalho de datagrama UDP (8 bytes). Você pode definir o MTU da rede para um máximo de 8.896 bytes.