1 Oracle Blockchain Platformへのサービス管理者のロードマップ

Oracle Blockchain Platform Enterprise Editionの概要

Oracle Blockchain Platformを使用すると、事前にアセンブルされたプラットフォームでスマート・コントラクトの作成および実行と、改ざん防止分散型台帳のメンテナンスを行うことができます。

Oracle Blockchain Platformは、スマート・コントラクト・コード(ブロックチェーンで実行されるビジネス・ロジック)を実行することで台帳の更新および問合せへの応答を実行する検証ノード(ピア)で構成されるネットワークです。外部アプリケーションは、クライアントSDKまたはREST APIコールを介してトランザクションの呼出しや問合せの実行を行い、これにより、選択されたピアはスマート・コントラクトの実行を促されます。複数のピアが結果をエンドース(デジタル署名)すると、その結果は検証されてオーダリング・サービスに送信されます。トランザクション・オーダーで合意に達した後、トランザクション結果は暗号化で保護された改ざん防止データ・ブロックにグループ化され、検証して台帳に追加するためにピア・ノードに送信されます。プラットフォーム管理者はBlockchain Platform Managerを使用してプラットフォーム・インスタンスを作成および管理できる一方、ネットワーク管理者はOracle Blockchain Platformコンソールを使用してブロックチェーンを構成し、その動作をモニターできます。

Oracle Blockchain Platform Enterprise Editionは、Dockerコンテナ上に構築され、複数の仮想化オプション用にあらかじめ構築されたVMイメージとして配布される単独でインストール可能なバージョンのOracle Blockchain Platformです。VMは、オープン仮想アプライアンス(ova)形式で配布され、VMWare ESXi、Oracle VirtualBoxおよびOracle Linux Virtualization Managerを使用してインポートおよび起動できます。VMが稼働すると、Blockchain Platform Managerを使用して複数のBlockchain Platformインスタンスの構成、プロビジョニングおよびパッチ適用を行いますが、これらのインスタンスは、複数のVMにデプロイしてOracle Blockchain Platformノードを実行するDockerコンテナを分散できます。クラウドPaaSと同様に、このエディションは完全に事前アセンブルされ、新しい完全なブロックチェーン・インスタンスを数分で作成できます。

柔軟な仮想化オプションに加えて、エンタープライズ・エディションを使用すると、現在のVMのリソースを増やしたり、より多くのVMにスケール・アウトして追加ノード(ピア、オーダラなど)を実行することで発展するワークロードを処理する動的なスケーラビリティが可能になります。追加のVMおよびノードは、障害回復(DR)のためにWAN全体にわたって他のデータセンターにデプロイできます。一般的なアプリケーションとは異なり、Oracle Blockchain Platformの分散型台帳および分散メタデータ・データベースはデータ・レプリケーションをすぐに処理します。

クラウド・バージョンと同等の機能により、顧客はチェーンコードをデプロイし、両方のバージョン間で同じチェーンコードAPIおよび広範なREST APIを使用できるようになります。SQLベースの問合せ、オフチェーンのリッチ履歴データベースに対する組込みトランザクション同期、強力な操作およびモニタリング・ツールを備えた直感的で包括的なコンソールと、その他すべての独特なエンタープライズ級の機能とともにBerkeley DB for World Stateを使用することにおけるオラクル社のイノベーションは、クラウド・バージョンとオンプレミス・バージョン間で共有されます。

セキュリティ、認証および認可

Oracle Blockchain Platform Enterprise Editionのセキュリティの概要

Oracle Blockchain Platform Enterprise Editionでは、いくつかのレベルでセキュリティを処理します。最上位レベルは、Oracle Blockchain Platform仮想マシン(VM)に関連するセキュリティです。その次は、Oracle Blockchain Platformインスタンスでライフサイクルの管理に使用される制御プレーンに関連するセキュリティです。制御プレーン(Blockchain Platform Manager)ユーザーは、作成、スケール・アウト、スケール・イン、パッチ適用およびその他のライフ・サイクル操作を実行できます。インスタンスごとに、インスタンスの管理、モニタリングおよび運用を認可されたユーザーがいます。最後に、Fabric SDKまたはOracle Blockchain Platform RESTプロキシを介してインスタンスにアクセスするインスタンスのユーザーがいます。

ロールおよびパスワードなどのすべてのユーザー情報は、認証サーバーに格納されます。デフォルトのLDAPサーバーはVMの一部として提供され、開発目的でのみ使用されます。これは、本番の企業認証サーバーに接続することが想定されています。

セキュリティの管理

Oracle Blockchain Platform VMの作成

Oracle Blockchain Platformでは、指定されたVMイメージに基づいてVMのクラスタを使用します。Oracle Blockchain Platform VMの構成で行う必要がある最初のステップは、使用しているハイパーバイザにインポートすることです。サポートされるハイパーバイザは次のとおりです:
  • Oracle VirtualBox - 主に、開発およびテストを目的とします
  • Oracle Linux Virtualization Manager
  • VMWare Workstation
  • VMWare ESXi

保存データの保護

OVAファイルのインポート時またはその後で、ユーザーがハイパーバイザでディスク暗号化を有効にして保存データを保護することがあります。これには、VMの暗号化も必要になることがあり、これもハイパーバイザ設定によって処理されます。

制御プレーンVMおよびデータ・プレーン・クラスタ

特定のVMインスタンスは、Oracle Blockchain Platform制御プレーン用に予約される必要があります。このVMは、特定のOracle Blockchain Platformプラットフォーム内のOracle Blockchain Platformインスタンスのライフ・サイクル操作の制御に使用されるプロビジョニング・サーバーを実行します。複数のOracle Blockchain Platformプラットフォームをデプロイでき、それぞれには独自の制御プレーンVMとデータ・プレーンVMのクラスタがあります。データ・プレーンVMの各クラスタでは、1つのOracle Blockchain Platformインスタンスのみがサポートされます。

図1-1 Oracle Blockchain Platform


単一の制御プレーンVMにアタッチされた3つのデータ・プレーンVMを示すイメージ。

データ・プレーン・クラスタは、コンテナが相互に通信できるようにするために使用されるDocker swarmに自動的に追加されます。

VMネットワークの保護

最初にユーザーID oracleでログインし、「スクリプトを使用したLDAPサーバーへのユーザーの追加」の説明に従ってパスワードを変更します。ログイン後、VMでファイアウォール(firewalld)を構成し、クラスタの外部に公開しないポートを保護します。クラスタ内の他のVMに対するアクセスのみを許可し、使用される可能性がある外部ロード・バランサからのアクセスを許可するには、ホワイトリストを使用する必要があります。

データ・プレーンVMがクラスタの外部からアクセスできる必要があるネットワーク・ポートは、次へのアクセスのみを目的とします:
  • データ・プレーン・コンソール・サーバー
  • Fabric-CA
  • オーダリング・サービス・ノード
  • ピア
これらのポートは、すべて10000から10200の範囲内である必要があります。その他のポートは、データ・プレーン・クラスタの外部からアクセスできる必要はありません。これらのポートは、プロビジョニング時にVMの外部に自動的に公開されます。

図1-2 ファイアウォール、ロード・バランサおよびインスタンスの関係


企業ファイアウォールの内側にあるロード・バランサと、ロード・バランサに接続された3つのBlockchain Platform VMを示す図

通常のクラスタ・メンバー

クラスタ内のVMは、Docker swarmを介して相互に通信できる必要があります。クラスタ内の他のVMにアクセスできるようにする必要があるポートについては、次の項を参照してください。

CRCクラスタ・メンバー

本番デプロイメントでは、チェーンコード・ランタイム・コンテナを独自のVMに配置することをお薦めします。チェーンコードが外部サービスにアクセスする必要がないかぎり、VMは、クラスタの他のメンバーとのみ通信できるように構成する必要があります。

SSH構成

オラクル社から配布されたとおり、VMアプライアンスは、デフォルト・ユーザーのoracleおよびデフォルト・パスワードのWelcome1で構成されています。パスワードは初回ログイン時に変更する必要があります。VMを管理するために、SSHをパスワード・ベースの認証で使用できます。これは、ユーザーoracleについて、公開キー・ベースの認証に変更する必要があります。その他のユーザーは必要なく、構成する必要もありません。

VMのネットワーク構成

Oracle Blockchain Platform VMが構成され、実行準備が整いました。次のポートがVMでオープンしています。これらのポートのほとんどは、インターネットまたは他の保護されていないホストに公開しないでください。また、アクセスはVMのファイアウォール・ルールによってブロックする必要があります。

インターネットのアクセシビリティ

一部のポートは、企業ネットワークの外部からアクセスできる必要がある場合があります。特に、企業ネットワーク外で実行されている他のOracle Blockchain PlatformまたはFabricインスタンスを企業ネットワーク内のインスタンスに接続させるには、オーダリング・サービスおよびピアに関連付けられている特定のポートにアクセスできる必要があります。

企業ネットワークのアクセシビリティ

プロビジョニング・コンソールおよびインスタンス・コンソールに関連付けられたコンソールUIポートは、ほぼ企業ネットワーク内からのアクセスに制限することをお薦めします。理想的には、ネットワークの管理および操作に使用されるマシンのみのサブセットにさえ制限します。

ポートのアクセシビリティ・ガイド

ポート 用途/目的 インターネットにアクセス可能 企業ネットワークにアクセス可能 OBPEEクラスタ内の他のVMからアクセス可能
22 SSH N N[1] N
389 開発用のローカルLDAPサーバー N N Y
443 Dockerレジストリ N N Y
636 開発用のローカルLDAPサーバー N N Y
2375 Dockerデーモン N N Y
2377 Docker Swarm N N Y
7070 制御プレーンUIおよびREST (http) - アプリケーション・コネクタ N Y[2] N
7443 制御プレーンUIおよびREST (https) - アプリケーション・コネクタ N Y[3] N
7946 Docker Swarm N N Y
8080 コンポーネント・マネージャ N N Y
10000-10200 ピア、オーダラなどの様々なインスタンス・コンテナ用のロード・バランサに割り当てられるポート。 Y Y[4] Y

[1] SSHは、VMコンソールにアクセスできない場合にのみ必要です

[2] UIポートには、インスタンスのプロビジョニングおよび構成に必要なマシンのみがアクセスできる必要があります

[3] UIポートには、インスタンスのプロビジョニングおよび構成に必要なマシンのみがアクセスできる必要があります

[4] ロード・バランサ構成に関する項を参照してください

ロード・バランサ構成

外部ロード・バランサを使用している場合は、TLS終了を実行し、プロビジョニング・コンソールに示されているポートを適切なVMホストおよびポートに渡すように構成する必要があります。プロビジョニング・コンソールによってレポートされる必要なポート・マッピングの例を次に示します:

図1-3 ロード・バランサのポート・マッピング

サービス名およびマップされるポートのリストを示す制御プレーンUIのスクリーン・キャプチャ。

「外部ロード・バランサを使用する際の追加条件」を参照してください。

認証および認可の構成

Oracle Blockchain Platformでの認証は、認証サーバーを使用して実行されます。ユーザーがサービスを使用できるようにするには、認証サーバーにアカウントがある必要があります。

特定の認証グループに関連付けられているユーザーには、「ユーザー・グループおよびロール」で定義されている一定の権限が付与されます。

Oracle Blockchain Platformの管理のワークフロー

Oracle Blockchain Platformの使用を開始するには、次のタスクをガイドとして参照してください。

タスク 説明 参照先
ハードウェアの準備

推奨されるアーキテクチャ設計を一読し、構成に適したものを決定します。

ハードウェアが必要な前提条件を満たしていることを確認します。

サポートされるトポロジ

前提条件

Oracle Blockchain Platform Enterprise Editionのデプロイ

Oracle Blockchain Platform Enterprise Edition仮想マシンをデプロイします。

Blockchain Platform Managerにアクセスします

仮想マシンのデプロイ

Oracle Blockchain Platformへの初回ログオン

ユーザーおよびロールの追加と管理 基本的なLDAPサーバーは、Oracle Blockchain Platform Enterprise Editionに付属していますが、サード・パーティのツールを使用してユーザーおよびロールを追加する必要があります。

認証サーバーの構成

ユーザー・グループおよびロール

サービス・インスタンスのプロビジョニング Blockchain Platform Managerのインスタンスの作成ウィザードを使用してサービス・インスタンスを作成します。 Blockchain Platform Managerを使用したインスタンスのプロビジョニング
ブロックチェーン・ネットワークの構成 インスタンスを作成したら、Blockchain Platformコンソールを使用してネットワークを構成できます。 コンソールとはに関する項

インスタンスおよび必要なユーザーを作成したら、『Oracle Blockchain Platformの使用』の説明に従って、Oracle Blockchain Platformの使用を開始できます