Configuración común de nodos autoadministrados

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.

  1. 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-ssh para tu red. Consulta Usa reglas de firewall de VPC para obtener más información.

    Reemplaza BLOCKCHAIN_VPC_NETWORK por el nombre de la VPC que contendrá los recursos de tu nodo, por ejemplo, ethereum-vpc.

  2. 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

  1. 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_NAME
    

    Reemplaza NODE_NAME por el nombre del nodo. Usa letras minúsculas, números y guiones. Por ejemplo: my-node.

  2. Si te conectas desde tu propia máquina, instala Google Cloud CLI como se describe en Instala la CLI de gcloud.

  3. 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_NAME
    

    Reemplaza 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.

  1. Crea un usuario sudo nuevo y ejecuta el siguiente comando:

    sudo useradd -m NODE_ADMIN
    

    Reemplaza NODE_ADMIN por el ID del usuario nuevo. Por ejemplo, node-admin

  2. Agrega el usuario al grupo sudo:

    sudo usermod -aG sudo NODE_ADMIN
    
  3. Cambia 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.

  1. Activa el disco. Primero, muestra una lista de todos los discos disponibles en la VM:

    sudo lsblk
    

    Es 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.

  2. Formatea el disco:

    sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
    
  3. Crea 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_NAME
    

    Reemplaza 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.
  4. Asigna privilegios de escritura a NODE_ADMIN:

    sudo chmod a+w /mnt/disks/CHAIN_DATA_NAME
    
  5. Obtén el UUID del disco y agrégalo a fstab para 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/fstab
    
  6. El 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.