Sugestões gerais para usar o Compute Engine


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:

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:

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
Para garantir que as definições sobrevivem a um reinício, adicione-as ao ficheiro /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.