Esta página descreve sugestões que podem ser úteis se tiver problemas ao usar o Compute Engine.
Para obter ajuda na resolução de problemas específicos, consulte uma das seguintes secções:
- Para ver os passos de resolução de problemas gerais com instâncias, como se a sua instância não for iniciada, consulte o artigo Resolução de problemas gerais.
- Para ver os passos de resolução de problemas com instâncias do Windows, consulte o artigo Resolva problemas com instâncias do Windows.
Ver diferentes formatos de respostas
A CLI do Google Cloud executa a maioria das respetivas ações através de chamadas da API REST. Os resultados formatados mostram apenas as informações mais importantes devolvidas por qualquer comando específico. Para ver os diferentes formatos de resposta,
use a flag --format
que apresenta 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
Ver registos do gcloud compute
A CLI gcloud cria e armazena registos num ficheiro de registo que pode consultar, localizado em $HOME/.config/gcloud/logs
. Para ver o ficheiro de registo mais recente num sistema operativo baseado em Linux, execute o seguinte comando:
$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)
O ficheiro de registo inclui informações sobre todos os pedidos e respostas feitos através da ferramenta gcloud CLI
.
Para limpar automaticamente os ficheiros de registo criados pela CLI gcloud, use a propriedade max_log_days
, que define o número máximo de dias para reter os ficheiros de registo antes de os eliminar.
A predefinição é de 30 dias. Se definir o valor desta propriedade como 0, desativa a recolha de lixo dos registos e não elimina os ficheiros de registo.
gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS
Desative o registo de ficheiros da CLI gcloud:
O ficheiro $HOME/.config/gcloud/logs
consome espaço no sistema de ficheiros local.
A quantidade de registos gerados pode exceder a quantidade de espaço no sistema de ficheiros local, o que pode causar problemas como:
- A utilização do espaço está a atingir 100% na instância.
- Falha na execução dos comandos de registo da CLI gcloud porque não existe espaço disponível para criar um novo ficheiro no sistema de ficheiros local.
Para alterar o comportamento da CLI gcloud e desativar o registo em ficheiro, use a propriedade disable_file_logging
:
gcloud config set core/disable_file_logging True
Selecionar nomes de recursos
Quando selecionar nomes para os seus recursos, tenha em atenção que estes nomes amigáveis podem ser visíveis nos painéis de controlo de apoio técnico e operacionais no Compute Engine. Por este motivo, recomendamos que os nomes de recursos não exponham informações confidenciais.
Comunicar com a Internet
Uma instância tem acesso à Internet direto apenas se ambas as seguintes condições forem verdadeiras:
- A instância tem um endereço IP externo.
- A rede VPC da instância usa uma rota predefinida cujo próximo salto é o gateway de Internet predefinido.
As instâncias também podem aceder à Internet indiretamente, através de uma ligação ao Cloud NAT ou a um proxy baseado em instâncias. Para ver considerações adicionais, incluindo a configuração de regras de firewall, consulte os requisitos de acesso à Internet.
Ligações inativas
Google Cloud As redes da VPC implementam a monitorização de ligações de 10 minutos para protocolos IP que têm um conceito de ligação (por exemplo, TCP). Isto significa que os pacotes de entrada associados a uma ligação estabelecida são permitidos, desde que, pelo menos, um pacote seja enviado ou recebido para a ligação nos últimos 10 minutos. Se não forem enviados nem recebidos pacotes para a ligação durante 10 minutos ou mais, as entradas de registo da ligação inativa são removidas. Depois de as entradas de acompanhamento da ligação terem sido removidas, Google Cloud não permite pacotes de entrada adicionais até que, pelo menos, um novo pacote de saída tenha sido enviado. Este acompanhamento de ligações aplica-se a todas as origens e destinos, tanto a endereços IP internos como externos .
Para evitar ligações inativas, faça o seguinte:
Defina os parâmetros de TCP keep-alive do sistema operativo para um período de menos de 10 minutos. Isto garante que, pelo menos, um pacote é enviado dentro do prazo.
Certifique-se de que as aplicações que abrem ligações TCP o fazem com a opção
SO_KEEPALIVE
ativada.
Os exemplos seguintes demonstram como definir parâmetros de manutenção TCP do sistema operativo com um valor de intervalo de um minuto. Consulte a documentação da sua aplicação ou biblioteca de software para determinar como configurá-la para usar o 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 o documento Linux TCP Keepalive HOWTO para ver 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 da base de dados de registo
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
,
adicione as seguintes definições, usando o tipo de dados
DWORD
ou edite os valores se as definições já existirem:
KeepAliveInterval: 1000 KeepAliveTime: 60000 TcpMaxDataRetransmissions: 10
Aceder ao Compute Engine como um utilizador SSH diferente
Por predefinição, a ferramenta de linha de comandos gcloud compute
usa a variável $USER
para adicionar utilizadores ao ficheiro /etc/passwd
para estabelecer ligação a instâncias de máquinas virtuais através do SSH. Pode especificar um utilizador diferente com a flag --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
gcloud
documentação de referência para
mais informações.
Interagir com a consola de série
Pode ativar o acesso interativo à consola de série de uma instância para poder ligar-se e resolver problemas de instâncias através da consola de série.
Para saber mais, leia o artigo Interagir com a consola série.
Evitar a fragmentação de pacotes para instâncias criadas a partir de imagens personalizadas
A rede VPC tem uma unidade de transmissão máxima (MTU) predefinida de 1460
bytes para imagens Linux e imagens do Windows Server. No entanto, o MTU da rede pode ser alterado. Para mais detalhes, consulte a vista geral da unidade de transmissão máxima na documentação da VPC.
Ao criar aplicações cliente que comunicam com instâncias do Compute Engine através de sockets UDP, pode evitar a fragmentação se definir o tamanho máximo dos dados do datagrama UDP para 28 bytes inferior ao MTU da rede. Por exemplo, se a MTU da rede for de 1460 bytes, pode enviar até 1432 bytes de dados UDP por pacote sem fragmentação. Se a MTU da rede for de 1500 bytes, pode enviar até 1472 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). Pode definir a MTU da rede para um máximo de 8896 bytes.