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

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

API/PEERネットワーク構成一覧

No

ロードバランサー

APIノード配置

PEERノード配置

図

1

あり(公開ネットワーク)
VPC: Your vpc
VpcCidrBlock: xx.xx.xx.xx/xx
Public1/2, Private1/2
UseLoadBalancer: Yes
LoadBalancerType: external
公開NW
ApiPlacementNetwork: Public

非公開NW

../../_images/view_network_2_1.png

2

あり(非公開ネットワーク)
UseLoadBalancer: Yes
LoadBalancerType: internal
非公開NW
ApiPlacementNetwork: Private

非公開NW

../../_images/view_network_2_2.png

3

なし
UseLoadBalancer: No
LoadBalancerType は設定効果なし
公開NW
ApiPlacementNetwork: Public

非公開NW

../../_images/view_network_2_3.png

4

なし
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_1.png ../../_images/step7_1_exist_2.png

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

CloudFormation パラメータ一覧

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名を記載してください。
非公開ネットワーク用で、公開はされません。
複数スタック構築時には一意にしてください。

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ノードの配置ネットワークを選択してください。

⑭

ApiInstanceType

APIノードのインスタンスタイプ

c5n.2xlarge以上

⑮

ApiRootVolumeSize

APIノードのルートディスクサイズ(GB)
DockerログやSystem logに使用

30GB以上

⑯

ApiBlockVolumeSize

mijinブロックデータ格納用ディスクサイズ(GB)
gp3ディスクを利用

500GB以上

⑰

ApiBlockVolumeIops

mijinブロックデータ用IOPS

3000以上

⑱

ApiMongoVolumeSize

mongoデータ格納用ディスクサイズ(GB)
Blockchainデータ呼び出し用

300GB以上

⑲

ApiMongoVolumeIops

mongoデータ用IOPS

3000IOPS以上

⑳

PeerNumberOfUnits

PEERノードの台数

3以上

㉑

PeerInstanceType

PEERノードのインスタンスタイプ

c5n.xlarge以上

㉒

PeerRootVolumeSize

PEERノードのルートディスクサイズ(GB)
DockerログやSystem logに使用

30GB以上

㉓

PeerBlockVolumeSize

PEERノードのブロックデータ保存用ディスクサイズ

500GB以上

㉔

PeerBlockVolumeIops

PEERノードのブロックデータ用IOPS

3000IOPS以上

㉕

CatapultVersion

mijinのバージョン

v10039

㉖

CatapultShareMode

ブロック生成情報保存先を指定
現在はAWS Systems Managerに固定

ssm

㉗

CatapultNetwork

mijinネットワーク指定

mijin

㉘

Catapult BlockGenerationTargetTime

ブロック生成間隔

15s

㉙

CatapultEffectiveFee

手数料有無の設定

No

㉚

MaxCosignedAccount

最大署名数

25

㉛

FinalizationType

ファイナライゼーション方式

Deterministic

㉜

MaxTransactionperBlock

1ブロックの最大トランザクション数

6000

㉝

RestThrottring

API接続数上限

30tps

㉞

UnconfirmCacheSize

未承認トランザクション格納数

Small

㉟

UseLoadBalancer

NLB使用有無(プレビューはYes固定)

Yes

㊱

LoadBalancerType

ロードバランサー配置タイプ

External

㊲

ImageId

AMI ID(変更不可)

変更不可

㊳

MPS3BucketName

S3バケット名(変更不可)

変更不可

㊴

MPS3BucketRegion

S3リージョン(変更不可)

変更不可

㊵

MPS3KeyPrefix

S3キーPrefix(変更不可)

変更不可

㊶

mijinStackAlreadyExist

他に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の設定情報を確認できます。

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

mijin エンドポイントと確認項目

mijinLBEndpoint

ロードバランサーを通した mijin の API エンドポイントです。 API ノードを負荷分散しますが、ソース IP によるスティッキーセッションが有効です。 詳細はこちら

mijinEndpoint

API ノード(EC2インスタンス)の直接アクセス用の API エンドポイントです。 ロードバランサーを介さずに接続できます。

../../_images/chaininfo.png

chainInfo

mijin の現在のブロック数を確認できます。 ブロック数が「2」以上であることを確認してください。

../../_images/harvest_address.png

harvestAddress

AWS Systems Manager パラメータストアに登録された、 通貨分配用アドレスへのリンクです。

../../_images/empty_address.png

emptyAddress

AWS Systems Manager パラメータストアに登録された、 未使用アドレスのリンクです。

../../_images/node_peers.png

nodePeers

mijin API からノードの接続状態を確認できます。 API ノード 1 台と設定された PEER ノード数が表示されていれば正常です。

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