コンポーネントとフレームワーク
Hyperledgerファブリックブロックチェーン開発に使用されるすべてのソフトウェアは、DockerコンテナのAWS弾性コンテナレジストリ(ECR)で利用可能です.ネットワーク上のコンポーネントは、1つのAWS EC 2インスタンスで実行されるコンテナで実行されます.
同輩、オーダ、および推薦者はDockerコンテナで提供されます、そして、PostgreSQL Database Ledgerは別々のDockerコンテナで使われます.HyperLedger Explorerも、トランザクションを監視し、ブロックチェーンネットワーク上のブロックを許可する別のDockerコンテナで実行されます.
これらのコンテナは、AWSクラウド上であなたのhyperledgerファブリックブロックを構成するコンポーネントとフレームワークです.
ドッカーコンテナ
Dockerコンテナパッケージのソースコードと画像の依存関係.イメージはアプリケーションをホストするために必要なすべてを含んでいます.
AWS ECSは、コンテナライフサイクルを管理するためのフォールトトレラントでスケーラブルなDockerコンテナ管理サービスである.つの起動型があります.
AWSファーゲート AWS EC 2インスタンスDockerはマルチコンテナアプリケーションを作成するために使用されます.AWSはYAMLファイルを提供します.
超台帳ファブリックにおけるネットワークアーキテクチャ
超小型ハンガーファブリックブロック網上のネットワークアーキテクチャは以下のように構成されている.
は単一の可用性ゾーンの上でVPCをセットアップしました
公共のサブネットは、にセットされます
EC 2インスタンスも設定され、SSH 経由でセキュリティグループに接続されます
EC 2インスタンスは、ブロックチェーンネットワークリソースを含むコンテナにアクセスします
EC 2インスタンスの
、Dockerコンテナはピア、オーダラー、エクスプローラ、およびPostgreSQLデータベースの元帳をホストします.
VPCを作る
パブリックサブネットでVPCを作成する
パブリックサブネットでVPCを作成するためにこれらの手順に従ってください.
ブラウザでAWS home pageに移動します.Allアカウントを作成するのをクリックします.AWSは、当分の間使用することができます12ヶ月無料ティアアクセスアカウントを持っているので、新しいアカウントを作成することができます.あなたが自由層アクセスで自由な特権を過度に使用するために請求されるように、あなたの口座の請求を可能にします.サービスをクリックし、VPCを検索します. VPC>起動VPCウィザードをクリックします.
最初のオプションの選択をクリックしてください
IPアドレスの最初のセクションのデフォルト設定を残しますが、お好みのVPC名で.この記事はvpc name : hyperlvpcを使います.可用性ゾーンを選択する
は、AWSのブロックチェーンのテンプレートが3つのゾーンでのみ利用可能であることを心に留めておく.あなたが望むサブネットの名前.この記事はサブネット名を使用します.これらの設定を完了した後に作成します.成功メッセージが表示されます.あなたのVPCをクリックすると、あなたのVPCの実行が表示されます.
キーペアの設定とセキュリティグループの構成
公開プライベートキーペアの設定は、ローカルマシンからAWS上のEC 2インスタンスへの接続の認証を可能にします.以下の手順に従います.
サービスダッシュボードとEC 2の検索に戻ります.次に、ネットワーク&セキュリティセクションの下のキーペアオプションの左側のナビゲーション区画を参照します.キーペアを選択します.
をクリックして画面の上部にあるキーペアを作成します.VPCと同じ領域のキーペアを作成していることを確認します.あなたが望むようにキーペアを付けます.この記事はキーペア名を使用します.もう一度デフォルトの設定を残し、画面の下にあるCreate Keyペアをクリックします.次のウィンドウには、次のようにアクティブキーペアと共に成功メッセージが表示されます.
新しいインスタンスに接続しながら認証を行う必要があるので、キーを安全にコピーして保存します.それがaでダウンロードされることに注意してください.このウィンドウの直後にPPKファイルが表示されました.
our key pair:
key-0a666d865fc023d4c
ナビゲーションペインのセキュリティグループとネットワーク&セキュリティセクションの下をクリックします.新しいウィンドウで
ページの上部にあるCreate Securityグループをクリックします.AWSのセキュリティグループはファイアウォールに似ています.あなたが望むようにセキュリティグループに名前を付けます.この記事はセキュリティグループ名HyperFabsgを使用します.次に、あなたの選択の説明を追加し、ページの下部にあるCreate Securityグループをクリックします.
セキュリティグループのセクションでは、
グループルールを作成できます.これらの規則は交通流を制御する.いくつかの規則を作成するには、現在のページを「成功メッセージ」を表示し、「インバウンドされた規則」タブをクリックします.新しい画面で
、既定でカスタムTCPを表示するTypeフィールドをクリックし、sshを選択します.既定でカスタムを表示するソースタイプフィールドで、My IPを選択します.追加の資格情報を使用して新しい規則を作成する規則を追加します.をクリックしてルールを保存します.修正後、新しいポリシーとロールが作成されます.
ポリシーとロールの作成
次に、ポリシーとロールが作成されます.役割は最初につくられます、そして、方針は彼らに付けられます.
これは、AWSアイデンティティとアクセス管理(IAM)サービスを必要とします.以下の手順に従って、AWS IAMに対するロールとポリシーを設定します.
サービスの
、IAMを検索します.クリックすると、ウィンドウ表示が表示されます
左のナビゲーションペインのポリシーをクリックします.「ポリシーを作成」をクリックし、Visual StuditorまたはJSONのいずれかで新しいポリシーを作成できる新しいウィンドウに移動します.選択し、新しいポリシーを貼り付けます.この記事はJSONをpolicy available hereで使用します.次に、次のをクリックして次のをクリックします.
最後に、あなたのレビューポリシーの名前を追加します.この記事はレビューポリシー名を使用します.概要を確認し、「ポリシーを作成」をクリックします.
次に、これらのポリシーを管理するロールが作成されます.
左側のナビゲーションペインのロールをクリックします.新しいロールを作成するには、ページの上部にあるCreate roleをクリックします.ページの下部にあるユースケースのEC 2インスタンスを選択します.次をクリックし、次のウィンドウで、作成したポリシーを選択します.ページの一番下の横をクリックし、希望するロール名を指定します.この記事はロール名をEC 2 HyperFroleを使用します.次に、Create roleをクリックします.
ビューロールをクリックして、新しく作成されたロールの概要を確認します.インスタンスプロファイルarn(アマゾンリソース名)を要約でコピーします.
arn:aws:iam::428223012719:instance-profile/EC2HyperFRole
AWS CloudFormationスタックを用いたハイパーレグファブリックネットワークの作成
HyperLedgerファブリックを作成するには、
AWS Blockchain Templates pageに移動し、次の手順に従います.
AWSマネージのBlockchainリンクでGETをクリックします.はAWS Blockchain Templates for Hyperledger Fabricに移動します.この記事で使用されるサブネットの地域であるUSイースト(オハイオ州)地域(US - East - 2)での打ち上げを選択してください.それは自動的にCloudFormationスタックを起動し、AWS上でスタックを素早く作成し、単一のAEC EC 2インスタンスでHyperLedgerファブリックネットワークを構成するホーム画面を表示します.お好みの名前で新しいスタック名を作成します.この記事は、スタック名を使用します.次に、ドメインフィールドにあなたの組織のドメイン名を指定します.この記事はデモです、したがって、デフォルトは使用されます.
ピア組織も利用可能です. VPC IDのフィールドにスクロールし、作成したVPCを選択します.HyperLVPCはこの記事のために選択されます.また、VPCサブネット、EC 2キーペア、セキュリティグループ、およびコピーされたインスタンスプロファイルarnをペーストします.その他の設定のデフォルトを選択します.機能セクションの下にある2つのチェックボックスをクリックし、ページの下部にある「スタックを作成」ボタンをクリックします.次のページが表示されます.
この時点で、AWSのクラウド上で実行されている完全なHyperledgerファブリックブロックチェーンネットワークがあります.
結論
この記事は、AWSクラウド上であなたの最初のHyperledgerファブリックブロックチェーンプラットフォームを作成するプロセスを通してあなたを歩きました.
次の記事はまた、goプログラミング言語でチェインコードをどのように書くかを学び、AWS上に展開する方法です.
シリーズの最終的な記事であることは、あなたが練習に学んだすべてを置くでしょうし、Hyperledgerファブリックブロックチェーン開発者としてあなたの基盤を構築します.