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のバージョン

v10038

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を使用する準備が整いました。それでは次の項で操作を始めてみましょう!