En esta página, se incluyen prácticas recomendadas para ejecutar nodos RPC en varias redes de cadena de bloques.
En este instructivo, se te guiará a través de lo siguiente:
- Crear una VPC nueva para tu nodo
- Iniciar una VM para tu nodo
- Configurar un perfil nuevo para tu administrador de nodos
- Activa un disco externo en la VM para los datos de la cadena.
En esta guía, se supone que ya tienes un proyecto de Google Cloud con la facturación habilitada. Para obtener instrucciones sobre cómo hacerlo, consulta Cómo crear y administrar proyectos.
Crea una VPC nueva
Para obtener instrucciones detalladas sobre la creación de VPC, consulta Crea y administra redes de VPC.
Crea una VPC para tu nodo siguiendo estas recomendaciones:
- Crea una VPC personalizada
- Modo de enrutamiento regional
- MTU 1460
- Habilita la regla de firewall predeterminada
BLOCKCHAIN_VPC_NETWORK-allow-sshpara tu red. Consulta Usa reglas de firewall de VPC para obtener más información.
Reemplaza
BLOCKCHAIN_VPC_NETWORKpor el nombre de la VPC que contendrá los recursos de tu nodo, por ejemplo,ethereum-vpc.Agrega una subred IPv4 para tu red. Asegúrate de que la región elegida para tu subred sea la misma en la que deseas implementar tu nodo.
Para obtener información sobre cómo crear VMs de reglas de firewall en una VPC, consulta Crea reglas de firewall de VPC.
Cómo iniciar una VM con un SSD externo
Para obtener instrucciones detalladas sobre la creación de VMs y la conexión de discos externos, consulta la documentación de Compute Engine.
Puedes encontrar instrucciones específicas para la forma de la VM que coincida con los requisitos específicos de la red de cadena de bloques en la sección Hardware Requirements and Recommended Machine Type de la página del nodo específico de la cadena de bloques. Consulta la documentación específica de la cadena de bloques para ver los requisitos de CPU y memoria, la forma de VM recomendada para tu nodo y los comandos de creación para tu nodo.
Conéctate a la VM con SSH y crea un usuario nuevo
Conéctate a la VM mediante SSH
Cuando se aprovisione la VM, conéctate a ella con SSH. Para ello, navega a la página de Compute Engine o ejecuta el siguiente comando en Cloud Shell:
gcloud compute ssh NODE_NAMEReemplaza NODE_NAME por el nombre del nodo. Usa letras minúsculas, números y guiones. Por ejemplo:
my-node.Si te conectas desde tu propia máquina, instala Google Cloud CLI como se describe en Instala la CLI de gcloud.
Cuando se complete la instalación de Google Cloud CLI, accede a tu proyecto y conéctate a la VM:
gcloud init gcloud compute ssh USER@NODE_NAMEReemplaza USER por el Google Cloud nombre de acceso del usuario.
Crear un usuario nuevo
Una vez que te hayas conectado a la VM a través de SSH, crea un usuario sudo que no sea de SSH para que sea propietario y administre todos los recursos del nodo. Como este usuario no tiene claves SSH en los metadatos de la VM, solo se puede acceder a él si primero te conectas a la máquina a través de uno de los usuarios Google Cloud autenticados.
Crea un usuario sudo nuevo y ejecuta el siguiente comando:
sudo useradd -m NODE_ADMINReemplaza NODE_ADMIN por el ID del usuario nuevo. Por ejemplo,
node-adminAgrega el usuario al grupo sudo:
sudo usermod -aG sudo NODE_ADMINCambia a este usuario para terminar de activar el disco externo:
sudo su - NODE_ADMIN
Activa los discos externos
El disco externo que creaste en el paso 2 alojará todos los datos de la cadena de tu nodo. Esta es una práctica recomendada, ya que te permite transferir los datos entre nodos una vez que se cierra la VM, así como configurar fácilmente programas de instantáneas para tus datos de cadena.
Activa el disco. Primero, muestra una lista de todos los discos disponibles en la VM:
sudo lsblkEs probable que el disco externo se encuentre en
/dev/sdb. Puedes identificar el disco externo por el tamaño del disco que creaste en el paso 2.Formatea el disco:
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdbCrea un directorio para el disco y actívalo:
sudo mkdir -p /mnt/disks/CHAIN_DATA_NAME sudo mount -o discard,defaults /dev/sdb /mnt/disks/CHAIN_DATA_NAMEReemplaza lo siguiente:
- CHAIN_DATA_NAME: Es el nombre del directorio de datos de tu cadena. Por ejemplo,
my-eth-data - /dev/sdb: Es la ubicación del disco si es diferente de
/dev/sdb.
- CHAIN_DATA_NAME: Es el nombre del directorio de datos de tu cadena. Por ejemplo,
Asigna privilegios de escritura a
NODE_ADMIN:sudo chmod a+w /mnt/disks/CHAIN_DATA_NAMEObtén el UUID del disco y agrégalo a
fstabpara que se vuelva a activar automáticamente durante el reinicio: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/fstabEl disco ya está activado y listo. Para verificar el disco activado, ejecuta lo siguiente:
df -h
Próximos pasos
El esqueleto de tu nodo está listo. En este punto, deberías tener lo siguiente:
- Una VPC para tu nodo con acceso SSH habilitado
- Una VM adaptada a los requisitos de tu nodo.
- Un nuevo usuario administrador de nodos para ser propietario de los recursos del nodo y administrarlos
- Un disco SSD externo activado que se ajuste a los requisitos de almacenamiento de tu nodo
Asegúrate de volver a la documentación específica de la cadena de bloques para terminar de ejecutar los comandos de implementación de tu nodo.