AWSでSymbolノードを立ち上げた後、独自ドメインと報酬条件を反映する


はじめに

AWSでSymbolノードを立ち上げた後、独自ドメインを反映するのに手間取ったので、
忘れないようにまとめておこうと思います。

AWSノードの立ち上げは、こちらの記事がとても参考になりました。。

この記事でノードを起動させると
SymbolのノードリストにIPアドレスが反映されています。
以下のリンクから確認しておきましょう。

■ Symbol mainnet nodelist
https://symbolnodes.org/nodes/

■ Symbol Block Explorer
http://explorer.symbolblockchain.io

*Cloudformationのリンクをクリックするとロード中の画面から
変わらないことがありましたが、少し時間をおいて再度試したらできました。

独自ドメインを取得し、ホストゾーンを作成する

Route53から、希望するドメインを入力。

個人情報を入力し、確認画面にいって登録完了です。

次は、独自ドメインのトラフィックを設定します。ホストゾーンをクリック。

反映させたいドメインを選択し、ホストゾーンの作成 (現時点では、レコード数は2になっています)

取得した独自ドメインを入力し、ホストゾーンの作成。

レコードを作成で、Aレコードを作成し、DNSで定義したい独自ドメインについての情報を入れていきます。

シンプルルーティングを選択後、次へ。

シンプルなレコードの定義を設定します。

レコードタイプをAにして、値/トラフィックのルーティング先にパブリック IPv4アドレスを入力します。パブリック IPv4 アドレスは、EC2管理画面で確認可能です。

シンプルなレコードを定義をクリックし、ホストゾーンにAレコードが追加完了です。最後に、【ホストゾーン】と【独自ドメイン】のネームサーバーの値が一致しているかを確認しましょう。【独自ドメイン】のネームサーバーの値を変更して一致させます。

Route 53 ダッシュボードから確認できます。

【ホストゾーンのネームサーバー】

【独自ドメインのネームサーバー】

これで、ホストゾーンの設定が完了です。
http://{独自ドメイン}:3000/chain/info
でアクセスできるようになりますので確認してみましょう。
nodelistには、独自ドメインはまだ反映されていない状態です。

報酬条件と独自ドメインを設定する

次に報酬設定や独自ドメインを反映していきます。
EC2の管理画面で、インスタンスを選択後、接続をクリック。

セッションマネジャーを選択し、接続をクリック。


正常な状態では$
が表示されコマンドを打ち込める状態になりますが、
まれに$が表示されない時がありました。
時間をおいたら改善されました。

まずは、報酬条件の設定を行います。

sudo su - symbol
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

symbol@sv-dual:~$ cd /mnt/symbol/data
symbol@sv-dual:/mnt/symbol/data$
vi target/nodes/node/server-config/resources/config-harvesting.properties 

編集する箇所は、以下の3つ。【 i 】でインサートモードにして、編集します。

◆ maxUnlockedAccounts = 10 (委任を受け入れる上限)
◆ delegatePrioritizationPolicy = Age or Importance (先着順かインポータンス順か)
◆ beneficiaryAddress = ハーベスト報酬を受け取るアドレス

変更したら、Escでコマンドモードにし、【 :wq 】で上書き保存して完了です。

[harvesting]

harvesterSigningPrivateKey = ***
harvesterVrfPrivateKey =  ***

enableAutoHarvesting = true
maxUnlockedAccounts = 20
delegatePrioritizationPolicy = Age
beneficiaryAddress = NDC********************************

次に独自ドメインを反映させる操作です。
~/symbol-bootstrap/target 下に my-preset.ymlを作成して、そこに記述することで反映されます。

$ cd ~/
$ mkdir -p ~/symbol-bootstrap/target
// ~/symbol-bootstrap/targetに移動
$ vi my-preset.yml

hostの部分に独自ドメインを入力して、上書き保存します。
v.1.0.2の時は、docker-compose.yml も設定する必要がありましたが、今は編集しなくてもよさそうです。

nodes:
    -
        friendlyName: ******
        host: '********.com'

最後にこれらの条件を反映させます。

// 設定ファイル反映
symbol-bootstrap config -p mainnet -a dual -c my-preset.yml --upgrade
// docker-compose.yml再構築
symbol-bootstrap compose --upgrade
// 起動
symbol-bootstrap run -d
// ヘルスチェック
symbol-bootstrap healthCheck
// 疏通確認
http://[ip または host]:3000/node/info
http://[ip または host]:3000/node/unlockedaccount

nodelistを確認し、独自ドメインが反映されているのを確認して完了です。

参考サイト

◆ Symbol node list : https://symbolnodes.org/nodes/
◆ Symbol Block Explorer : http://explorer.symbolblockchain.io
◆ カスタムプリセットの公式ガイド : https://github.com/nemtech/symbol-bootstrap/blob/main/docs/presetGuides.md
◆ Slack (Tanuson ) : https://tanuson.slack.com/ssb/redirect
◆ Qiita | Symbolノードを30分でAWS上に立ち上げる : https://qiita.com/keiyow/items/8c7568bdd4055f59f32f