グラフデータベース “Amazon Neptune” 登場!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

来たッッッッッ!!!!

という訳で、マネージド型グラフデータベース"Amazon Neptune"が、日本時間の5/30深夜、AWS Summit 2018 Tokyoを開催してる最中に発表されました!

「Amazon Neptuneって何?」という方は、AWSのサービスページ(既に日本語!)もしくは弊社で書いたAWS re:Invent 2017の関連レポートをご確認ください。

早速起動してみます!

Amazon Neptune起動

Amazon Neptuneはデータベースサービスの一種です。データベースの中からNeptuneを探し、選択します。

東京リージョンでNeptuneを選択した場合は、まだ実行できないのでこのような表示になります。サービスが実行できるリージョンを選択します。今回は米国東部(バージニア北部)を選択しました。

Neptuneサービスのトップページです。概要説明などが表示されています。右上のオレンジの"Launch Amazon Neptune"ボタンを押して、Neptuneクラスターおよびインスタンスを作成します。

インスタンスの作成画面です。DBエンジンのバージョンは現在1つしか無いので、インスタンスのクラスだけ選択します。r4からの選択になるようです。

画面下のDBインスタンス識別子でインスタンスの名前を付けます。"my-first-neptune-instance"と設定しました。画面右下の"次へ"を押すと、詳細画面に移ります。

詳細画面では、VPCやサブネットグループ、クラスターの識別子や通信ポート番号などの設定を行っていきます。 今回はほとんどデフォルト値のまま進めます。

一つだけ注意点。Multi-AZの為のサブネットグループは事前に作成しておいてください。(事前に作ってなくても寄り道できますが)

DBクラスター識別子はあえて空白にしました。その結果、クラスター名は"<インスタンス識別子>-cluster"の名前が付きました。

ここまで設定して"DBインスタンスの作成"を押すと、Neptuneの管理画面に移動し、Neptuneインスタンスの起動を待つことになります。今回インスタンスは一番小さい"db.r4.large"を選択しましたが、10分もあれば使用可能になっていました。

Neptuneインスタンス起動後の画面

クラスターの管理画面です。接続情報や、バックアップの運用状況が確認できます。

インスタンスの管理画面です。他のRDSと同様、利用状況などがモニタリングできるようです。

Neptuneインスタンス利用

ここからは提供された接続情報などを使って、NeptuneがサポートしているTinkerPop/GremlinおよびRDF/SPARQLでデータベース構築、操作することになるのですが、それについては公式のドキュメントがまず参考になります。

他にも、AWS re:Invent 2017でハンズオンセッションが開催されそのレポートが参考になると思います。

Neptuneインスタンス削除

Neptuneインスタンスおよびクラスターは、他のRDSサービス同様、停止はできないようです。バックアップとなるスナップショットを取得して削除します。

クラスターアクションから削除を試みましたがグレーアウトしています。

恐らく全てのインスタンスを削除するとクラスターも消えるだろうと予想し、インスタンスの削除をしてみます。

削除の際にスナップショットをとっておくことにします。

Neptuneでは、インスタンス削除の際に"delete me"とフォームに入力しなければなりません。うっかりミスが多いことへの対策が偲ばれます。

インスタンスの削除処理がスタートしました。

クラスターの管理画面を見ると、スナップショットを作成しているような表示になっています。

しばらくすると、クラスターもインスタンスも消えてくれました。

スナップショットが作成せされていることが確認できます。ここからまたインスタンスが作成できるようです。

まずは起動してみた、という状況なので、インスタンスとクラスター周りの関連性がまだ掴めてなかったりと色々これからですが、おいおいキャッチアップしていきたいと思います。それではまた!