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に関連するセキュリティです。Blockchain Platform Manager (制御プレーン)ユーザーは、作成、スケール・アウト、スケール・イン、パッチ適用およびその他のライフ・サイクル操作を実行できます。インスタンスごとに、インスタンスの管理、モニタリングおよび運用を認可されたユーザーがいます。最後に、Fabric SDKまたはOracle Blockchain Platform RESTプロキシを介してインスタンスにアクセスするインスタンスのユーザーがいます。
ロールおよびパスワードなどのすべてのユーザー情報は、認証サーバーに格納されます。デフォルトのLDAPサーバーはVMの一部として提供され、開発目的でのみ使用されます。これは、本番の企業認証サーバーに接続することが想定されています。
セキュリティの管理
Oracle Blockchain Platform VMの作成
- Oracle VirtualBox - 主に、開発およびテストを目的とします
- Oracle Linux Virtualization Manager
- VMWare Workstation
- VMWare ESXi
保存データの保護
OVAファイルのインポート時またはその後で、ユーザーがハイパーバイザでディスク暗号化を有効にして保存データを保護することがあります。これには、VMの暗号化も必要になることがあり、これもハイパーバイザ設定によって処理されます。
Blockchain Platform Manager VMおよびインスタンス・クラスタ
特定のVMインスタンスを、Oracle Blockchain Platform Blockchain Platform Manager用に予約する必要があります。このVMは、特定のOracle Blockchain Platformプラットフォーム内のOracle Blockchain Platformインスタンスのライフ・サイクル操作の制御に使用されるプロビジョニング・サーバーを実行します。複数のOracle Blockchain Platformプラットフォームをデプロイでき、それぞれには独自のBlockchain Platform Manager VMとインスタンス(データ・プレーン) VMのクラスタがあります。インスタンスVMの各クラスタでは、1つのOracle Blockchain Platformインスタンスのみがサポートされます。
図1-1 Oracle Blockchain Platform
インスタンス・クラスタが、コンテナが相互に通信できるようにするために使用されるDocker swarmに自動的に追加されます。
VMネットワークの保護
最初にユーザーID oracle
でログインし、「スクリプトを使用したLDAPサーバーへのユーザーの追加」の説明に従ってパスワードを変更します。ログイン後、VMでファイアウォール(firewalld)を構成し、クラスタの外部に公開しないポートを保護します。クラスタ内の他のVMに対するアクセスのみを許可し、使用される可能性がある外部ロード・バランサからのアクセスを許可するには、ホワイトリストを使用する必要があります。
- インスタンス・コンソール・サーバー
- Fabric-CA
- オーダリング・サービス・ノード
- ピア
図1-2 ファイアウォール、ロード・バランサおよびインスタンスの関係
通常のクラスタ・メンバー
クラスタ内の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 |
443 | Dockerレジストリ | N | N | Y |
636 | 開発用のローカルLDAPサーバー | N | N | Y |
2375 | Dockerデーモン | N | N | Y |
2376 | DockerデーモンのTLSエンドポイント | N | N | Y |
2377 | Docker Swarm | N | N | Y |
7443[2] | Blockchain Platform Manager 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] 以前のバージョンの製品から移行する場合、http接続用のポート7070はサポートされなくなりました
[3] UIポートには、インスタンスのプロビジョニングおよび構成に必要なマシンのみがアクセスできる必要があります
[4] ロード・バランサ構成に関する項を参照してください
ロード・バランサ構成
外部ロード・バランサを使用している場合は、TLS終了を実行し、プロビジョニング・コンソールに示されているポートを適切なVMホストおよびポートに渡すように構成する必要があります。プロビジョニング・コンソールによってレポートされる必要なポート・マッピングの例を次に示します:
図1-3 ロード・バランサのポート・マッピング
「外部ロード・バランサを使用する際の追加条件」を参照してください。
認証および認可の構成
Oracle Blockchain Platformでの認証は、認証サーバーを使用して実行されます。ユーザーがサービスを使用できるようにするには、認証サーバーにアカウントがある必要があります。
特定の認証グループに関連付けられているユーザーには、「ユーザー・グループおよびロール」で定義されている一定の権限が付与されます。
Oracle Blockchain Platformの管理のワークフロー
Oracle Blockchain Platformの使用を開始するには、次のタスクをガイドとして参照してください。
タスク | 説明 | 参照先 |
---|---|---|
ハードウェアの準備 |
推奨されるアーキテクチャ設計を一読し、構成に適したものを決定します。 ハードウェアが必要な前提条件を満たしていることを確認します。 |
|
Oracle Blockchain Platform Enterprise Editionのデプロイ |
Oracle Blockchain Platform Enterprise Edition仮想マシンをデプロイします。 Blockchain Platform Managerにアクセスします |
|
キーの管理 | ハードウェア・セキュリティ・モジュール(HSM)を使用してキーを管理する場合は、各仮想マシンにHSMクライアント・ソフトウェアをインストールして構成する必要があります。 | |
ユーザーおよびロールの追加と管理 | 基本的なLDAPサーバーは、Oracle Blockchain Platform Enterprise Editionに付属していますが、サード・パーティのツールを使用してユーザーおよびロールを追加する必要があります。 | |
サービス・インスタンスのプロビジョニング | Blockchain Platform Managerのインスタンスの作成ウィザードを使用してサービス・インスタンスを作成します。 | Blockchain Platform Managerを使用したインスタンスのプロビジョニング |
ブロックチェーン・ネットワークの構成 | インスタンスを作成したら、Blockchain Platformコンソールを使用してネットワークを構成できます。 | コンソールとはに関する項 |
インスタンスおよび必要なユーザーを作成したら、コンソールに関する項の説明に従ってOracle Blockchain Platformの使用を開始できます