Amazon Neptune エンジンバージョン 1.2.0.1 (2022-10-26) - Amazon Neptune

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

Amazon Neptune エンジンバージョン 1.2.0.1 (2022-10-26)

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

注記

1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:

  • エンジンリリース 1.2.0.0 では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー neptune1.2 を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー neptune1 が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については、「Amazon Neptune パラメータグループ」を参照してください。

  • エンジンリリース 1.2.0.0 では、UNDO ログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、UndoLogsListSize CloudWatch メトリクスをゼロにする必要があります。更新を開始しようとしたときに UNDO ログレコードが多すぎる (200,000 以上) 場合、UNDO ログのパージが完了するのを待っている間にアップグレードがタイムアウトすることがあります。

    パージが行われるクラスターのライターインスタンスをアップグレードすることで、パージの速度を上げることができます。アップグレードを試みる前にこれを行うと、開始前に UNDO ログの数を減らすことができます。ライターのサイズを 24XL インスタンスタイプに増やすと、パージ率が 1 時間あたり 100 万レコードを超えることがあります。

    UndoLogsListSize CloudWatch メトリクスが非常に大きい場合、サポートケースを開くと、それを停止するための追加の戦略を検討するのに役立つ場合があります。

  • 最後に、リリース 1.2.0.0 には、IAM 認証で Bolt プロトコルを使用していた以前のコードに影響する重大な変更がありました。リリース 1.2.0.0 以降、Bolt には IAM 署名用のリソースパスが必要です。Java では、リソースパスの設定は以下のようになります: request.setResourcePath("/openCypher"));。その他の言語では、/openCypher をエンドポイント URI に追加できます。例については、「Bolt プロトコルの使用」を参照してください。

このリリースの後続のパッチリリース

このエンジンリリースの新機能

  • Amazon Neptune サーバーレスを導入しました。これは、処理需要の増加に合わせて DB クラスターをスケールアップし、需要が減少すると再びスケールダウンするオンデマンド自動スケーリング設定です。

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

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

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

  • dedup をネイティブ実行レイヤーにプッシュすることで、repeat() サブクエリの内部の dedup() を使用する Gremlin クエリのパフォーマンスが向上しました。

  • IAM 認証エラーに関するユーザーフレンドリーなエラーメッセージを追加しました。これらのメッセージには、IAM ユーザーまたはロール ARN、リソース ARN、およびリクエストに対する不正アクションのリストが表示されるようになりました。不正アクションのリストは、使用している IAM ポリシーに何が欠けているか、または明示的に拒否されているかを確認するのに役立ちます。

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

  • TinkerPop 3.5 にアップグレードした後に PartitionStrategy を使用すると、「PartitionStrategy は匿名トラバーサルでは機能しません」というメッセージを含むエラーが誤って発生し、トラバーサルが実行されなくなるという Gremlin のバグを修正しました。

  • WherePredicateStep 変換に関する Gremlin の正確性に関するバグを修正しました。このバグでは、Neptune のクエリエンジンが、where(P.neq('x')) とそのバリエーションを使用するクエリについて誤った結果を生成していました。

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

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

  • 挿入負荷が高い場合にパフォーマンスが低下するバルクローダーのバグを修正しました。

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

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

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

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

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

  • SPARQL バージョン: 1.1

エンジンリリース 1.2.0.1 へのアップグレードパス

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

Amazon Neptune 1.2.0.1 が公開されました。

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

Linux、OS X、Unix の場合:

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

Windows の場合:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.2.0.1 ^ --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 サポートチームにお問い合わせください。