2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Oracle GraphAdvent Calendar 2021

Day 7

Oracle Graph をクラウド上で構築(ADB 編)

Last updated at Posted at 2022-04-29

cloud-adb.jpg
Oracle Graph を Oracle Cloud の Always Free Services 上に構築する手順はこちらのワークショップで詳しく説明されていますが、日本語で簡潔に書かれている記事もあると便利かと思いますので、こちらにまとめたいと思います。

Oracle Cloud 上では Graph Server の Marketplace イメージが提供されているのでこちらを使うのが簡単です。Always Free Services に含まれる Compute インスタンスを使って起動すれば常時無料で使うことができます。

Oracle Graph はオンプレ/クラウドを問わず全ての Oracle Database のエディション(ただし、12.2 以降)で使うことができます。Oracle Cloud 上では、フルマネージドサービスである Autonomous Database (ADB) が Always Free Services に含まれています。Database Cloud Service (DBCS) を使う場合には こちらの記事 を参考にしてください。

ADB の作成

通常通りに ADB(Autonomous Transaction Processing または Autonomous Data Warehouse)を作成します。この手順については省略します。

ここでは adb1 という名前で作成しているとします。
adb.png

ネットワークの作成

ネットワークを作成して必要なポートを開放します。

Networking > Virtual Cloud Networks に進みます。
Screen Shot 2022-11-24 at 10.54.24.png

ウィザードを使用するのが簡単です。Start VCN Wizard > Create VCN with Internet Connectivity > Start VCN Wizard と進んで、特に設定を変更することなく新しい VCN を作成してください。

VCN Name: vcn1
その他の項目: 設定変更は必要ありません

Screen Shot 2022-11-24 at 10.56.49.png

ポート 7007 をアクセス可能にします。Virtual Cloud Networks > vcn1 > Public Subnet-vcn1 > Default Security List for vcn1 > Add Ingress Rules と進み、次のルールを作成します。実利用では、セキュリティを高めるためにクライアントの IP アドレスを制限してください。

Source Type: CIDR
Source CIDR: 0.0.0.0/0
IP Protocol: TCP
Source Port Range: (All)
Destination Port Range: 7007
Description: 例)Graph Server

Screen Shot 2022-11-24 at 11.00.36.png

Graph Server の作成

Marketplace タブに移動し「Graph Server and Client」を検索します。
image.png

ここでは、バージョン 22.4.x を選択します。
Screen Shot 2022-11-24 at 11.06.03.png

Stack Information は変更する必要はありません。
Screen Shot 2022-11-24 at 11.10.06.png

Configure variables の画面に進み、作成する Compute インスタンスのシェイプを選択します。Always-free に含まれるシェイプは二種類あり、Use ARM-based compute にチェックをつけると VM.Standard.A1.Flex、つけないと VM.Standard.E2.1.Micro を選択できます。大容量のメモリを搭載できる A1.Flex が取得できればラッキーですが、リジョンによっては空きがないことも多いです。
Screen Shot 2022-11-24 at 11.19.30.png

まずは取得しやすい E2.1.Micro で作成手順を確認しておき、必要に応じて A1.Flex を取得できるかどうか試してみるのがおすすめです。
Screen Shot 2022-11-24 at 11.20.35.png

後に SSH で接続するためにパブリックキーをアップロードして、先に作成した VCN とパブリック・サブネットを選択します。
Screen Shot 2022-11-24 at 11.24.22.png

最後に、JDBC URL は次のように指定しておきます。Graph Server からデータベースへの接続のために Wallet と呼ばれる仕組みを使います。adb1_low の部分は作成した ADB の名前に合わせて変更してください。/etc/oracle/graph/wallets はこれから作成される Compute インスタンス上のディレクトリなので、このまま入力してください。後の手順でここに Wallet を格納します。

jdbc:oracle:thin:@adb1_low?TNS_ADMIN=/etc/oracle/graph/wallets

Screen Shot 2022-11-24 at 11.25.47.png

スタックを作成します。通常、数分で完了します。
Screen Shot 2022-11-24 at 11.54.58.png

ログの最後に Compute インスタンスの IP アドレスやグラフ可視化アプリの URL が出力されています。
Screen Shot 2022-11-24 at 11.55.46.png

無料インスタンスの空きがない場合には作成が失敗して、ログに「Out of host capacity」のメッセージが出力されます。Edit job でシェイプを変更して再度試してみてください。
Screen Shot 2022-11-24 at 10.43.28.png

ADB Wallet の設置

Oracle Cloud コンソールから対象の ADB のページに移動します。
database-atp.png

DB Connection をクリックします。
wallet-1.png

Instance Wallet を選択してダウンロードします。
wallet-2.png

Wallet を保護するためのパスワードを入力します。
wallet-3.png

ダウンロードした Wallet(ZIP ファイル)を Compute インスタンス上の /etc/oracle/graph/wallets ディレクトリ(イメージ起動時に指定した場所)にアップロードします。

scp -i <private_key> Wallet_<database_name>.zip opc@<public_ip_for_compute>:/etc/oracle/graph/wallets

例:
scp -i key.pem ~/Downloads/Wallet_adb1.zip opc@203.0.113.14:/etc/oracle/graph/wallets

Wallet を展開するため、Compute インスタンスにログインします。

ssh -i <private_key> opc@<public_ip_for_compute>

例:
ssh -i key.pem opc@203.0.113.14

ZIP ファイルを解凍し、グループ権限を変更します。

cd /etc/oracle/graph/wallets/
unzip Wallet_adb1.zip
chgrp oraclegraph *

ユーザーの作成

管理者権限を用いて、上で作成したロールを持つユーザーを作成します。

メニューから Database Users を選択します。
image.png

Create User ボタンをクリックして、ユーザー名とパスワードを入力します。Graph と Web Access を有効にして表領域のクォータを UNLIMITED に設定しておきます。
Screen Shot 2022-11-24 at 12.10.01.png

後々、ユースケースによっては「グラフを公開して他のセッションとシェアする」ことがあるため、Granted Roles タブから、このユーザーに PGX_SESSION_ADD_PUBLISHED_GRAPH ロールを追加しておきます。
Screen Shot 2022-11-24 at 18.14.08.png

ユーザーを作成したら Database Actions にログインし直します。
user-4.png

新しいユーザーでログインできることを確認します。
user-5.png

グラフ可視化アプリへのログイン

ウェブブラウザで、https://<public_ip_for_compute>:7007/ui を開きます。http ではなく https であることに注意してください。

Marketplace イメージは自己署名 SSL 証明書とともに配布されているため、実運用では独自の証明書に変更する必要があります。自己署名 SSL 証明書のまま使っている場合、ウェブブラウザには警告が表示されます。

Chrome の場合は、警告ウィンドウが出てきたら「thisisunsafe」とキーを打つと(これはどこにも入力されませんが)画面が遷移します。
login-chrome.jpg

Firefox の場合 Advanced > Accept the Risk and Continue をクリックします。
Screen Shot 2022-11-24 at 12.24.17.png

先に作成したデータベースユーザーでログインします。
login.png

すでに「hr」というサンプルのグラフがロードされているので、そのままクエリの実行ボタンを押すと取得されたサブグラフが描画されます。
Screen Shot 2022-11-24 at 12.20.42.png

以上で構築完了です。他の記事を参考に、様々なグラフの作成や描画を試してみてください!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?