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.
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
.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
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
.Se você estiver se conectando pela sua própria máquina, instale a CLI do Google Cloud conforme descrito em Instalar a CLI gcloud.
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.
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
.Adicione o usuário ao grupo sudo:
sudo usermod -aG sudo NODE_ADMIN
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.
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.Formate o disco:
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
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
.
- CHAIN_DATA_NAME: o nome do diretório de dados da cadeia. Por exemplo,
Atribua privilégios de gravação a
NODE_ADMIN
:sudo chmod a+w /mnt/disks/CHAIN_DATA_NAME
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
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ó.