0
0

Amazon NeptuneでグラフDBを体験してみる③ Amazon NeptuneとTom Sawyer Graph Database Browserと接続

Last updated at Posted at 2024-09-15

こんにちは、Kaneyasuです。

本記事はAmazon NeptuneでグラフDBを体験してみるシリーズの3回目です。

本シリーズ記事の目標

  • グラフDBの意味と用途を理解する
  • プログラムからAmazon Neptuneにアクセスする方法を習得する
  • Amazon Neptuneのセキュリティの確保方法を習得する
  • Amazon Neptuneのスケーリングを習得する
  • Amazon Neptuneのバックアップ、リカバリ方法を習得する

本シリーズ記事執筆における前提条件

  • グラフDBはAmazon Neptuneを使用
  • モデルはプロパティグラフ、クエリ言語はGremlinを使用
  • クエリ言語の実行はPythonのgremlinpythonで行う
  • PythonはJupyter Notebookで実行
  • Jupyter NotebookはAmazon SageMakerのNotebookインスタンスで実行

第3回目の目標

  • Tom Sawyer Graph Database Browserを起動し、Amazon Neptuneに接続してクエリを実行可能にする

第2回までで、VPCとAmazon Neptuneクラスターはできているので、本記事ではTom Sawyer Graph Database Browserの起動とAmazon Neptuneとの接続方法を記載します。

Amazon Neptuneに接続しクエリを実行および可視化できるツール

AWS公式ページには以下のツールが挙げられています。

  • The open-source graph-explorer
  • Tom Sawyer Software
  • Cambridge Intelligence
  • Graphistry
  • metaphacts
  • G.V()
  • Linkurious

いくつか試してみたところ、Tom Sawyer Softwareが一番使いやすいと感じました。
そのため、本記事ではTom Sawyer Softwareを使用します。G.V()もクライアントから手軽にNeptuneを操作できて魅力的なので、こちらは別の機会に触れたいと思います。

Tom Sawyer Softwareとは

Tom Sawyer Softwareは、グラフやネットワークの視覚化、分析、レイアウトソリューションを提供するソフトウェア企業です。企業名であり固有のプロダクトの名前ではないのですが、各種媒体ではTom Sawyer Softwareの提供するソフトウェア群の総称というニュアンスで書かれているようです。

今回はNeptuneに接続しクエリを実行および可視化したいので、Tom Sawyer SoftwareのTom Sawyer Graph Database Browserを使用します。

AWS MarketplaceでEC2のAMIを購入し、Tom Sawyer Graph Database Browserを起動する

上記のAWSのTom Sawyer SoftwareのページにあるAmazon MarketplaceのTom Sawyer Graph Database Browserの紹介ページから、Tom Sawyer Graph Database BrowserのAMIを購入し、起動します。
または、EC2の起動画面でTom Sawyer Graph Database Browserと入力して検索するとAMIが出てくるので、そこから起動します。後者の方が見慣れた画面なので、こちらの方がやりやすいと感じました。

Tom Sawyer Graph Database BrowserのAMIを検索して起動

設定は通常のEC2と概ね一緒です。Amazon Neptuneに接続するのが目的なので、ネットワークの設定はそれを意識します。本記事では、以下の構成としました。

構成図

セキュリティグループの設定

以下のように設定します。

リソース ポート ソース
Tom Sawyer Graph Database Browser(EC2) 80 開発のネットワークのCIDRなど
Amazon Neptune 8182 Tom Sawyer Graph Database Browser(EC2)のセキュリティグループ

Tom Sawyer Graph Database Browserはブラウザでアクセスするツールなので、HTTP通信を許可します。本記事ではHTTPSまでは設定していないため、HTTPのみ許可します。Amazon Neptuneの8182はNeptuneのデフォルト設定のポート番号です。

Tom Sawyer Graph Database Browserの初期設定

Tom Sawyer Graph Database Browserへのアクセス

EC2でTom Sawyer Graph Database Browserが起動したら初期設定を行います。

Amazon MarketplaceのTom Sawyer Graph Database Browserの紹介ページに、UsageにURLや初期パスワードの記載があるのでそれに倣います。

Once the instance is running, access via a web browser: http://{instance_url}/databasebrowser The instance_url is determined by your instance host name or IP. On first login, your credentials are:

User: admin Password: {instanceID}

The instance ID is available in the description of your AMI in your Amazon console. Once you sign in, you will be prompted to change the user email and password.

パスワードの再設定

URLにアクセスすると、ログイン画面が開くので初期パスワードでログインします。

Tom Sawyer Graph Database Browserのログイン画面

パスワードの再設定とメールアドレスの入力を要求されるので、入力し、パスワード変更を確定します。ちなみに確認メールは届きません(メールサーバーの設定もしていないためです)。

Tom Sawyer Graph Database Browserのパスワードの再設定とメールアドレスの入力

パスワード再設定画面でCloseをクリックすると、Databasesの画面に遷移するのでAdd Databaseをクリックします。

Tom Sawyer Graph Database BrowserのDatabases画面

Amazon Neptuneとの接続設定の作成

New Database画面に遷移します。VendorAmazonDatabaseNeptuneを選択し、Saveをクリックします。

Tom Sawyer Graph Database BrowserのNew Database画面

DatabasesにNeptuneが追加されるので、Action > Connectionsを選択します。

Tom Sawyer Graph Database BrowserのDatabases画面でConnectionsを選択

Connectionsの画面に遷移するので、Add Connectionをクリックします。

Tom Sawyer Graph Database BrowserのConnectionsの画面でAdd Connection

New Connectionの画面に遷移するので、情報を入力し、Saveをクリックします。Cluster EndpointにはNeptuneクラスターのタイプ:書き込みとなっているエンドポイントを入力します。本記事の時点ではIAM認証は有効化していないため、IAM Database AuthenticationOFFにします。

Tom Sawyer Graph Database BrowserのNew Connectionの画面

Amazon Neptuneのエンドポイントは書き込みの方を選択

これでConnectionsが登録できました。Connectionsの画面に行が追加されているので、Actions > ConnectでNeptuneの接続ができるようになります。

Tom Sawyer Graph Database BrowserのConnections画面

以上で初期設定は終了です。

Connectをクリックすると、クエリの実行と結果を可視化する画面が表示されます。

Tom Sawyer Graph Database Browserのクエリ実行画面

次回に向けて

本記事はここまでです。次回は改めて様々なクエリを試します。

参考記事

0
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
0
0