Dicas gerais sobre como usar o Compute Engine

Nesta página, apresentamos dicas que poderão ser úteis se você encontrar problemas ao usar o Compute Engine.

Para ajuda na solução de problemas específicos, consulte uma das seguintes seções:

Como ver diferentes formatos de resposta

A ferramenta de linha de comando gcloud realiza a maioria das suas ações fazendo chamadas da API REST. Os resultados com estilo de formatação mostram somente as informações mais importantes retornadas por um comando específico. Para ver os diferentes formatos de resposta, use a sinalização --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

Ver registros do gcloud compute

A ferramenta gcloud cria e armazena registros em um arquivo de registro que você pode consultar, localizado em $HOME/.config/gcloud/logs. Para ver o arquivo de registro mais recente em um sistema operacional baseado em Linux, execute:

$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)

O arquivo de registro inclui informações sobre todas as solicitações e respostas feitas usando o gcloud compute ferramenta.

Selecionar nomes de recurso

Ao selecionar os nomes para os seus recursos, lembre-se de que eles aparecem nos painéis de suporte e operacionais do Google Compute Engine. Por esse motivo, não exponha informações confidenciais nesses nomes.

Como se comunicar com a Internet

Uma instância terá acesso direto à Internet somente se as duas condições a seguir forem verdadeiras:

As instâncias também podem acessar a Internet indiretamente com a conexão pelo Cloud NAT ou por um proxy com base em instância. Para mais considerações, incluindo a configuração da regra de firewall, consulte Requisitos de acesso à Internet.

Conexões inativas

As redes VPC do Google Cloud implementam um rastreamento de conexão de 10 minutos para protocolos IP que têm um conceito de conexão (TCP, por exemplo). Isso 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 para a conexão for 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 são removidas, o Google Cloud não permite mais pacotes de entrada até que pelo menos um pacote de saída novo seja enviado. Esse rastreamento de conexão se aplica a todas as origens e destinos (endereços IP internos e externos).

Para evitar conexões inativas, realize as etapas a seguir:

  • Defina os parâmetros de sinal de atividade do TCP do sistema operacional como um período menor que 10 minutos. Isso garante que pelo menos um pacote seja enviado no prazo.

  • Verifique se os aplicativos que abrem conexões TCP fazem isso com a opção SO_KEEPALIVE ativada.

Nos exemplos a seguir, demonstramos como definir os parâmetros de sinal de atividade do TCP do sistema operacional com um valor de intervalo de um minuto. Consulte a documentação da biblioteca de software ou do aplicativo para determinar como configurá-la para usar SO_KEEPALIVE.

Linux


Execute este 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 configurações sobrevivam a uma reinicialização, adicione as configurações ao seu arquivo /etc/sysctl.conf.

Consulte Linux TCP Keepalive HOWTO para mais informações.

macOS


Execute este 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

Como acessar o Compute Engine com 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 conectar-se a instâncias de máquina virtual 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. 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.

Interagir com o console serial

Ative o acesso interativo a um console serial de instância para se conectar e resolver problemas de instâncias por meio do console.

Para aprender mais, leia Interagir com o console serial.

Evitar fragmentação de pacote de instâncias criadas a partir de imagens personalizadas

A rede VPC tem uma unidade padrão de transmissão máxima (MTU, na sigla em inglês) de 1460 bytes para imagens do Linux e do Windows Server. No entanto, a MTU da rede pode ser alterada. Para mais detalhes, consulte Unidade máxima de transmissão (MTU) na documentação da VPC.

Ao criar aplicativos cliente que se comunicam com instâncias do Compute Engine por soquetes UDP, será possível evitar a fragmentação se você definir o tamanho máximo dos dados do datagrama UDP para 28 bytes a menos que a MTU da rede. Por exemplo, se a MTU da rede for de 1.460 bytes, será possível enviar até 1.432 bytes de dados UDP por pacote sem fragmentação. Se a MTU da rede for de 1.500 bytes, será possível enviar até 1.472 bytes de dados UDP sem fragmentação. Os 28 bytes são usados em um cabeçalho de pacote IPv4 (20 bytes) e em um cabeçalho de datagrama UDP (8 bytes).