グラフデータベース “Amazon Neptune” 登場!
来たッッッッッ!!!!
という訳で、マネージド型グラフデータベース"Amazon Neptune"が、日本時間の5/30深夜、AWS Summit 2018 Tokyoを開催してる最中に発表されました!
「Amazon Neptuneって何?」という方は、AWSのサービスページ(既に日本語!)もしくは弊社で書いたAWS re:Invent 2017の関連レポートをご確認ください。
- Amazon Neptune -クラウド向けに構築された高速で信頼性の高いグラフデータベース-
- 【速報】AWSのフルマネージドグラフデータベースサービス、Amazon Neptune が発表されました! #reinvent | Developers.IO
- 【レポート】Deep Dive:Amazon Neptune #reinvent #DAT318 | Developers.IO
早速起動してみます!
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"とフォームに入力しなければなりません。うっかりミスが多いことへの対策が偲ばれます。
インスタンスの削除処理がスタートしました。
クラスターの管理画面を見ると、スナップショットを作成しているような表示になっています。
しばらくすると、クラスターもインスタンスも消えてくれました。
スナップショットが作成せされていることが確認できます。ここからまたインスタンスが作成できるようです。
まずは起動してみた、という状況なので、インスタンスとクラスター周りの関連性がまだ掴めてなかったりと色々これからですが、おいおいキャッチアップしていきたいと思います。それではまた!