Amazon Neptuneで始める初めてのグラフDB③ Amazon NeptuneとTom Sawyer Graph Database Browserとの接続

記事タイトルとURLをコピーする

こんにちは。
DevOpsが好きなアプリケーションサービス部の兼安です。

本記事は「Amazon Neptuneで始める初めてのグラフDB」というテーマの連載記事の3回目です。

本連載記事の目標

  • Amazon Neptuneに対する基本的な操作・認証・運用方法を習得する
  • Amazon Neptuneの全文検索を実装する

第3回目の目標

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

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

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

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

docs.aws.amazon.com

  • 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とは

www.tomsawyer.com

docs.aws.amazon.com

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

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

www.tomsawyer.com

Tom Sawyer Graph Database Browserは、MySQLにおけるphpMyAdminのように、WebブラウザでグラフDBに対してクエリを実行できるツールです。

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や初期パスワードの記載があるのでそれに倣います。
URLはhttp://{instance_url}/databasebrowserとありますね。
{instance_url}の部分はIPアドレスでもOKなのを確認しています。
初期パスワードはEC2のインスタンスIDですね。

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のConnections画面

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

Tom Sawyer Graph Database BrowserのConnections画面

以上で初期設定は終了です。
Connectをクリックすると、クエリの実行と結果を可視化する画面が表示されます。

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

次回に向けて

本記事はここまでです。
次はもう一個だけツールを試してみます。

参考記事

aws.amazon.com

兼安 聡(執筆記事の一覧)

アプリケーションサービス部 DS3課所属
2024 Japan AWS Top Engineers (Database)
2024 Japan AWS All Certifications Engineers
認定スクラムマスター
広島在住です。今日も明日も修行中です。