Neptune

【VPC内リージョンサービス】

Neptune は、フルマネージドな グラフデータベース(Graph Database) です。

Property Graph / RDF(Resource Description Framework) の両モデルをサポートし、Gremlin / SPARQL クエリ言語を用いて関係性の深いデータを低遅延で探索できます。

ソーシャルグラフ、レコメンドエンジン、ナレッジグラフ、アクセス権限グラフなど、複雑なつながりを持つデータの分析や可視化に最適です。

S3 / Glue / Lambda / CloudWatch / Kinesis / SageMaker などのAWSサービスと連携し、データの収集から分析・機械学習までを統合的に実行できます。

運用面では、自動バックアップ / モニタリング / スナップショット / バージョン管理 に対応し、信頼性の高い運用を実現します。

水平スケーリング / 読み取り分離 / 高速データロード により、大規模なグラフデータでも高いパフォーマンスを維持できます。

データの取り込みは CSV / RDF/XML / Turtle / N-Triples / JSON-LD 形式をサポートしており、柔軟なデータロードが可能です。

重要用語

モニタリング
スナップショット
バージョン管理
水平スケーリング
読み取り分離
高速データロード
関連サービス

ユースケース

グラフベースのリレーション分析ユーザー同士の関係やフォロー関係などをグラフとして保存し、友達推薦やつながりの可視化に活用する。
ナレッジグラフ・知識ベースの構築製品情報やドキュメント間の関連をグラフDBに格納し、関連情報の探索や意味的な検索を行うナレッジベースを構築する。
ネットワーク・依存関係の可視化システム構成図や依存関係、ネットワークトポロジなどをグラフとして保存し、影響範囲分析や障害解析に利用する。

ベストプラクティス

用途に応じたグラフモデル選択Property GraphかRDFかをユースケースに合わせて選ぶ。
クエリチューニングインデックスやクエリパターンを最適化し、レスポンスを改善する。
バックアップとマルチAZ自動バックアップとリードレプリカで可用性とデータ保護を確保する。

高可用性・バックアップ・リトライ

高可用性・バックアップ・リトライ設計のポイント
【デフォルト】AWS内部で冗長化
 ・ストレージレイヤーの6重化(すべてのデータを3つのAZに6つのコピーとして自動複製)
 ・自動データ修復(ディスクやノードの障害を検知し自動修復)
 ・クラスターボリュームの自動管理(10GBずつ自動拡張 最大128TB)
 ・書き込みの同期レプリケーション(4/6の書き込み確認で成功とする仕組み)
 ・読み取りの冗長性(6コピー中3/6の読み取り確認で成功)
 ・自動バックアップ(ストレージスナップショットを自動作成)
 ・フェイルオーバー機能(プライマリインスタンス障害時にレプリカを自動昇格)
 ・クラスターエンドポイントの自動切り替え(フェイルオーバー時にDNS名を自動更新)
【リードレプリカ】(推奨:複数AZに最低1つ以上のリードレプリカを配置する)
【DBサブネットグループ】(最低2つ以上の異なるAZにサブネットを指定)
【フェイルオーバー優先度(Priority)】の設定
【グローバルデータベース】(ディザスタリカバリ要件がある場合)
【自動バックアップ】バックアップ保持期間 1~35 日
 デフォルト 1 日
 クラスタストレージを継続的に S3 にバックアップ
 PITR:継続的バックアップ+トランザクションログにより、保持期間内の任意時点に復元可能
【手動スナップショット】任意のタイミングで取得可能
 保持期限は無制限(ユーザーが削除するまで保持)
 クラスタストレージ全体を S3 ベースの永続ストレージに保存
 スナップショットからいつでもクラスタを復元可能(スナップショット時点での復元)

セキュリティ

関連サービス設定内容
Subnet(公開リソースと内部リソースの分離)【Neptuneインスタンス】
 Privateの専用SubnetでマルチAZ構成
SG(リソース単位のアクセス制御)-【Neptuneインスタンス】
 インバウンド:8182(TCP)
 アウトバウンド:すべて許可-
KMS(データの暗号化と鍵の安全管理)-
Secrets Manager(機密情報の安全管理)シークレット(秘密情報)の作成が推奨
 グラフDB接続認証情報
SSM Parameter Store(設定情報の一元管理)-
CloudTrail(操作履歴の記録・監査・追跡)【自動記録】
作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI)
データ操作は追跡できない(データプレーンAPI)
Config(リソースの構成状態・設定変更を記録)-
GuardDuty(脅威を自動検出)【GuardDutyが有効な場合】
VPC内通信・ENI由来の異常検知

ログ・監視

ログ出力先ログの種類
CloudWatch Logsデータベースログ
CloudWatch Logs優先の原則
標準メトリクス
メトリクス名説明

制限値(固定値/ハードリミット/ソフトリミット)

固定値制限値
バックアップ保持期間1-35日

ハードリミット制限値
最大ストレージ128 TiB
リードレプリカ数15

ソフトリミット制限値
クラスターあたりのDBインスタンス数15

AWS CLIのサンプルコード

CloudFormationのサンプルコード

Terraformのサンプルコード

料金計算

課金項目説明
インスタンス時間データベースインスタンスの稼働時間
ストレージ容量使用したストレージ容量
I/Oリクエスト100万I/Oリクエスト単位
バックアップストレージ保持期間を超えるバックアップ
データ転送インターネットへのデータ転送量
料金計算ツール

公式ページ

AWSドキュメント Neptune