Keys to the Oracle Cloud indexページ▶▶ 

Keys to the Oracle Cloud

第1回:【MICRO DATA編】
Oracle Blockchain Platform Cloud Serviceシステムデザイン説明

大塚紳一郎, 2019年9月


著者紹介


大塚 紳一郎(おおつか しんいちろう)


2003年、株式会社野村総合研究所に新卒で入社。ミッションクリティカルシステムにおけるOracle Databaseの構築、運用、コンサルティングに関して15年以上の経験を持つ。毎年サンフランシスコで開催される世界最大のテクノロジーイベント「Oracle OpenWorld」を含む各種イベントでの講演多数。Autonomous DatabaseがGAされた年にOracle ACE Associateになれたことに運命を感じており、Oracleデータベース管理者の今後のロールモデルの構築に携わりたいと考え日々活動中。最新の登壇タイトルは「Boosting your career through Oracle Cloud Infrastructure 2018 Certified Architect Associate.」

‐ NRI認定ITアーキテクト
‐ Oracle ACE Associate
‐ Oracle MASTER Platinum10g,11g,12c(Platinum of the year 2016 in Japan)
‐ Oracle MASTER Cloud Oracle Database Cloud Service
‐ Oracle MASTER Cloud Oracle Java Cloud Service
‐ Oracle Cloud Infrastructure 2018 Certified Architect Associate






  • これからの内容はOracle Cloud Infrastructure (以下OCI)のサービスを前提としたものです。
  • 検証時点(2019年3月末)のOCIのサービス内容に基づいて記載しているため、内容が一部異なる場合があります。
  • 最新の情報については公式Webサイトをご確認頂きたく思います。
  • 本連載は私個人の理解に基づいており、事実と異なる可能性があることをご了承いただきたく思います。

1. はじめに

こんにちは、NRIの大塚です。今回はMICRO DATA領域の連載1回目です。



 

MICRO DATA、つまり既存データから台帳に登録すべきデータを小さく切り出し暗号化しブロックに入れてチェーンで繋ぐ。その対象となるデータのことです。ブロックに格納され、チェーンで繋がれたデータは大きく以下3つの価値を持つことになります。これはブロックチェーンが昨今注目されている理由でもあります。


データの正当性が担保されます
(データが改ざんされなくなります)
過去のデータを改ざんするには、チェーンで繋がれた全データの書き換えが必要となります。これには膨大な計算が必要で、事実上不可能であることからデータの正当性が担保されます。
データの共有が可能となります 正当性が担保されたデータをブロックチェーンネットワークに参加することで共有することができます。
データはトレーサビリティを持ちます ブロックに格納されたデータは時系列でチェーンによって繋がれます。
過去にさかのぼって、データの状態を確認(トレース)していくことができます。


Oracleデータベース管理者である皆さまが日々管理しているOracleデータベースに格納されているデータの中に、ブロックチェーンに格納することでさらに価値を高められるデータがあるのではないでしょうか?クラウド時代の新しい技術であるブロックチェーン。そのためのデータモデリングや、ブロックチェーン特有の性質への対応はOracleデータベース管理者の皆さまに求められる重要な役割であると共に、データの価値を高めていける領域の一つではないかと考えます。それではMICRO DATAのお話しをはじめて行きたいと思います。

2.ブロックチェーン特有の課題

ブロックチェーンが注目されている理由のひとつとして、プライベート型/コンソーシアム型という構成に代表される、従来型システムと親和性が高いシステムデザインが行えるようになったことがあげられます。プライベート型は、従来システムと同じように1社で集中的に管理する構成を指し、コンソーシアム型は複数社での共有型の構成です。仮想通貨以外の広範囲な業務用途に適用することができます。

そのような領域のブロックチェーンの種類として最も注目されているのはHyperledger Fabricです。分散台帳を更新するための合意形成を得る方法に特色があり、ファイナリティのあるコンセンサスアルゴリズムが採用されています。
一方で、ファントムリードの発生や、履歴データの参照はチェーンの長さに比例して劣化するといったような特性を持ちます。今回テーマとするPaaSであるOracle Blockchain Platform Cloud ServiceはHyperledger Fabricをベースとしています。ですが、特筆点としてファントムリード対策や、履歴データの参照性能向上をHyperledger Fabricを独自に拡張することで実現しています。

それだけでなく、Oracle Blockchain Platform Cloud Serviceはフルマネージドサービスであり、上図のようにGUIベースで管理作業も容易です。
Oracle Blockchain Platform Cloud Serviceを検証したい!そう思ったときには、アプリケーションサーバはどうしようか?どのようにセキュリティを担保した接続環境を用意すればよいだろうか?皆さまいろいろと悩んでしまうのではないでしょうか。ですので、いきなり実装作業に入るのでは無く、今回はIaaS+PaaSによるシステムデザインをご紹介したいと思います。そして次回から数回に分けて、そのシステムデザインを実装していきたいと思います。

1.システムデザイン

従来のシステムがオンプレミスと呼ばれ、クラウド時代という名詞の違和感が無くなった今、オンプレミスで稼動中のエンタープライズシステムの要件がスポイルされたかのような錯覚がありますが、それは違います。むしろ、よりシビアに環境を選ぶ方向に進んでいると思っています。

高い可用性と、パフォーマンスが求められるエンタープライズ領域の中心はクラウド時代においてもOracle Databaseであり、Engineered Systemsです。Oracle Cloudはそれに最適化されたクラウドというだけでなく、高いアジリティ、拡張性、セキュリティそして、デザインした通りの実装を実現できる機能性を兼ね備えています。これらの点に関して、デザインの説明や実装を通じてお伝えしていきたいと考えています。

今回はOracle Blockchain Platform Cloud Serviceを中心に配置し、下図のようにデザインしました。 この内容であれば、Oracleデータベース管理者である皆さま各自がご所属の企業から、同様の検証を検討していただけるのではないかと思っております。しかも、良好な検証結果を得られたあとは、商用システムとしての基礎となれるようなグランドデザインにしたいと考え、作成いたしました。



2.詳細説明


それでは図中①~⑧のそれぞれに関して説明をしていきたいと思います。



① VCN-PROXY

VCNはVirtual Cloud Network(仮想クラウドネットワーク)の略です。
つまり、Oracleデータセンタ―内で設定したプライベートネットワークを指します。VCNへはファイヤ・ウォール ルールを適用することが出来ます。また、各種ゲートウェイサービスに接続することが出来ます(図中ではInternet Gatewayが登場していることが確認できると思います)
いわゆる作業用の経路構築です。
説明対象のVCN-PROXYは特定企業からの通信のみ許可し、また、他のVCNへのアクセスへの基点に位置付けました。他のVCNは、VCN-PROXY経由のみの経路だけが作業用の通信として許可されます。
そのような役割を持つネットワーク区画をプロキシエリアと呼ぶことがありますので、「VCN-PROXY」と名付けました。

※VCNに関するマニュアル:



② Internet GatewayおよびSecurity List

Internet Gatewayは、VCNに追加するとインターネットに直接接続できる仮想ルーターです。
今回はOracleデータベース管理者である皆さま各自がご所属の企業からインターネット経由で検証作業用の通信を接続するデザインとしました。検証のために専用線や、Internet VPN環境を構築するのは大変だと考え、このようにしています。そのかわりに、しっかりとファイヤ・ウォール ルールを設定し、接続元の制限を実装します。
それを実現するのがSecurity Listです。セキュリティ・リストは仮想ファイヤ・ウォールを提供します。
おそらく皆さま各自がご所属の企業は、インターネットに直接通信する際には社内プロキシサーバ経由であることが想定されます。その社内プロキシサーバが外部に公開するIPアドレスが送信元であること。かつ、通信プロトコルがSSH(鍵ファイルを用いる)であることを条件としたファイヤ・ウォール ルールを設定することでセキュリティと、俊敏な検証環境の立ち上げを両立したデザインとしたいと思います。
実装時には、さらにセキュリティを高める工夫をしますが、それは後の回にて、あらためてお話しいたします。


※Internet Gatewayに関するマニュアル:

※Security Listに関するマニュアル:



③ VCN-APP

ブロックチェーンを活用したWebアプリケーションを配置するネットワークエリアを準備したいと思います。
このエリアにはWebAPサーバと、DBサーバを稼働させたいと思います。
WebAPサーバは、Webアプリケーションのための動作環境です。
DBサーバはOracle Blockchain Platform Cloud Serviceの機能のひとつであるブロックデータの情報を複製する先として位置づけとしています。図中には「履歴データレプリカ」と記載しています。
詳細は後の回にてブロックチェーンに関する説明を行いますので、その際に改めてお話しします。
補足となりますが、いわゆる標準的なOracle Databaseですので、ブロックチェーンのブロックデータを受信するだけでなく、通常のテーブルも作成できます。ですので、ブロックチェーンに格納するデータ以外の、いわゆるオフチェーン・データを管理するといった用途にも兼用できます。



④ VCN-APP用のInternet GatewayおよびSecurity List

Webアプリケーションへのアクセスもインターネット経由としたいと思います。 ですが、前述の通り、セキュリティに配慮したいと思います。皆さま各自がご所属している企業の社内プロキシサーバが外部に公開するIPアドレスが送信元であること。かつ、通信プロトコルがHTTPSであることを条件としたファイヤ・ウォール ルールを設定したいと思います。 一方で、Oracle Blockchain Platform Cloud Serviceからのブロックデータの情報の受信経路の役割も持たせたいと考えています。詳細は後の回にてブロックチェーンに関する説明を行いますので、その際に改めてお話しします。



⑤ VCN Peering

仮想クラウド・ネットワーク間の通信のためにVCNピアリングを設定します。 VCNピアリングには2つの種類があります。 ・ ローカルVCNピアリング(同一リージョン内) ・ リモートVCNピアリング(リージョン間) 今回はAshburnリージョンでの実装を想定しておりますので、ローカルVCNピアリングを選択します。 システムデザインという観点でお伝えしたいことは、以下のように多層的にセキュリティを確保するための工夫をご紹介したい。ということです。この点は、実装手順のご紹介時にも、しっかりとハンズオンでご確認頂ければ幸いです。
 



※VCNピアリングに関するマニュアル

 

⑥ PaaS ~Oracle Blockchain Platform Cloud Service~

MICRO DATAデータ領域のメインテーマです。 データベースに格納されている特定データを取り出し、暗号化し、小さなブロックに改ざんできない形式で格納し、お取引相手の企業様と信頼できるデータ交換を行い、データの価値を高めていく。 ブロックチェーンはクラウド時代における重要なキーワードです。今、仮想通貨以外の活用がフォーカスされています。 Oracle Blockchain Platform Cloud Serviceは従来システムと非常に高い親和性を持つHyperledger Fabricをベースしています。しかもPlatform as a Serviceとして非常に高い完成度です。 Oracle Blockchain Platform Cloud Serviceは2018年6月18日にGAされました。 自動バックアップ機能をはじめとするデータの保護など豊富な機能を持ち、エンタープライズ利用として最適です。 PaaSならではの、管理性やサポート機能を実装時にご紹介したいと思います。 Oracleデータベース管理者の皆さまにおかれましてはデータの価値を高めるひとつの潮流と捉えて、ぜひ体験して頂きたいと思っています。

※Oracle Blockchain Platform Cloud Serviceに関する紹介:

⑦ Oracle Blockchain Platform Cloud Service用Internet Gateway

前述の「他企業様との取引」という観点で考え、今回はInternet Gatewayを用いたデザインとしました。
他の実装方法としてはService Gatewayというものがあります。
Service Gatewayを仮想クラウド・ネットワーク(VCN)に追加すれば、Oracle Blockchain Platform Cloud Serviceをはじめとする特定のOracle Cloudのサービスにインターネットを経由することなくアクセスすることができます。

※Service Gatewayに関するマニュアル:

⑧ Availability Domain

さて、Availability Domainを語る前にお伝えしておかなければならない概念がコンパートメントです。 コンパートメントは、クラウド・リソースを整理して、隔離するための概念(機能)です。 他テナントからアクセスされることなく、また、同一テナント内においては、ユーザ毎の統制を行うことができます。 いままでお話ししてきた①~⑦といったクラウド・リソースは、必ずどこかのコンパートメントに所属することになります。 コンパートメント化する単位はプロジェクト単位であったり、リソース種別単位であったり、組織単位であったりと様々なユースケースが考えられます。今回は「ブロックチェーン検証環境」というコンパートメントを実装予定ですので、ぜひしっかりと確認して頂けますと幸いです。

コンパートメントはOracle Cloudのリージョン全体でグローバルなオブジェクトとなります。 システムデザイン図においては、AshburnリージョンのAvailability Domain1,2,3と登場していますが、それにまたがってクラウド・リソースをひとまとめにすることができる。という意味です。 Availability Domain1,2,3はいわゆる近距離間で建設されたデータセンタそのものと、ご理解頂いて差し支えないかと思います。Availability Domainに関する紹介のURLを掲載しておきますのでそちらの図をご参照頂くと非常に分かりやすいかと思います。Oracle Cloudが、いかにミッションクリティカルを考え抜いて作りこまれているか、とても良く伝わってきます。

※コンパートメントに関するマニュアル:

※Availability Domainに関する紹介:

今回は以上となります。次回から実装に関してお話ししていきたいと思います。
読んで頂き、ありがとうございました。

Keys to the Oracle Cloud indexページ▶▶ 

AutonomousDatabaseを無期限 / 無料(Always Free)で使用可能になりました。

Cloudをまだお試しでない方は、無料トライアルをご利用下さい。