Configuração comum de nós autogerenciados

Esta página contém práticas recomendadas para executar nós RPC em várias redes de blockchain.

Especificamente, este tutorial vai ajudar você a:

  • Criar uma VPC para o nó.
  • Iniciando uma VM para seu nó.
  • Configurar um novo perfil para o gerenciador de nós.
  • Montagem de um disco externo na VM para os dados da cadeia.

Este guia pressupõe que você já tenha um projeto do Google Cloud com o faturamento ativado. Para instruções sobre como fazer isso, consulte Como criar e gerenciar projetos.

Criar uma VPC

Para instruções detalhadas sobre a criação de VPCs, consulte Criar e gerenciar redes VPC.

  1. Crie uma VPC para seu nó seguindo estas recomendações:

    • Criar uma VPC personalizada
    • Modo de roteamento regional
    • MTU 1460
    • Ative a regra de firewall BLOCKCHAIN_VPC_NETWORK-allow-ssh padrão para sua rede. Consulte Usar regras de firewall da VPC para mais informações.

    Substitua BLOCKCHAIN_VPC_NETWORK pelo nome da VPC que vai conter os recursos do nó, por exemplo, ethereum-vpc.

  2. Adicione uma sub-rede IPv4 à rede. Verifique se a região escolhida para a sub-rede é a mesma em que você quer implantar o nó.

Para saber como criar regras de firewall em VMs em uma VPC, consulte Criar regras de firewall da VPC.

Iniciar uma VM com um SSD externo

Para instruções detalhadas sobre a criação de VMs e a anexação de discos externos, consulte a documentação do Compute Engine.

As instruções específicas para o formato de VM que corresponde aos requisitos específicos da rede blockchain podem ser encontradas na seção Hardware Requirements and Recommended Machine Type da página de nó específica da blockchain. Consulte a documentação específica da blockchain para conferir os requisitos de CPU e memória, a forma de VM recomendada para o nó e os comandos de criação.

Conecte-se à VM usando SSH e crie um novo usuário

Conecte-se à VM usando SSH

  1. Quando a VM estiver provisionada, conecte-se a ela usando SSH navegando até a página do Compute Engine ou executando o seguinte comando no Cloud Shell:

    gcloud compute ssh NODE_NAME
    

    Substitua NODE_NAME pelo nome do seu nó. Use letras minúsculas, números e hifens. Por exemplo, my-node.

  2. Se você estiver se conectando pela sua própria máquina, instale a CLI do Google Cloud conforme descrito em Instalar a CLI gcloud.

  3. Quando a instalação da Google Cloud CLI for concluída, faça login no seu projeto e conecte-se à VM:

    gcloud init
    gcloud compute ssh USER@NODE_NAME
    

    Substitua USER pelo nome de login do Google Cloud usuário.

Criar novo usuário

Depois de se conectar à VM por SSH, crie um usuário sudo que não seja SSH para ter e administrar todos os recursos do nó. Como esse usuário não tem chaves SSH nos metadados da VM, só é possível acessá-lo conectando-se à máquina primeiro por um dos usuários Google Cloud autenticados.

  1. Crie um novo usuário sudo e execute o seguinte comando:

    sudo useradd -m NODE_ADMIN
    

    Substitua NODE_ADMIN pelo ID do novo usuário. Por exemplo, node-admin.

  2. Adicione o usuário ao grupo sudo:

    sudo usermod -aG sudo NODE_ADMIN
    
  3. Mude para esse usuário para terminar de montar o disco externo:

    sudo su - NODE_ADMIN
    

Monte os discos externos

O disco externo que você criou na etapa 2 vai armazenar todos os dados da cadeia do seu nó. Essa é uma prática recomendada, porque permite transferir os dados entre nós quando a VM é desligada e configurar facilmente os horários de snapshot para os dados da cadeia.

  1. Monte o disco e liste todos os discos disponíveis na VM:

    sudo lsblk
    

    É provável que o disco externo seja encontrado em /dev/sdb. Você pode identificar o disco externo pelo tamanho criado na etapa 2.

  2. Formate o disco:

    sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
    
  3. Crie um diretório para o disco e monte-o:

    sudo mkdir -p /mnt/disks/CHAIN_DATA_NAME
    sudo mount -o discard,defaults /dev/sdb /mnt/disks/CHAIN_DATA_NAME
    

    Substitua:

    • CHAIN_DATA_NAME: o nome do diretório de dados da cadeia. Por exemplo, my-eth-data.
    • /dev/sdb: a localização do disco, se diferente de /dev/sdb.
  4. Atribua privilégios de gravação a NODE_ADMIN:

    sudo chmod a+w /mnt/disks/CHAIN_DATA_NAME
    
  5. Extraia o UUID do disco e adicione-o a fstab para a remontagem automática na reinicialização:

    sudo blkid /dev/sdb
    export DISK_UUID=$(findmnt -n -o UUID /dev/sdb)
    echo "UUID=$DISK_UUID /mnt/disks/CHAIN_DATA_NAME ext4 discard,defaults,nofail 0 2" | sudo tee -a /etc/fstab
    
  6. O disco está montado e pronto. Para verificar o disco montado, execute:

    df -h
    

A seguir

O esqueleto do seu nó está pronto. Até agora, você deve ter:

  • Uma VPC para seu nó com acesso SSH ativado.
  • Uma VM adaptada aos requisitos do seu nó.
  • Um novo usuário administrador do nó para ter e gerenciar recursos do nó.
  • Um disco SSD externo montado que se encaixa nos requisitos de armazenamento do seu nó.

Consulte novamente a documentação específica da blockchain para terminar de executar os comandos de implantação do seu nó.