2.2.3. 既存VPC上に、mijinをデプロイする

本章では、既存ネットワーク(VPC)に mijin Catapult(v.2) をデプロイする方法を示します。
製品版では、パラメーターを変更することで環境にあったネットワークを柔軟に構築することが可能です。
作成日:

2022/8/1

更新日:

2025/6/10

2.2.3.1. デプロイによってAWS上に構築するサービス一覧

  • Amazon EC2 (APIノード x 2 PEERノード x 3~)

  • Amazon EBS

  • Elastic Load Balancing

  • Amazon Route53

  • パラメータストア

注釈

Elastic Load Balancingは、デプロイ時に指定するパラメーターの設定により、作成しないケースがあります。

2.2.3.2. 既存VPCのサブネットの作成

mijinをデプロイするうえで、高可用性を実現するため、PublicネットワークとPrivateネットワークのサブネットが二つずつ必要になります。
サブネット数が足りない場合、以下を参考に作成してください。

<https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/working-with-subnets.html#create-subnets>

注釈

片方のAZに障害が発生してもサービスを継続できるように、複数のアベイラビリティゾーン(AZ)のサブネット二つを作成してください。

2.2.3.3. View Network

既存ネットワーク用では、パラメーターを変更することですでに存在する環境へ構築することが可能です。 以下にパターン例を示します。

No

ロードバランサー

APIノード配置

PEERノード配置

1

あり
公開ネットワーク

VPC: Your vpc
VpcCidrBlock: xx.xx.xx.xx/xx
Public1: public subnet
Public2: public subnet
Private1: private subnet
Private2: private subnet
UseLoadBalancer: Yes
LoadBalancerType: external
公開NW
UseLoadBalancer: Yes
ApiPlacementNetwork: Public

非公開NW

../../_images/view_network_2_1.png

2

あり
非公開ネットワーク

VPC: Your vpc
VpcCidrBlock: xx.xx.xx.xx/xx
Public1: public subnet
Public2: public subnet
Private1: private subnet
Private2: private subnet
UseLoadBalancer: Yes
LoadBalancerType: internal
非公開NW
ApiPlacementNetwork: Private

非公開NW

../../_images/view_network_2_2.png

3

なし

VPC: Your vpc
VpcCidrBlock: xx.xx.xx.xx/xx
Public1: public subnet
Public2: public subnet
Private1: private subnet
Private2: private subnet
UseLoadBalancer: No
LoadBalancerTypeは設定効果なし
公開NW
ApiPlacementNetwork: Public

非公開NW

../../_images/view_network_2_3.png

4

なし

VPC: Your vpc
VpcCidrBlock: xx.xx.xx.xx/xx
Public1: public subnet
Public2: public subnet
Private1: private subnet
Private2: private subnet
UseLoadBalancer: No
LoadBalancerTypeは設定効果なし
非公開NW
ApiPlacementNetwork: Private

非公開NW

../../_images/view_network_2_4.png

注釈

製品版では、高可用性を実現するため、シングルAZで構成はできず、マルチAZのみの構成となっています。
必ずパブリックネットワーク2つ、プライベートネットワーク2つが必要になることに留意してください。
配置はシングルリージョンとなりますが、世界21リージョン毎にデプロイすることが可能です。

2.2.3.4. Step.1

../../_images/step1_1.png

日: mijin Catapult EnterpriseのAMIを使用するためにサブスクライブする必要があります。赤枠のボタンを押してください。

2.2.3.5. Step.2

../../_images/step2_1.png

日: mijin Catapult Enterprise AMIを使用するため、使用の承認をしてください。

2.2.3.6. Step.3

../../_images/step3_1.png

日: Configから起動するために、赤枠の文字をクリックしてください。

2.2.3.7. Step.4

../../_images/step4_1_ext.png

日: ①の赤枠にて使用するテンプレートを選択します。ここでは既存ネットワークに作成するため「mijin Catapult Enterprise on Existing VPC CFT」を指定します。 日: ②の赤枠ににて mijinのバージョンを指定します。 日: ③ mijinを展開するリージョンを指定します。 日: ④の赤枠の「 Continue to Launch」を押します。

2.2.3.8. Step.5

../../_images/step5_1_ext.png

日: ①の赤枠にて、mijinの構築するサービスを指定します。ここでは「Launch CloudFormation」を指定します。 日: ②の赤枠の、「Launch」を押します

2.2.3.9. Step.6

../../_images/step6_1.png

日: とくに編集せず、赤枠の「Next」を押します。

2.2.3.10. Step.7

../../_images/step7_1_exist.png

日: パラメータを入力します。

No

Parameter

Describe

推奨値

Stack Name

このスタックにおける名前を記載してください。

Service Name

スタックによって作成されるサービス名を記載してください。
全リソースの冠名として使用されます。

VPC

お使いのVPCを指定してください。

VpcCidrBlock

③で指定したVPCのIP アドレスの範囲を記載してください。(CIDR Block)
③で選択した ()内のIPアドレス範囲で問題ありません。

Public1

③で指定したVPCにある公開ネットワークを指定してください。

Public2

③で指定したVPCにある公開ネットワークを指定してください。
⑤で指定した公開ネットワークとは別のネットワークを指定する必要があります。

Private1

③で指定したVPCにある非公開ネットワークを指定してください。

Private2

③で指定したVPCにある非公開ネットワークを指定してください。
⑦で指定した公開ネットワークとは別のネットワークを指定する必要があります。

InternalDomainName

ノード間で使用する名前解決用のDNS名を記載してください。
このDNSは非公開ネットワーク用のため、世界に公開されるわけではありません。
mijinを2つ以上スタックを展開する場合、DNS名は別である必要があります。

mijin.internal

Public Location IP

mijin CatapultのAPIへの接続許可IPアドレスを指定してください。
IPアドレスはレンジでも可能です(/24など)

XX.XX.XX.XX/32など

Default UnixUser

作成するEC2インスタンスの標準のUnixユーザーを記載してください。

ubuntu

KeyName

作成するEC2インスタンスのリモート接続用のSSH鍵を選択してください。
表示されてない場合、事前に鍵を作成する必要があります。
鍵の作成方法は こちら をご確認ください。

ApiPlacementNetwork

APIノードであるEC2インスタンスを配置するネットワークを選択してください。

ApiInstanceType

APIノードのEC2インスタンスのスペックを選択してください。
スペックについては、 アーキテクチャとスペック要件 を参考に選択してください。

c5n.2xlarge 以上

ApiRootVolumeSize

APIノードのルートパーティションのディスクサイズ(GB)を選択してください。
ディスクはgp3のため、各リージョンのアベイラビリティゾーンで使用可能か確認してください。
主に、Dockerコンテナイメージ、DockerログやSystem logに使われるため、推奨値以上の容量を設定してください。

30GB以上

ApiBlockVolumeSize

APIノードのmijinブロックデータを置くディスクサイズ(GB)を選択してください。
ディスクはgp3のため、各リージョンのアベイラビリティゾーンで使用可能か確認してください。
mijin Catapult(v.2) のブロックチェーンデータを保存する領域のため、推奨値以上の容量を設定してください。

500GB以上

ApiBlockVolumeIops

APIノードのmijinブロックデータを置くディスクのディスク読み書き回数/秒を選択してください。

3000以上

ApiMongoVolumeSize

APIノードのmijin mongoデータを置くディスクサイズ(GB)を選択してください。
ディスクはgp3のため、各リージョンのアベイラビリティゾーンで使用可能か確認してください。
mijin Catapult(v.2) のブロックチェーンデータを容易に呼び出すためのmongoデータの領域となるため、推奨値以上の容量を設定してください。

300GB以上

ApiMongoVolumeIops

APIノードのmijin mongoデータを置くディスクのディスク読み書き回数/秒を選択してください。

3000IOPS以上

PeerNumberOfUnits

PEERノード台数を指定してください。

3以上

PeerInstanceType

PEERノードのEC2インスタンスのスペックを選択してください。(全PEERノード共通)
スペックについては、 アーキテクチャとスペック要件 を参考に選択してください。

c5n.xlarge以上

PeerRootVolumeSize

PEERノードのルートパーティションのディスクサイズ(GB)を選択してください。(全PEERノード共通)
ディスクはgp3のため、各リージョンのアベイラビリティゾーンで使用可能か確認してください。
主に、Dockerコンテナイメージ、DockerログやSystem logに使われるため、推奨値以上の容量を設定してください。

30GB以上

PeerBlockVolumeSize

PEERノードのmijinブロックデータを置くディスクサイズ(GB)を選択してください。(全PEERノード共通)
ディスクはgp3のため、各リージョンのアベイラビリティゾーンで使用可能か確認してください。
mijin Catapult(v.2) のブロックチェーンデータを保存する領域のため、推奨値以上の容量を設定してください。

500GB以上

PeerBlockVolumeIops

PEERノードのmijinブロックデータを置くディスクのディスク読み書き回数/秒を選択してください。(全PEERノード共通)

3000IOPS以上

CatapultVersion

mijinのバージョンを選択してください。

v10038

CatapultShareMode

ブロック生成に必要な情報(アドレスやノードのSSL公開鍵など)の保存先を選択してください。
現在保存先は AWS AWS Systems Managerのパラメータストアのみとなります。

ssm

CatapultNetwork

mijinのネットワークを選択してください。

mijin

Catapult BlockGenerationTargetTime

mijinのブロック生成時間を選択してください。

15s

CatapultEffectiveFee

トランザクション、レンタル手数料のあり/なしを選択してください。

No

MaxCosignedAccount

1アカウントが署名できる最大数を選択してください。

25

FinalizationType

ファイナライゼーションの種類を選択してください。

Deterministic

MaxTransactionperBlock

1ブロック辺りの最大トランザクション数を選択してください。

6000

RestThrottring

API Rest接続数上限を選択してください。

30tps

UnconfirmCacheSize

未承認トランザクションを保存できるサイズを選択してください。

Small

UseLoadBalancer

ロードバランサー(NLB)による負荷分散を使用するかを選択してください。
プレビュー版ではロードバランサー使用で固定になります。

Yes

LoadBalancerType

ロードバランサーが内部/外部に設置するか選択してください。

External

ImageId

AWS側が管理するAMI IDパスです。この値を修正することはできません。

変更不可

MPS3BucketName

AWS側が管理するS3バケット名です。この値を修正することはできません。

変更不可

MPS3BucketRegion

AWS側が管理するS3バケットのリージョンです。この値を修正することはできません。

変更不可

MPS3KeyPrefix

AWS側が管理するS3バケットのプレフィックスです。この値を修正することはできません。

変更不可

mijinStackAlreadyExist

mijinスタックが他に存在するかを選択してください。
先にmijinスタックが存在する場合、2回目以降のスタック作成に失敗するため2回目以降のmijinスタック作成の際は「Yes」を選択してください。

No

日: パラメータの入力完了後、「Next」を押します。

2.2.3.11. Step.8

../../_images/step8_1.png

日: とくに編集せず、赤枠の「Next」を押します。

2.2.3.12. Step.9

../../_images/step9_1.png

日: ①の赤枠にて2つの項目にチェックを入れます。 日: ②の赤枠の「Create Stack」を押します。エラーがなければ作成が始まります。

2.2.3.13. Step.10

../../_images/step10_1.png

日: Stackが始まり「CREATE_IN_PROGRESS」になっていることを確認してください。この状態はおよそ20~30分程度かかります。

2.2.3.14. Step.11

../../_images/step11_1.png

日: 「CREATE_COMPLATE」の状態であれば、mijinの作成が完了しました。

2.2.3.15. Step.12

../../_images/step12_1.png

日: 作成したStackの「Outputs」を押すと、作成されたmijinの設定情報を確認できます。

※以下表は、新規ネットワーク版と同じのため省略

Key

Description

View

mijinLBEndpoint

ロードバランサーを通したmijinのAPIエンドポイントです。APIノードを負荷分散しますが、セッション維持設定がされておりソースIPにて判定されます。スティッキーセッションについては、以下を参考にしてください。

mijinEndpoint

APIノードであるEC2インスタンスのmijinのAPIエンドポイントです。ロードバランサー経由ではなく直接APIへアクセスすることができます。

chainInfo

mijinの現在のブロック数の確認ができます。
ここでブロック数が2以上になっていることを確認してください。
../../_images/chaininfo.png

harvestAddress

URLはAWS Systems Managerサービスのパラメータストアへのリンクとなっており、基軸通貨を分配したアドレスにリンクされています。

../../_images/harvest_address.png

emptyAddress

URLはAWS Systems Managerサービスのパラメータストアへのリンクとなっており、未使用のアドレスを生成しています。

../../_images/empty_address.png

nodePeers

APIからノードの接続状態を確認することができます。api1台、設定したpeer台数が表示されていれば問題ありません。

../../_images/node_peers.png

日: これでmijin Catapultを使用する準備が整いました。それでは次の項で操作を始めてみましょう!