本文へスキップ
このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)

AWS AMIを使用する

:::info[Service 更新終了]

Kaiaエンドポイントノード用のAWS AMIサービスは更新されなくなりました(最終更新:2024年11月)。 既存のAMI(日付は2024年11月)はまだ使用可能ですが、現在のブロックチェーンの状態に追いつくために追加の同期時間が必要になる可能性があることにご注意ください。 チェーンデータ・スナップショットの使用や完全な同期化など、別のセットアップ方法については、ブロック同期化を参照してください。

:::

Kaiaは、Kaiaエンドポイントノード(EN)向けにAWS AMI(Amazon Machine Image)を提供しています。 これらのAMIには、ENソフトウェアとチェーンデータの両方がプリインストールされており、ユーザーは迅速かつ便利に、完全に動作するノードを立ち上げることができます。 KaiaのAMIを使えば、オンデマンドで新しいエンドポイントノードを設定することがシームレスになり、Kaiaネットワークへの参加プロセスを簡素化できる。

AMIを利用する理由

AMIは、新しいカイアENを立ち上げる便利な方法を提供する。 また、チェインデータはすでにセットされているので、圧縮されたチェインデータをダウンロードして展開するための余分なディスクストレージは必要ない。 さらに、AMIを使用することは、アーカイブモードや状態移行を伴わないフルモードなど、一部の同期モードにおいて、完全同期なしで新しいENを運用するための唯一のオプションである(剪定されたチェーンデータについては、スナップショットのダウンロードのみを提供している)。

EN AMIの種類

カイアは、異なるモードでチェーンデータが同期された、異なるタイプのAMIを提供する。

タイプシンクモードAMI名
フルフルモードカイア-xxxx-クリーン-フル-エン-xxxx
プルーニングフルモード・ライブプルーニングkaia-xxxx-clean-剪定-en-xxxx
ステート移行済フルモード、ステート移行(または状態一括削除)kaia-xxxx-clean-en-xxxx
アーカイブアーカイブ・モードkaia-xxxx-clean-archive-en-xxxx

カイアはメインネット用にこれら4種類のAMIを提供している。 カイロス用のAMIもある。

ステート・マイグレーションされたチェーンデータの詳細については、ステート・バッチ・プルーニングを参照のこと。 ブロック同期モードの詳細についてはブロック同期を参照。

AmazonコンソールでAMIを使用して新しいEC2インスタンスを起動する

AWSコンソールで新規EC2インスタンスを起動する際は、AMIを選択する必要がある。 AMIの検索バーでkaia-mainnetを検索する。

AMI search bar

検索結果が表示されます。 検索結果ページの "Community AMI "タブをクリックし、リストから使用するAMIを選択する。

AMI search result

インバウンド接続を許可する

AWSコンソールで新しいEC2インスタンスを起動する際、インスタンス用に新しいセキュリティグループを作成するか、既存のセキュリティグループを選択することができる。 いずれにせよ、Kaiaノードが相互通信に使用するポートへの接続を許可するインバウンドルールを追加する必要があります。

AWSコンソールのEC2インスタンスページに移動し、"Security "タブで関連するセキュリティグループを見つける。 ポート32323-32324のインバウンドルールを追加する必要があります。

IPバージョンタイププロトコルポートレンジソース
IPv4カスタムTCPTCP32323 - 323240.0.0.0/0
IPv4カスタムUDPUDP323230.0.0.0/0

起動後のインスタンスの準備とセットアップ

Amazon EBSボリュームのウォームアップ

スナップショットから作成されたAmazon EBSボリューム(AMIもその1つ)には、アクセスする前に、ストレージブロックをAmazon S3からプルダウンし、ボリュームに書き込む必要があります。 このため、各ブロックが最初にアクセスされるとき、ディスク操作に大きなオーバーヘッドが発生する。 ボリュームのパフォーマンスは、すべてのブロックがダウンロードされ、ボリュームに書き込まれた後に回復する。 詳細については、Amazon EBSボリュームの初期化を参照してください。

ボリュームの準備を整えるために、すべてのブロックを読み込むタスクを実行することができる。


sudo yum install -y fio
$ sudo fio --filename=/dev/nvme1n1 --rw=read --bs=128k --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize

備考

Amazon EBSボリュームをウォームアップするこのタスクには、データサイズに応じて長い時間がかかる。 ETAはfioの出力を参照。

kend.confの設定を確認する

ノードを起動する前に、設定ファイル kend.confNETWORKNETWORK_ID フィールドを確認する。 kend.conf ファイルは /etc/kend/conf/kend.conf にある。

メインネットの場合、NETWORKフィールドはmainnetでなければならない。 カイロスの場合、NETWORKフィールドはkairosでなければならない。


# メインネット用
NETWORK=mainnet
# カイロス用
NETWORK=kairos

NETWORK_IDはプライベートネットワークにのみ使用されることに注意。 したがって、メインネットやカイロスにNETWORK_ID`を設定しないようにしてください。

kend.conf の詳細については、Configuration を参照してください。

kend サービスを開始する。

EC2インスタンスには、Kaia CLIクライアントとchaindataがインストールされている。 また、ENを開始/終了するスクリプトであるkendもサービスとしてインストールされている。 kendサービスの状態は以下のコマンドで確認できる。


sudo service kend status

サービスが実行されていない場合は、再起動してください。


sudo service kend restart

サービスが再起動し、EN が正常に起動した場合は、/var/kend/logs/kend.out にあるログを確認できます。


tail -f /var/kend/logs/kend.out

KaiaはCLIクライアントken consoleを提供する。 複数のエンドポイントを介してken consoleを使用してKaiaノードと対話することができ、1つのオプションはIPC(プロセス間通信)を使用することです。 IPC ファイル klay.ipc は EN の DATA_DIR パス、ここでは /var/kend/data にある。 従って、ken consoleを使用するためには、ken consoleを使用する必要がある:


$ sudo ken attach --datadir /var/kend/data
カイアJavaScriptコンソールへようこそ!
インスタンス:Kaia/vX.X.X/XXXX-XXXX/goX.X.X
datadir:/var/kend/data
modules: admin:1.0 debug:1.0 governance:1.0 istanbul:1.0 klay:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0
>

ブロック同期を待つ

AMIは数時間前に作成されたものなので、最新のブロックに同期させるには時間が必要だ。 現在同期されているブロック番号と同期の進行状況は ken console で確認できます。


> klay.blockNumber
165227166
> klay.syncing
{
currentBlock: 165227166,
highestBlock: 165357203,
knownStates:0,
pulledStates:0,
startingBlock: 165222272
}.

ブロック同期が完了したら、同期の進行状況を問い合わせると false を返すはずである。


> klay.syncing
false

ページを改善してください。