こんにちは、Kaneyasuです。
本記事はAmazon NeptuneでグラフDBを体験してみるシリーズの3回目です。
- Amazon NeptuneでグラフDBを体験してみる① Neptuneとクエリ実行環境を用意する
- Amazon NeptuneでグラフDBを体験してみる② Gremlinを用いた超単純なデータの操作
- Amazon NeptuneでグラフDBを体験してみる③ Amazon NeptuneとTom Sawyer Graph Database Browser
本シリーズ記事の目標
- グラフ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が出てくるので、そこから起動します。後者の方が見慣れた画面なので、こちらの方がやりやすいと感じました。
設定は通常の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にアクセスすると、ログイン画面が開くので初期パスワードでログインします。
パスワードの再設定とメールアドレスの入力を要求されるので、入力し、パスワード変更を確定します。ちなみに確認メールは届きません(メールサーバーの設定もしていないためです)。
パスワード再設定画面でClose
をクリックすると、Databases
の画面に遷移するのでAdd Database
をクリックします。
Amazon Neptuneとの接続設定の作成
New Database
画面に遷移します。Vendor
にAmazon
、Database
にNeptune
を選択し、Save
をクリックします。
Databases
にNeptuneが追加されるので、Action
> Connections
を選択します。
Connections
の画面に遷移するので、Add Connection
をクリックします。
New Connection
の画面に遷移するので、情報を入力し、Save
をクリックします。Cluster Endpoint
にはNeptuneクラスターのタイプ:書き込みとなっているエンドポイントを入力します。本記事の時点ではIAM認証は有効化していないため、IAM Database Authentication
はOFF
にします。
これでConnectionsが登録できました。Connections
の画面に行が追加されているので、Actions
> Connect
でNeptuneの接続ができるようになります。
以上で初期設定は終了です。
Connect
をクリックすると、クエリの実行と結果を可視化する画面が表示されます。
次回に向けて
本記事はここまでです。次回は改めて様々なクエリを試します。
参考記事