全般

Amazon Neptune とは何ですか?

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

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

同じ Neptune インスタンスで Apache TinkerPop Gremlin と RDF/SPARQL を使用できますか?

はい。各 Neptune インスタンスでは、Gremlin Websocket Server および SPARQL 1.1 Protocol REST エンドポイントの両方を提供しています。データはスタック間で分けられます。つまり、RDF データ経由で Gremlin トラバーサルまたはその逆を実行することはできません。これは、使用しているアプリケーションにどちらが最適かを試して確認していただくことを目的としてます。本稼働環境ではリソースは単一のインターフェイスで共有されるため、クライアントは Gremlin または SPARQL のいずれかの言語でのみアクセスすることをお勧めします。

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

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

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

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

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

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

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

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

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

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

Amazon Neptune の使用にはなぜ Amazon RDS アクセス権限とリソースが必要なのですか?

Amazon Neptune は、専用の高パフォーマンスグラフデータベースエンジンです。インスタンスライフサイクルマネジメント、保管中のデータに対する Amazon Key Management Service (KMS) キーとセキュリティグループを使った暗号化などのある種のマネジメント機能について、Neptune では Amazon RDS と共有するオペレーションテクノロジーを活用します。

Amazon Neptune にはサービスレベル利用規約 (SLA) がありますか?

はい。Amazon Neptune の SLA を参照してください。

パフォーマンス

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

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

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

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

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

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

料金

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

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

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

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

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

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

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

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

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

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

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

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

DB インスタンスに割り当てるコンピューティングリソースは、AWS マネジメントコンソールから任意の DB インスタンスを選択して [Modify] ボタンをクリックすることでスケールできます。メモリおよび CPU リソースは DB インスタンスのクラスを変更することで調整できます。

DB インスタンスのクラスを変更すると、その変更は指定したメンテナンスウィンドウの間に適用されます。あるいは、"Apply Immediately" フラグを使用して、スケーリングリクエストをすぐに適用することができます。これらのオプションはいずれも、スケーリング操作が実行されている数分間の可用性に影響を与えます。保留中の他のシステム変更も適用されることにご注意ください。

バックアップと復元

DB インスタンスのバックアップを有効にするにはどうすればよいですか?

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

DB スナップショットを取得し、そのスナップショットをいつまでも保持できますか?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Amazon Neptune スナップショットは、サービスの外でも使えますか?

いいえ。Amazon Neptune スナップショットはサービス内でのみ使えます。

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

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

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

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

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

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

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

機能                                                    Amazon Neptune レプリカ

レプリカの数                                              最大 15 個

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

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

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

自動フェイルオーバー                                  可

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

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

特定のレプリカをフェイルオーバーターゲットとして、他のレプリカより優先させることができますか?

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

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

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

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

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

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

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

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

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

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

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

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

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

プライマリに対しレプリカにはどのくらいの遅延がありますか?

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

セキュリティ

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

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

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

また、Amazon Neptune では、HTTPS で暗号化されたクライアント接続をサポートしており、AWS Key Management Service (KMS) で管理されるキーを使用してデータベースを暗号化することもできます。Amazon Neptune 暗号化を使って実行するデータベースインスタンスでは、基盤となるストレージに保存される保管中のデータが、同じクラスター内の自動バックアップ、スナップショット、レプリカと同様に暗号化されます。暗号化と復号はシームレスに処理されます。Amazon Neptune での KMS の使用に関する詳細は、Amazon Neptune ユーザーガイドを参照してください。

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

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

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

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

Amazon Neptune の料金情報をご確認ください。

詳細 
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで Amazon Neptune を使った構築を始めましょう。

サインイン