セルフマネージド ノードの一般的な設定

このページでは、複数のブロックチェーン ネットワークで RPC ノードを実行するためのベスト プラクティスについて説明します。

このチュートリアルでは特に、次の手順について説明します。

  • ノード用に新しい VPC を作成する。
  • ノードの VM を起動する。
  • ノードマネージャーの新しいプロファイルを設定する。
  • チェーンデータ用に外部ディスクを VM にマウントする。

このガイドでは、課金が有効になっている Google Cloud プロジェクトがすでにあることを前提としています。手順については、プロジェクトの作成と管理をご覧ください。

新しい VPC を作成する

VPC の作成手順については、VPC ネットワークを作成して管理するをご覧ください。

  1. 次の推奨事項に沿って、ノードの VPC を作成します。

    • カスタム VPC を作成する
    • リージョン ルーティング モード
    • MTU 1460
    • ネットワークのデフォルトの BLOCKCHAIN_VPC_NETWORK-allow-ssh ファイアウォール ルールを有効にします。詳細については、VPC ファイアウォール ルールを使用するをご覧ください。

    BLOCKCHAIN_VPC_NETWORK は、ノードリソースを保持する VPC の名前に置き換えます(ethereum-vpc など)。

  2. ネットワークにIPv4 サブネットを追加します。サブネットに選択したリージョンが、ノードをデプロイするリージョンと同じであることを確認します。

VPC にファイアウォール ルール VM を作成する方法については、VPC ファイアウォール ルールを作成するをご覧ください。

外部 SSD を使用して VM を起動する

VM の作成と外部ディスクのアタッチメントの詳細な手順については、Compute Engine のドキュメントをご覧ください。

ブロックチェーン ネットワークの特定の要件を満たす VM シェイプの具体的な手順については、ブロックチェーン固有のノード ページの Hardware Requirements and Recommended Machine Type セクションをご覧ください。CPU とメモリの要件、ノードに推奨される VM シェイプ、ノードの作成コマンドについては、ブロックチェーン固有のドキュメントをご覧ください。

SSH を使用して VM に接続し、新しいユーザーを作成する

SSH を使用して VM に接続する

  1. VM がプロビジョニングされたら、Compute Engine ページに移動するか、Cloud Shell で次のコマンドを実行して、SSH を使用して VM に接続します。

    gcloud compute ssh NODE_NAME
    

    NODE_NAME は、ノードの名前に置き換えます。小文字、数字、ハイフンのみ使用できます。例: my-node

  2. 自分のマシンから接続する場合は、gcloud CLI をインストールするの説明に従って Google Cloud CLI をインストールします。

  3. Google Cloud CLI のインストールが完了したら、プロジェクトにログインして VM に接続します。

    gcloud init
    gcloud compute ssh USER@NODE_NAME
    

    USER は、ユーザーのログイン名に置き換えます。 Google Cloud

新しいユーザーを作成

SSH 経由で VM に接続したら、SSH 以外の sudo ユーザーを作成して、ノードのすべてのリソースを所有および管理します。このユーザーには VM メタデータに SSH 認証鍵がないため、認証済みのいずれかのユーザーを介してマシンに接続してからアクセスする必要があります。 Google Cloud

  1. 新しい sudo ユーザーを作成するには、次のコマンドを実行します。

    sudo useradd -m NODE_ADMIN
    

    NODE_ADMIN は、新しいユーザーのユーザー ID に置き換えます。例: node-admin

  2. ユーザーを sudo グループに追加します。

    sudo usermod -aG sudo NODE_ADMIN
    
  3. このユーザーに切り替えて、外部ディスクのマウントを完了します。

    sudo su - NODE_ADMIN
    

外部ディスクをマウントする

ステップ 2 で作成した外部ディスクに、ノードのすべてのチェーンデータが格納されます。これは、VM のシャットダウン後にノードをまたいでデータを移行できるため、また、チェーンデータのスナップショット スケジュールを簡単に構成できるため、ベスト プラクティスです。

  1. ディスクをマウントする前に、VM で使用可能なすべてのディスクを一覧表示します。

    sudo lsblk
    

    ほとんどの場合、外部ディスクは /dev/sdb にあります。外部ディスクは、ステップ 2 で作成するディスクのサイズで判断できます。

  2. ディスクをフォーマットします。

    sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
    
  3. ディスクのディレクトリを作成し、マウントします。

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

    次のように置き換えます。

    • CHAIN_DATA_NAME: チェーンのデータ ディレクトリの名前。例: my-eth-data
    • /dev/sdb: /dev/sdb と異なる場合はディスクのロケーション。
  4. NODE_ADMIN に書き込み権限を割り当てます。

    sudo chmod a+w /mnt/disks/CHAIN_DATA_NAME
    
  5. ディスクの UUID を取得して fstab に追加し、再起動時に自動的に再マウントされるようにします。

    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. これでディスクがマウントされ、使用できるようになりました。マウントされたディスクを確認するには、次のコマンドを実行します。

    df -h
    

次のステップ

ノードの骨組みは完成しました。ここまでで、次のような状態になっているはずです。

  • SSH アクセスが有効になっているノードの VPC。
  • ノードの要件に合った VM。
  • ノードリソースを所有して管理する新しいノード管理者ユーザー。
  • ノードのストレージ要件に合わせてマウントされた外部 SSD ディスク。

ブロックチェーン固有のドキュメントに戻って、ノードのデプロイ コマンドの実行を完了してください。