全般

Q: Amazon Neptune とは何ですか?

Amazon Neptune は高速で信頼性が高いフルマネージドグラフデータベースサービスであり、これを使用することで高度に接続されたデータセットと連携するアプリケーションの構築と実行が簡単になります。高度に接続されたデータの SQL クエリは複雑で、パフォーマンスの調整は困難です。代わりに、Amazon Neptune では、公開されている一般的なグラフクエリ言語を使用して、書き込みが容易で、接続されたデータをうまく処理する強力なクエリを実行できます。Neptune の中核となるのは、数十億の関係を保存し、ミリ秒単位のレイテンシーでグラフをクエリするために最適化された、専用の高性能グラフデータベースエンジンです。Neptune は、推奨エンジン、不正検出、知識グラフ、創薬、ネットワークセキュリティなどのグラフのユースケースに使用できます。Amazon Neptune はフルマネージドで、プロビジョニング、パッチ適用、バックアップ、復旧、障害検出、修復などの時間がかかる作業を処理します。使用する各 Amazon Neptune データベースインスタンスに対して単純な月額方式の料金が発生します。前払い費用や長期契約は必要ありません。

Q: Amazon Neptune を試用するにはどうすればよいですか?

Amazon Neptune を試すには、プレビューへのアクセスをリクエストしてください。

Q: Amazon Neptune ではどのような一般的なグラフクエリ言語がサポートされていますか?

Amazon Neptune では、オープンソースの Apache TinkerPop Gremlin グラフトラバーサル言語と W3C 標準 RDF (Resource Description Framework) SPARQL クエリ言語の両方がサポートされています。

 

Q: 既存の Apache TinkerPop Gremlin アプリケーションから Amazon Neptune に移行するにはどうすればよいですか?

Amazon Neptune では、Websocket と REST の両方の接続をサポートする Apache TinkerPop Gremlin Server を提供しています。Amazon Neptune のインスタンスをプロビジョニングすると、既存の TinkerPop アプリケーションを設定して、サービスによって提供されるエンドポイントを使用できます。Accessing the Graph via Gremlin も参照してください。

Q: Amazon Neptune の Gremlin Server を使用するには、クライアントドライバーの変更が必要ですか?

いいえ。Amazon Neptune の Gremlin Server では、Websocket と REST の両方の接続を使って Apache TinkerPop バージョン 3.3 と互換性のあるクライアントがサポートされます。

Q: SPARQL エンドポイントを持つトリプルストアから Amazon Neptune に移行するにはどうすればよいですか?

Amazon Neptune では、SPARQL 1.1 Protocol を実装する HTTP REST エンドポイントを利用できます。サービスインスタンスをプロビジョニングすると、SPARQL エンドポイントを指定するようにアプリケーションを設定できます。Accessing the Graph via SPARQL も参照してください。

Q: Amazon Neptune の SPARQL エンドポイントを使用するには、クライアントドライバーの変更が必要ですか?

いいえ。Amazon Neptune の SPARQL エンドポイントは、SPARQL 1.1 Protocol をサポートするすべてのクライアントで動作します。 

Q: Neptune は、ACID (不可分性、整合性、分離性、耐久性) に準拠していますか?

Neptune は、即時整合性を備えており、ACID に準拠しています。

パフォーマンス

Q: Amazon Neptune を使ってデータにインデックスを作成する必要がありますか?

いいえ。既存のグラフデータベースユーザーは、多くの場合、ベンダーの実装を試してみることを余儀なくされます。明示的にインデックスを維持することは、その 1 つの側面にすぎません。Amazon Neptune では、適切なクエリパフォーマンスを得るために特定のインデックスを作成する必要はなく、データベース設計の第 2 の推測の必要性が最小限に抑えられます。

Q: Amazon Neptune と連携するように最適化されたグラフクエリワークロードのタイプは何ですか?

Amazon Neptune は、高スループットで低レイテンシーのグラフクエリを必要とするグラフアプリケーションをサポートするように設計されています。最大 15 個のリードレプリカをサポートすることで、Amazon Neptune は毎秒 100,000 件のクエリをサポートできます。

Q: Amazon Neptune ではクエリ最適化が実行されますか?

はい。Amazon Neptune では、SPARQL クエリと Gremlin トラバーサルの両方でクエリ最適化が使用されます。

Q: Amazon Neptune はリレーショナルデータベースで構築されていますか?

いいえ。Amazon Neptune は、専用の高パフォーマンスグラフデータベースエンジンです。Neptune では、グラフデータを効率的に保存およびナビゲートし、スケールアップされたインメモリ最適化アーキテクチャを使用して、大規模なグラフに対する迅速なクエリ評価を可能にします。

料金

Q: Amazon Neptune にはどれくらいのコストがかかりますか?

料金の最新情報については、こちらの料金表ページを参照してください。

Q: Amazon Neptune はどの AWS リージョンで利用できますか?

リージョンと料金の最新情報については、こちらの料金表ページを参照してください。

Q: Amazon Neptune はデータベースボリュームの各単位を 3 つのアベイラビリティーゾーンにわたって 6 つの方法でレプリケートするということですが、実際のストレージ料金は、料金表ページに書かれている料金の 3 倍または 6 倍になるということですか?

いいえ。Amazon Neptune のレプリケーションは料金に含まれています。料金はデータベースがデータベースレイヤーで消費したストレージに応じて発生します。Amazon Neptune の仮想化ストレージレイヤーで消費したストレージではありません。

Q: IOs in Amazon Neptune とは何ですか? どのように計算されますか?

IO は、Amazon Neptune が SSD ベースの仮想化ストレージレイヤーに対して実行する入力/出力オペレーションです。各データベースページの読み取りオペレーションは 1 IO とカウントされます。Amazon Neptune では、ストレージレイヤーに対して読み取りを発行し、バッファキャッシュ内に存在しないページを取得します。各ページは Amazon Neptune で 16 KB です。
Amazon Neptune は、不要な IO オペレーションを排除して、コストを削減し、読み取り/書き込みトラフィックを提供するリソースを確保するために設計されました。書き込み IOs はストレージレイヤーが耐久性の高い書き込みを実現するためにトランザクションログレコードをプッシュする時にのみ消費します。書き込み IOs は 4 KB 単位でカウントされます。例えば、トランザクションログレコードが 1024 バイトの場合、1 IO オペレーションとカウントされます。ただし、同時書き込みオペレーションでトランザクションログが 4 KB 未満の場合は、I/O 消費を最適化するために Amazon Neptune データベースエンジンによってまとめてバッチ処理されます。従来のデータベースエンジンとは異なり、Amazon Neptune では変更されたデータベースページをストレージレイヤーにプッシュしないため、I/O 消費をさらに節約できます。

ハードウェアとスケーリング

Q: Amazon Neptune データベースのストレージの下限と上限はどれくらいですか?

ストレージの下限は 10 GB です。データベースの使用量に応じて、Amazon Neptune ストレージは、データベースのパフォーマンスに影響を与えることなく最大 64 TB まで 10 GB 単位で自動的に拡張されます。ストレージを事前にプロビジョニングする必要はありません。

Q: Amazon Neptune DB インスタンスに関連するコンピューティングリソースをスケールするにはどうすればよいですか?

DB インスタンスに割り当てるコンピューティングリソースは、AWS マネジメントコンソールから任意の DB インスタンスを選択して [Modify] ボタンをクリックすることでスケールできます。メモリおよび CPU リソースは DB インスタンスのクラスを変更することで調整できます。
DB インスタンスのクラスを変更すると、その変更は指定したメンテナンスウィンドウの間に適用されます。あるいは、[Apply Immediately] フラグを使用して、スケーリングリクエストをすぐに適用することができます。これらのオプションはどちらも、スケーリング操作が実行されている数分間の可用性に影響を与えます。保留中の他のシステム変更も適用されることにご注意ください。

バックアップと復元

Q: DB インスタンスのバックアップはどうすれば有効にできますか?

Amazon Neptune DB インスタンスでは常に自動バックアップが有効です。バックアップはデータベースのパフォーマンスに影響を与えません。

 

Q: DB スナップショットを作成したあと、いつまでもスナップショットを保持できますか?

はい。また、スナップショットを作成する際にパフォーマンスに影響はありません。DB スナップショットからデータを復元する場合は新しく DB インスタンスを作成する必要があることに注意してください。

Q: データベースに障害が発生した場合、どのような復旧パスを利用できますか?

Amazon Neptune では、3 つのアベイラビリティーゾーンに 6 つのデータコピーを自動的に保持し、データを損失することなく正常なアベイラビリティーゾーンのデータベースを自動的に復旧します。万一、Amazon Neptune ストレージでデータが利用不可になった場合には、DB スナップショットから復元するか、ポイントインタイムの復元オペレーションを新しいインスタンスに対して実行できます。ポイントインタイムの復元オペレーションを実行する場合、最新の復元可能時間は直近で 5 分前までです。

Q: DB インスタンスを削除した場合、自動バックアップと DB スナップショットはどうなりますか。

DB インスタンスを削除する際に、最後の DB スナップショットを作成するか選択できます。作成した場合、この DB スナップショットを使用してあとから DB インスタンスをレプリケーションできます。Amazon Neptune は、DB インスタンスが削除された後も、ユーザーが作成した最終的な DB スナップショットと手動で作成されたその他すべての DB スナップショットを保持します。DB インスタンスが削除された後は DB スナップショットのみが保持されます (つまり、ポイントインタイムの復元のために作成された自動バックアップは保持されません)。

Q: スナップショットを別の AWS アカウントと共有できますか?

はい。Neptune では、データベースのスナップショットを作成できます。これを使用して、後でデータベースを復元できます。スナップショットは別の AWS アカウントと共有でき、受取人アカウントの所有者は、そのスナップショットを使用して、お客様のデータを含む DB を復元できます。スナップショットを公開して、だれでもお客様の公開データを含む DB を復元できるように選択することもできます。この機能を使用して、別の AWS アカウントを持つさまざまな環境間 (本番、開発/テスト、ステージングなど) でデータを共有できます。また、メインの AWS アカウントが漏れた場合に備えて、別のアカウントにすべてのデータのバックアップを保護できます。

Q: 共有スナップショットに対して請求されますか?

アカウント間のスナップショットの共有に対して課金されることはありません。しかし、スナップショット自体、および共有スナップショットから復元するデータベースに対して課金される場合があります。詳細については、Amazon Neptune 料金表を参照してください。

Q: 自動的にスナップショットを共有できますか?

自動 DB スナップショットの共有はサポートされていません。自動スナップショットを共有するには、手動でスナップショットのコピーを作成してから、コピーを共有する必要があります。

Q: スナップショットをいくつのアカウントと共有できますか?

手動のスナップショットを、最大 20 個の AWS アカウント ID と共有できます。20 個を超えるアカウントでスナップショットを共有する場合は、スナップショットを公開して共有するか、クォータを引き上げるためにサポートにご連絡ください。

Q: Amazon Neptune スナップショットはどのリージョンで共有できますか?

Neptune スナップショットは、Amazon Neptune が利用可能なすべての AWS リージョンで共有できます。

Q: Amazon Neptune スナップショットを異なるリージョン間で共有できますか?

いいえ。共有された Amazon Neptune スナップショットは、それを共有したアカウントと同じリージョン内のアカウントからのみアクセスできます。

Q: 暗号化された Amazon Neptune スナップショットを共有できますか?

はい。暗号化された Amazon Neptune スナップショットは共有できます。

高可用性とレプリケーション

Q: Amazon Neptune ではディスク障害に対するデータベースの耐障害性をどのように向上させますか?

Amazon Neptune ではデータベースボリュームを多数のディスクにまたがる 10 GB のセグメントに自動的に分割します。10 GB 単位の各データベースボリュームが、3 つのアベイラビリティーゾーンにわたって 6 つの方法でレプリケートされます。Amazon Neptune はデータベースの書き込み性能に影響を与えることなく最大 2 つ、読み取り性能に影響を与えることなく最大 3 つのデータコピーの損失を透過的に処理するように設計されています。また、Amazon Neptune ストレージには自己修復機能が備わっています。データブロックおよびディスクはエラー検出のために継続的にスキャンされ、自動的に修復されます。

 

Q: Amazon Neptune ではデータベースクラッシュ後の復旧時間をどのように向上させますか?

他のデータベースとは異なり、データベースのクラッシュ後、Amazon Neptune では、データベースを利用できるようにする前に最後のデータベースチェックポイント (通常 5 分前) から REDO ログを再生して、すべての変更が適用されていることを確認する必要はありません。これにより、たいていの場合データベースの再起動時間を 60 秒以内に短縮します。また Amazon Neptune はバッファキャッシュをデータベース処理から除外し、再起動時にすぐ利用できるようにします。そのため、ブラウンアウトを避けるためにキャッシュが再生成されるまでアクセスを調整する必要がなくなります。

Q: Neptune ではどのようなレプリカがサポートされていますか?

Amazon Neptune では、プライマリインスタンスと同じ基本ボリュームを共有するリードレプリカがサポートされています。プライマリにより実行された更新は、すべての Amazon Neptune レプリカで確認できます。

機能                                                Amazon Neptune レプリカ

レプリカの数                                            最大 15 個

レプリケーションタイプ                                  非同期 (ミリ秒)

プライマリへのパフォーマンスの影響                         低い

フェイルオーバーターゲットとして機能                                  はい (データ損失なし)

自動フェイルオーバー                                              はい

 

Q: Amazon Neptune でクロスリージョンレプリカを作成できますか?

いいえ。Amazon Neptune ではクロスリージョンレプリカはサポートされていません。

Q: 特定のレプリカをフェイルオーバーターゲットとして他のレプリカに優先できますか?

A: はい。クラスターの各インスタンスに昇格優先階層を割り当てることができます。プライマリインスタンスが失敗した場合、Amazon Neptune は最も高い優先度のレプリカをプライマリに昇格させます。複数のレプリカ間の競合が同じ優先階層に存在する場合、Amazon Neptune はプライマリインスタンスと同じサイズのレプリカを昇格させます。

Q: インスタンスへの優先階層を作成した後に変更できますか?

A: インスタンスへの優先階層はいつでも変更できます。優先階層を変更するだけでは、フェイルオーバーはトリガーされません。

Q: 特定のレプリカがプライマリインスタンスに昇格することを防ぐことはできますか?

A: プライマリインスタンスに昇格させたくないレプリカを低い優先階層に割り当てることができます。しかし、クラスターの高い優先度のレプリカが正常でない、または何らかの理由により利用できない場合、Amazon RDS は低い優先階層のレプリカを昇格します。

Q: 単一の Amazon Neptune データベースの可用性をどのように向上できますか?

Amazon Neptune レプリカを追加できます。Amazon Neptune レプリカは、プライマリインスタンスと同じ基盤となるストレージを共有しています。データを損失することなく任意の Amazon Neptune レプリカをプライマリに昇格できるため、プライマリ DB インスタンスに障害が発生した際の耐障害性を向上させるために使用できます。データベースの可用性を向上させるには、3 つのアベイラビリティーゾーンのいずれかに 1 個から 15 個のレプリカを作成するだけで、データベースの停止時に Amazon Neptune によってフェイルオーバーのプライマリ対象としてそれらのレプリカが自動的に認識されます。

Q: フェイルオーバー中はどのようなことが起き、どのくらいの時間がかかりますか?

フェイルオーバーは Amazon Neptune によって自動的に処理されるため、アプリケーションは管理上の手動介入なく、可能な限り迅速にデータベースオペレーションを再開できます。

  • 同一の、または異なるアベイラビリティーゾーンに Amazon Neptune レプリカを作成している場合、フェイルオーバーが発生すると Amazon Neptune では、DB プライマリエンドポイントの正式名レコード (CNAME) を健全なレプリカに反転させます。このレプリカが新しいプライマリに昇格します。通常、フェイルオーバーは 30 秒以内で完了します。また、リードレプリカのエンドポイントでは、フェイルオーバー中に CNAME の更新は不要です。
  • Amazon Neptune レプリカを作成していない場合 (単一のインスタンスの場合など)、Neptune では元のインスタンスと同じアベイラビリティーゾーンに新しい DB インスタンスの作成を試行します。この処理に失敗した場合、Neptune は異なるアベイラビリティーゾーンに新しい DB インスタンスの作成を試行します。通常、フェイルオーバーは 15 分以内で完了します。

接続が切断された場合、アプリケーションによるデータベースリクエストを再試行する必要があります。

Q: プライマリデータベースと Amazon Neptune レプリカがアクティブに読み取りトラフィックを処理し、フェイルオーバーが発生した場合はどうなりますか?

Amazon Neptune ではプライマリインスタンスの問題を自動的に検出し、Amazon Neptune レプリカへの読み取り/書き込みトラフィックのルーティングを開始します。このフェイルオーバーは平均で 30 秒以内に完了します。さらに、Amazon Neptune レプリカが処理していた読み取りトラフィックは一時的に中断されます。

Q: レプリカはどのくらいプライマリから遅れますか?

Amazon Neptune レプリカはプライマリインスタンスと同じデータボリュームを共有しているため、実質的にレプリケーションラグはありません。通常、ラグは数十ミリ秒です。

 

セキュリティ

Q: Amazon Neptune を Amazon Virtual Private Cloud (Amazon VPC) で使用できますか?

はい。すべての Amazon Neptune DB インスタンスは VPC 内で作成される必要があります。Amazon VPC では、お客様のデータセンターで運用されている従来型のネットワークを正確に模倣して、仮想ネットワークのトポロジーを定義できます。これにより、どのユーザーが Amazon Neptune データベースにアクセスできるかを完全に制御できます。

 

Q: Amazon Neptune では、転送中と保管時のデータの暗号化がサポートされますか?

はい。Amazon Neptune では、データベースインスタンスとアプリケーション間の接続を保護するために、AES-256 暗号スイートなどの TLS (HTTPS) を使用して、転送中のデータの暗号化をサポートしています。これは現在デフォルトでは有効になっていませんが、クラスターのパラメータグループから設定できます。また、Amazon Neptune では、AWS Key Management Service (KMS) で管理されるキーを使用してデータベースを暗号化できます。Amazon Neptune 暗号化を使って実行するデータベースインスタンスでは、基盤となるストレージに保存される保管中のデータが、同じクラスター内の自動バックアップ、スナップショット、レプリカと同様に暗号化されます。暗号化と復号はシームレスに処理されます。Amazon Neptune での KMS の使用に関する詳細は、Amazon Neptune ユーザーガイドを参照してください。

Q: 暗号化されていない既存のデータベースを暗号化できますか?

現在のところ、暗号化されていない既存の Neptune インスタンスの暗号化はサポートされていません。暗号化されていない既存のデータベースで Amazon Neptune 暗号化を使用するには、暗号化を有効にした新しい DB インスタンスを作成して、データを移行してください。

Q: Amazon Neptune データベースにアクセスするにはどうすればよいですか?

Amazon Neptune データベースにアクセスするには、データベース作成時に入力した HTTP/HTTPS ポートを使用する必要があります。これにより、データに対するセキュリティが一層強化されます。Amazon Neptune データベースに接続する際の詳細な手順は、Amazon Neptune ユーザーガイドに記載されています。

Amazon Neptune 料金の詳細

料金ページを見る
始める準備はできましたか?
プレビューにサインアップ
ご不明な点がおありですか?
お問い合わせ