
【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 | データベースログ |
標準メトリクス
| メトリクス名 | 説明 |
|---|---|
制限値(固定値/ハードリミット/ソフトリミット)
| 固定値 | 制限値 |
|---|---|
| バックアップ保持期間 | 1-35日 |
| ハードリミット | 制限値 |
|---|---|
| 最大ストレージ | 128 TiB |
| リードレプリカ数 | 15 |
| ソフトリミット | 制限値 |
|---|---|
| クラスターあたりのDBインスタンス数 | 15 |
AWS CLIのサンプルコード
CloudFormationのサンプルコード
Terraformのサンプルコード
料金計算
| 課金項目 | 説明 |
|---|---|
| インスタンス時間 | データベースインスタンスの稼働時間 |
| ストレージ容量 | 使用したストレージ容量 |
| I/Oリクエスト | 100万I/Oリクエスト単位 |
| バックアップストレージ | 保持期間を超えるバックアップ |
| データ転送 | インターネットへのデータ転送量 |