Amazon Web Services ブログ

Amazon Managed Blockchain が東京リージョンに対応しました

皆さん、こんにちは。シニアエバンジェリストの亀田です。

Amazon Managed Blockchainが東京リージョンに対応しましたのでお知らせします。

Amazon Managed Blockchain

Amazon Managed Blockchain はフルマネージド型のサービスで、一般的なオープンソースフレームワークである Hyperledger Fabric や Ethereum* を使用して、スケーラブルなブロックチェーンネットワークを簡単に作成し管理できます。(Ethereum版は近日公開予定となっています)

ブロックチェーンテクノロジーは複数の当事者がトランザクションを実行できるアプリケーションを構築することを可能にします。その一方、既存のテクノロジーを使用してスケーラブルなブロックチェーンネットワークを構築することは、設定が複雑で管理が困難である、という課題が存在します。

ブロックチェーンはおもに2つの運用形態が存在し、1.複数の当事者が信頼された機関に所有権を一元化してトランザクションを扱う「中央集権型」2.複数の当事者が所有権を分散してトランザクションを扱う「分散型」があります。

AWSではそれぞれの運用形態ごとにサービスを提供しており、中央集権型システムでは元帳データベースであるAmazon Quantum Ledger Database(Amazon QLDB) を提供しています。今回東京リージョンに対応したものは、「分散型」」ブロックチェーンネットワーク構築をフルマネージドが行う Amazon Managed Blockchain です。

ブロックチェーンネットワークを構築するために、各ネットワークメンバーは、手動でハードウェアをプロビジョニングし、ソフトウェアをインストールし、アクセスコントロール用の証明書を作成および管理し、ネットワーキングコンポーネントを設定する必要があります。ブロックチェーンネットワークが稼働したら、インフラストラクチャを継続的に監視し、トランザクション要求の増加、ネットワークへの参加または退会などの変化に対応する必要がありますが、このサービスはわずか数回のクリックでスケーラブルなブロックチェーンネットワークをセットアップし管理することが可能で、数百万件のトランザクションを実行する数千ものアプリケーションの要求に合わせて自動的にスケールします。

通常の分散型ブロックチェーンネットワーク構築の際に課題となる、証明書の運用も AWS Key Management Service (KMS) を使用してネ、ユーザーが独自の安全なキーストレージを設定する必要はなくなります。

Let’s Start

起動手順はとても簡単です。

まずマネージメントコンソールでManaged Blockchainの画面にアクセスします。

【ネットワークの作成】を押します。

起動するフレームワークを選択しますが、2020年3月16日現在、Ethereumは近日公開予定となっています。エディションですが、技術的な差異はないものの、後述するピアノードやメンバーの数に違いがあります。詳しくはこちらをご覧ください。スターターは最大 5 つのメンバーとメンバーごとに最大 2 つのピアノードまでに限定されますので、どちらかというと小規模向けです。

ネットワーク名に、任意の名前を入力します。【投票ポリシー】は分散型ブロックチェーンならではの設定項目になります。分散型システムは、中央集権型と異なりとなり、複数のメンバーによる新しいメンバーの追加や、変更、削除などを、だれがどのように承認し全体へ反映させるか、というルール決めが必要になります。各メンバーは、メンバーの招待や削除など、ネットワークへの変更の提案を作成したのち、提案は、ネットワーク内のすべてのメンバー間での投票のために送信されます。提案は、投票ポリシーに従って承諾、拒否、または失効します。

投票ポリシーは、提案の承諾または拒否に必要な [はい] 投票の割合と、提案の投票がアクティブである期間を指定します。提案の有効期限が終了する前に提案に合格するのに十分な [はい] 投票がない場合、提案は期限切れになり、提案のアクションは実行されません。

【次へ】を押すと、最初のメンバー作成を行うためのメンバー名の設定が出てきます。ここで指定されたメンバーは、上記の通りいわゆる中央集権型システムにおける管理者とは別になり、あくまで一番最初のメンバーを設定するということになります。

また設定された投票ポリシーは変更できないので変更の必要性が出た場合、作り直す必要があります。

次に、認証局の設定をします。ビットコインのような通常の分散型ブロックチェーンシステムと異なり、だれでも参加できるわけではありません。上記で設定したルールに基づき承認されたメンバーのみが、参加することができ、参加した各メンバーは認証局から発行された電子証明書を持ちます。Amazon Managed BlockchainのHyperledger Fabricモードでは、「組織」と呼ばれる、ネットワーク内の各メンバーに対して Hyperledger Fabric 認証機関 (CA) を作成および管理します。Fabric CA を使用して、メンバーシップに Fabric ユーザーを作成できます。Fabric CA から生成された証明書は、これらのユーザーと、より大きなネットワークのメンバーシップとの関連付けを識別するために使用されます。

【次へ】を押して、最後の確認画面で
【ネットワークとメンバーを作成】を押すと構築が開催されます。

以下の通り構築が開始されステータスが【作成中】となります。

ステータスが【利用可能】になると、以下のように二つのエンドポイントが生成されます。

  • VPC エンドポイントサービス名
  • サービスエンドポイントの注文

VPCエンドポイントサービス名:Amazon Managed Blockchain ネットワークは、AWS PrivateLink 経由で利用します。メンバーを持つ各 AWS アカウントは、このサービス名を参照するエンドポイントを作成する必要があります。各メンバーのアカウント内のエンドポイントは、そのアカウント内のすべてのメンバーのブロックチェーンネットワークリソースへのアクセスを提供します。ネットワークを作成したアカウントであっても、このサービス名を参照する VPC エンドポイントを作成する必要があります。作成が必要な場合、右上の【VPC エンドポイントを作成】を押し、VPC経由でアクセス可能なエンドポイントを作成する必要があります。

サービスエンドポイントの注文:ネットワークごとに共有 Hyperledger Fabric 注文サービスを作成します。すべてのメンバーは注文サービスを使用するため、Hyperledger Fabric アプリケーションコードはこのエンドポイントを使用して、必要に応じて注文サービスを参照します。注文サービスとは、Hyperledger Fabric専用の概念であり、承認されたトランザクションを受け入れたり、ピアにブロックを配信するなど、各メンバー毎の同期をとる機能を果たします。

Next step and Use Case

ブロックチェーンはまだ新しいテクノロジーですが、日々多くの利用方法が生まれています。そしてビジネスへ上手に組み込み新しいテクノロジーを有効活用していくためには、まず触ってみることが大事です。クラウドは完全従量課金であり、必要なくなればその環境を消すことで課金を停止させることができるので、新しいテクノロジーの学習基盤としても有益です。是非使ってみてください。そして新しい利用方法が生まれた時、このブログで是非紹介をさせて下さい。

– シニアエバンジュリスト 亀田