OffshoreVps
チュートリアル2026年10月17日読了時間 7 分執筆:OffshoreVps チーム

Solana RPC ノードの運用:要件とセットアップ

Solana のバリデーターや RPC ノードが本当に必要とするもの、システムのチューニング方法、Agave クライアントでの RPC ノードの起動方法、そして小規模な選択肢のほうが賢い場合。

Solanaは、自分で運用するには最も要求の厳しいチェーンです。バリデーターやフルRPCノードには、非常に高速なCPU、大量のRAM、高速なNVMeディスクが必要で、要件も変わり続けています。このガイドでは、それが実際に何を意味するのかを説明するので、自分のノードが必要か、もっと小さな構成で足りるかを判断できます。

Solana RPC ノードを動かすために使うコマンドを、「sudo adduser --disabled-password --gecos "" sol」から始めて表示している VPS のターミナルウィンドウ
このガイドでサーバー上で実行するコマンドの例。

バリデーター、RPCノード、それとも不要?

  • バリデーター。ブロックに投票するため、フルのハードウェア仕様、資金を入れた投票アカウント、常時稼働が必要です。
  • RPCノード。アプリ、ボット、インデクサーからのリクエストに応答します。投票はしませんが、同程度のハードウェアが必要で、アカウントインデックスを有効にするとさらに多くのRAMが必要です。
  • 軽い用途。送信するトランザクションが少数だったり、読み取るデータが少しだけなら、通常はノードを運用するよりも有料のRPCエンドポイントのほうが安上がりです。

購入前に、Solanaの公式バリデーター要件を確認してください。要件はSolanaとAgaveのドキュメントで公開されており、ネットワークとともに変わります。おおよその目安として、負荷の高いRPCノードでは数百GBのRAMと、高速なNVMeドライブが複数必要になると考えてください。これは小さなVPSではなく、専用サーバーの領域です。サイズ別の選択肢はSolanaノードホスティングのページに掲載しています。

ステップ 1:サーバーを準備する

Ubuntu LTSを使い、新しいVPSを守る方法の手順に従ってください。専用ユーザーを作成し、NVMeドライブが複数ある場合は、レジャーとアカウントを別々のドライブに置いてください。

sudo adduser --disabled-password --gecos "" sol
sudo mkdir -p /mnt/ledger /mnt/accounts
sudo chown -R sol:sol /mnt/ledger /mnt/accounts

ステップ2:システムの上限を引き上げる

Solanaは多数のファイルを開き、大きなメモリマップを使います。次の内容を/etc/sysctl.d/21-solana.confとsystemdユニットに追加してください。

vm.max_map_count=1000000
net.core.rmem_max=134217728
net.core.wmem_max=134217728

# in the systemd unit:
LimitNOFILE=1000000

sudo sysctl --systemで適用します。

このガイドの手順(順番どおり):1. バリデーター、RPC ノード、それとも不要?;2. サーバーを準備する;3. システムの上限を引き上げる;4. RPC ノードを起動する;5. 追い付くのを見守る;6. ファイアウォール
このガイドの手順(順番どおり)。

ステップ3:バリデーターソフトウェアをインストールする

公式ドキュメントの方法で現行のAgaveリリース(Solanaのバリデータークライアント)をインストールし、検証してください。その後、バージョンを確認します。

agave-validator --version
solana --version

ステップ4:RPCノードを起動する

これは、投票しないRPCノードの起動コマンドの典型的な形です。お使いのクラスター向けに、公式ドキュメントにあるknown validatorsとエントリーポイントを使ってください。

agave-validator \
  --identity /home/sol/identity.json \
  --ledger /mnt/ledger \
  --accounts /mnt/accounts \
  --entrypoint ENTRYPOINT:8001 \
  --known-validator KNOWN_VALIDATOR_PUBKEY \
  --only-known-rpc \
  --rpc-port 8899 \
  --private-rpc \
  --no-voting \
  --full-rpc-api \
  --limit-ledger-size \
  --log /var/log/solana/validator.log

プレースホルダーは、ドキュメントの値に置き換えてください。--private-rpcは、RPCポートがネットワークに広告されるのを防ぎますが、それでもファイアウォールで閉じておく必要があります。

ステップ5:追いつくのを見守る

solana catchup --our-localhost
solana-validator --ledger /mnt/ledger monitor

スナップショットからの追いつきには、数分から数時間かかります。ノードが遅れたまま回復しない場合、原因はたいていディスクかネットワークです。

ファイアウォール

ドキュメントに記載されているゴシップとTPUのポート範囲(デフォルトは8000〜10000)を許可し、RPC(8899と8900)は非公開にしてください。他のマシンにRPCを提供する必要がある場合は、前段に認証付きのリバースプロキシを置いてください。