Amazon Neptune エンジンバージョン 1.1.1.0.R6 (2022-09-23) - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Neptune エンジンバージョン 1.1.1.0.R6 (2022-09-23)

2022 年 9 月 23 日現在、エンジンバージョン1.1.1.0.R6 は一般にデプロイされています。新しいリリースがすべてのリージョンで利用可能になるまでに数日かかります。

重要

1.1.0.0 より前のバージョンからこのエンジンリリースにアップグレードすると、DB クラスター内のすべてのインスタンスでオペレーティングシステムのアップグレードもトリガーされます。オペレーティングシステムのアップグレード中に発生するアクティブな書き込み要求は処理されないため、アップグレードを開始する前に、一括データロードを含め、アップグレード中のクラスターへのすべての書き込みワークロードを一時停止する必要があります。

アップグレードを正常に完了するには、すべてのアベイラビリティーゾーン (AZ) の各サブネットに、Neptune インスタンスごとに利用可能な IP アドレスが少なくとも 1 つ必要です。例えば、サブネット 1 に 1 つのライターインスタンスと 2 つのリーダーインスタンスがあり、サブネット 2 に 2 つのリーダーインスタンスがある場合、アップグレードを開始する前に、サブネット 1 には少なくとも 3 つの IP アドレスの空きがあり、サブネット 2 には少なくとも 2 つの IP アドレスが空いている必要があります。

アップグレードの開始時に、Neptune は preupgrade に DB クラスターの情報に基づいて自動生成された識別子が続く名前のスナップショットを生成します。このスナップショットには課金はされません。アップグレードプロセス中に問題が発生した場合は、DB クラスターを復元するために使用できます。

エンジンのアップグレード自体が完了すると、古いオペレーティングシステムで新しいエンジンバージョンが一時的に利用可能になりますが、5 分以内にクラスター内のすべてのインスタンスが同時にオペレーティングシステムのアップグレードを開始します。DB クラスターは、この時点で数分間使用できなくなります。アップグレードの完了後に、書き込みワークロードを再開できます。

このプロセスでは、次のイベントが生成されます。

  • クラスターごとのイベントメッセージ。

    • Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-(autogenerated snapshot ID)]

    • Database cluster major version has been upgraded

  • インスタンスごとのイベントメッセージ。

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

注記

このリリースでは、IAM 認証で openCypher を使用するコードに重大な変更が加えられています。これまでは、IAM シグネチャーのホスト文字列には、bolt:// など、次のようなプロトコルが含まれていました。

"Host":"bolt://(host URL):(port)"

エンジンリリース 1.1.1.0 以降、このプロトコルは省略する必要があります。

"Host":"(host URL):(port)"

例については、「Bolt プロトコルの使用」を参照してください。

このエンジンリリースの改良点

  • Gremlin order-by クエリのパフォーマンスが改善されました。NeptuneGraphQueryStep の末尾に order-by が付いている Gremlin クエリは、パフォーマンスを向上させるために、より大きなサイズのチャンクを使用するようになりました。これはクエリプランの内部 (ルート以外の) ノードの order-by には適用されません。

  • Gremlin 更新クエリのパフォーマンスが改善されました。エッジやプロパティを追加している間は、削除されないように頂点とエッジをロックする必要があります。この変更により、トランザクション内の重複ロックがなくなり、パフォーマンスが向上します。

このエンジンリリースで修正された不具合

  • ノードとエッジが重複して作成されることがあった MERGE 句内の openCypher のバグが修正されました。

  • OPTIONAL 句内に (NOT) EXISTS を含む SPARQL クエリの処理において、クエリの結果が表示されない場合があるバグを修正しました。

  • 一括ロードの進行中にサーバーの再起動が遅れるバグを修正しました。

  • リレーションシッププロパティにフィルターを設定した openCypher 可変長パターンの双方向トラバーサルでエラーが発生するバグを修正しました。このような可変長パターンの例としては、(n)-[r*1..2]->(m) があります。

  • キャッシュされたデータをクライアントに送り返す方法に関するバグを修正しました。このバグが原因で、場合によっては予想外に長い待ち時間が発生することがありました。

このリリースでサポートされるクエリ言語バージョン

DB クラスターをバージョン 1.1.1.0.R6 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。

  • サポートされている最も古いバージョンの Gremlin: 3.5.2

  • サポートされている最も新しいバージョンの Gremlin: 3.5.4

  • openCypher バージョン: Neptune-9.0.20190305-1.0

  • SPARQL バージョン: 1.1

エンジンリリース 1.1.1.0.R6 へのアップグレードパス

エンジンバージョン 1.1.1.0 を実行している場合、クラスターは次のメンテナンス期間中に自動的にこのパッチリリースにアップグレードされます。

このリリースへのアップグレード

重要

1.1.0.0 より前のバージョンからこのエンジンリリースにアップグレードすると、DB クラスター内のすべてのインスタンスでオペレーティングシステムのアップグレードもトリガーされます。オペレーティングシステムのアップグレード中に発生するアクティブな書き込み要求は処理されないため、アップグレードを開始する前に、一括データロードを含め、アップグレード中のクラスターへのすべての書き込みワークロードを一時停止する必要があります。

アップグレードの開始時に、Neptune は preupgrade に DB クラスターの情報に基づいて自動生成された識別子が続く名前のスナップショットを生成します。このスナップショットには課金はされません。アップグレードプロセス中に問題が発生した場合は、DB クラスターを復元するために使用できます。

エンジンのアップグレード自体が完了すると、古いオペレーティングシステムで新しいエンジンバージョンが一時的に利用可能になりますが、5 分以内にクラスター内のすべてのインスタンスが同時にオペレーティングシステムのアップグレードを開始します。DB クラスターはこの時点で約 6 分間使用できなくなります。アップグレードの完了後に、書き込みワークロードを再開できます。

このプロセスでは、次のイベントが生成されます。

  • クラスターごとのイベントメッセージ。

    • Upgrade in progress: Creating pre-upgrade snapshot [preupgrade-(autogenerated snapshot ID)]

    • Database cluster major version has been upgraded

  • インスタンスごとのイベントメッセージ。

    • Applying off-line patches to DB instance

    • DB instance shutdown

    • Finished applying off-line patches to DB instance

    • DB instance restarted

DB クラスターで、このリリースへのアップグレードパスがあるエンジンバージョンを実行している場合は、今すぐアップグレードできます。対象となるクラスターをアップグレードするには、コンソールの DB クラスターオペレーションまたは SDK を使用します。次の CLI コマンドは、適格なクラスターをただちにアップグレードします。

Linux、OS X、Unix の場合:

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version 1.1.1.0 \ --apply-immediately

Windows の場合:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.1.1.0 ^ --apply-immediately

更新は、DB クラスター内のすべてのインスタンスに同時に適用されます。更新では、DB クラスター内のすべてのインスタンスでデータベースを再起動する必要があるため、20 〜 30 秒から数分のダウンタイムが発生します。その後、DB クラスターの使用を再開できます。

アップグレードの前に必ずテストする

新しいメジャーまたはマイナーバージョンの Neptune エンジンがリリースされたら、アップグレードする前に、まず最初に Neptune アプリケーションをテストしてください。マイナーアップグレードでも、コードに影響する新しい機能や動作が導入される可能性があります。

まず、現在のバージョンのリリースノートページと対象バージョンのリリースノートページを比較して、クエリ言語のバージョンに変更があるか、その他の重大な変更がないかを確認します。

本番 DB クラスターをアップグレードする前に新しいバージョンをテストする最善の方法は、本番クラスターをクローンして、クローンで新しいエンジンバージョンを実行することです。その後、本番 DB クラスターに影響を与えずに、クローンに対してクエリを実行できます。

アップグレードの前に必ずスナップショットを手動で作成してください

アップグレードの前に必ず DB クラスターの手動スナップショットを作成することを強く推奨します。自動スナップショットを作成しても短期的な保護しか得られませんが、手動スナップショットは明示的に削除するまで使用できます。

場合によっては、Neptune がアップグレードプロセスの一環として手動スナップショットを作成することもありますが、これを頼りにすべきではなく、どのような場合でも独自の手動スナップショットを作成する必要があります。

DB クラスターをアップグレード前の状態に戻す必要がないことが確実な場合は、自分で作成した手動スナップショットと、Neptune が作成した手動スナップショットを明示的に削除できます。Neptune が手動スナップショットを作成する場合、その名前は preupgrade で始まり、その後に DB クラスターの名前、ソースエンジンのバージョン、ターゲットエンジンのバージョン、および日付が続きます。

注記

保留中のアクションの処理中にアップグレードを試みた場合、次のようなエラーが発生する可能性があります。

We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.

このエラーが発生した場合は、保留中のアクションが終了するのを待つか、すぐにメンテナンスウィンドウをトリガーして、前回のアップグレードを完了させます。

お使いのエンジンバージョンのアップグレードの詳細については、Amazon Neptune DB クラスターのメンテナンス を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや AWS プレミアムサポートから AWS サポートチームにお問い合わせください。