

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

# Amazon Neptune エンジンバージョン 1.2.1.0 (2023-03-08)
<a name="engine-releases-1.2.1.0"></a>

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

**注記**  
**1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー `neptune1.2` を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。
エンジンリリース 1.2.0.0 では、元に戻すログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、[`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) 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 プロトコルの使用](access-graph-opencypher-bolt.md)」を参照してください。

## このリリースの後続のパッチリリース
<a name="engine-releases-1.2.1.0-patches"></a>
+ [リリース: 1.2.1.0.R2 (2023-05-02)](engine-releases-1.2.1.0.R2.md) 
+ [リリース: 1.2.1.0.R3 (2023-06-13)](engine-releases-1.2.1.0.R3.md) 
+ [リリース: 1.2.1.0.R4 (2023-06-10)](engine-releases-1.2.1.0.R4.md) 
+ [リリース: 1.2.1.0.R5 (2023-09-02)](engine-releases-1.2.1.0.R5.md) 
+ [リリース: 1.2.1.0.R6 (2023-09-12)](engine-releases-1.2.1.0.R6.md) 
+ [リリース: 1.2.1.0.R7 (2023-10-06)](engine-releases-1.2.1.0.R7.md) 

## このエンジンリリースの新機能
<a name="engine-releases-1.2.1.0-features"></a>
+ [TinkerPop 3.6.2](https://tinkerpop.apache.org/docs/3.6.2-SNAPSHOT/dev/provider/) のサポートが追加されました。これにより、新しい `mergeV()`、`mergeE()`、`element()`、および `fail()` ステップなど、多くの新しい Gremlin 機能が追加されました。`mergeV()` および `mergeE()` ステップは、アップサートのような操作を実行するための待望の宣言型オプションを提供するため、特に注目すべき点です。これにより、既存のコードパターンが大幅に簡略化され、Gremlin が読みやすくなるはずです。3.6.x バージョンでは、正規表現述語、`Map` を取る `property()` ステップへの新しいオーバーロード、`by()` 変調動作の大幅な改訂も追加されました。変調動作の大幅な改訂により、これを使用するすべてのステップではるかに一貫性が保たれています。

  バージョン 3.6 の変更点とアップグレード時に考慮すべき点については、[TinkerPop の変更ログ](https://github.com/apache/tinkerpop/blob/3.6.0/CHANGELOG.asciidoc#release-3-6-0)と[アップグレードのページ](https://tinkerpop.apache.org/docs/current/upgrade/)を参照してください。

  `fold().coalesce(unfold(), <mutate>)` を条件付き挿入に使用している場合は、[ここ](https://tinkerpop.apache.org/docs/3.6.0/reference/#mergevertex-step)と[ここ](https://tinkerpop.apache.org/docs/3.6.0/reference/#mergeedge-step)で説明されている新しい `mergeV/E()` 構文に移行することをお勧めします。Neptune では、`Merge` については `Coalesce` よりも狭いロックパターンを使用するため、同時変更例外 (CME) を減らすことができます。

  今回の TinkerPop リリースで利用できる新機能の詳細については、Stephen Mallette のブログ「[Amazon Neptune での Apache TinkerPop 3.6.x の新機能の探求](https://aws.amazon.com/blogs/database/exploring-new-features-of-apache-tinkerpop-3-6-x-in-amazon-neptune/)」を参照してください。
+ 第 3 世代の Intel Xeon スケーラブルプロセッサを搭載した [R6i インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/r6i/)のサポートを追加しました。これらはメモリ集約的なワークロードに最適であり、同等の R5 インスタンスタイプよりも計算性能/価格パフォーマンスが最大 15% 向上し、vCPU あたりのメモリ帯域幅が最大 20% 高くなります。
+ プロパティグラフと RDF グラフの両方に[グラフサマリー API](neptune-graph-summary.md) エンドポイントが追加され、グラフに関する概要レポートをすばやく取得できるようになりました。

  プロパティ (PG) グラフについて、グラフサマリー API は、ノードおよびエッジラベルとプロパティキーの読み取り専用リストを、ノード、エッジ、プロパティの数とともに返します。RDF グラフでは、クラスと述語キーのリストに加え、クワッド、主語、述語の数も表示されます。

  新しいグラフサマリー API に伴い、以下の変更が行われました。
  + 新しい [GetGraphSummary](iam-dp-actions.md#getgraphsummary) データプレーンアクションが追加されました。
  + 廃止された `sparql/statistics` エンドポイントに代わる新しい `rdf/statistics` エンドポイントが追加されました。
  + グラフのサマリー情報と混同しないように、統計ステータスレスポンスの `summary` フィールドの名前が`signatureInfo` に変更されました。JSON レスポンスでは、以前のエンジンバージョンも引き続き `summary` を使用します。
  + 統計ステータスレスポンスの `date` フィールドの精度が分単位からミリ秒単位に変更されました。以前の形式は `2020-05-07T23:13Z` (分精度) でしたが、新しい形式は `2023-01-24T00:47:43.319Z` (ミリ秒精度) です。どちらも ISO 8601 に準拠していますが、日付の解析方法によっては、この変更により既存のコードが壊れる可能性があります。
  + DFE エンジンの統計情報を取得できる新しい [`%statistics`](notebooks-magics.md#notebooks-line-magics-statistics) ラインマジックがワークベンチに追加されました。
  + グラフの概要情報を取得できる新しい [`%summary`](notebooks-magics.md#notebooks-line-magics-summary) ラインマジックがワークベンチに追加されました。
+ 指定したしきい値よりも実行に時間がかかったクエリをログに記録する[スロークエリロギング](slow-query-logs.md)が追加されました。スロークエリロギングを有効化および制御するには、[neptune\$1enable\$1slow\$1query\$1log](parameters.md#parameters-db-cluster-parameters-neptune_enable_slow_query_log) と [neptune\$1slow\$1query\$1log\$1threshold](parameters.md#parameters-db-cluster-parameters-neptune_slow_query_log_threshold) という 2 つの新しい動的パラメーターを使用します。
+ 2 つの[動的パラメータ](parameter-groups.md)、すなわち、新しいクラスターパラメータ [neptune\$1enable\$1slow\$1query\$1log](parameters.md#parameters-db-cluster-parameters-neptune_enable_slow_query_log) と [neptune\$1slow\$1query\$1log\$1threshold](parameters.md#parameters-db-cluster-parameters-neptune_slow_query_log_threshold) のサポートが追加されました。動的パラメータを変更すると、インスタンスを再起動しなくてもすぐに有効になります。
+ 指定されたキーをマップから削除し、生成された新しいマップを返す Neptune 固有の openCypher [removeKeyFromMap()](access-graph-opencypher-extensions.md#opencypher-compliance-removeKeyFromMap-function) 関数が追加されました。

## このエンジンリリースの改良点
<a name="engine-releases-1.2.1.0-improvements"></a>
+ Gremlin DFE のサポートがローカルスコープの `limit` ステップに拡張されました。
+ DFE エンジンでの Gremlin `DedupGlobalStep` の `by()` モジュレーションサポートが追加されました。
+ Gremlin `SelectStep` および `SelectOneStep` の DFE サポートが追加されました。
+ `repeat`、`coalesce`、`store`、`aggregate` など、さまざまな Gremlin 演算子のパフォーマンスの向上と正確性の修正を行いました。
+ `MERGE` と `OPTIONAL MATCH` を含む openCypher クエリのパフォーマンスが向上しました。
+ リテラル値のマップのリストの `UNWIND` を含む openCypher クエリのパフォーマンスが向上しました。
+ `id` の `IN` フィルターの付いた openCypher クエリのパフォーマンスが向上しました。例:

  ```
  MATCH (n) WHERE id(n) IN ['1', '2', '3'] RETURN n
  ```
+ BASE ステートメントを使用して SPARQL クエリのベース IRI を指定する機能が追加されました (「[クエリと更新のためのデフォルトベース IRI](feature-sparql-compliance.md#opencypher-compliance-default-iri)」を参照)。
+ Gremlin と openCypher のエッジのみの一括ロードのロード処理待ち時間を短縮しました。
+ 再開の試みが失敗するまでの Amazon S3 接続の問題による長時間の待ち時間を回避するため、Neptune の再起動時に一括読み込みが非同期で再開されるようになりました。
+ [describeMode](sparql-query-hints-for-describe.md#sparql-query-hints-describeMode) クエリのヒントが `"CBD"` (簡潔で限定された説明) に設定されていて、多数の空白ノードを含む SPARQL DESCRIBE クエリの処理が改善されました。

## このエンジンリリースで修正された不具合
<a name="engine-releases-1.2.1.0-defects"></a>
+ Bolt と SPARQL-JSON でクエリが NULL 値ではなく文字列 `"null"` を返す openCypher のバグを修正しました。
+ リスト要素に指定された値ではなく NULL 値が生成される、リスト内包表記の openCypher のバグを修正しました。
+ バイト値が正しくシリアル化されない openCypher のバグを修正しました。
+ 子トラバーサル内で入力が頂点へのエッジトラバーサルであった場合に発生していた `UnionStep` の Gremlin のバグを修正しました。
+ `UnionStep` に関連付けられたステップラベルが各子トラバーサルの最後のステップに正しく伝播されない Gremlin のバグを修正しました。
+ `repeat` ステップの後にラベルがある `dedup` ステップで、`dedup` ステップに添付されたラベルがクエリで今後使用できなくなる Gremlin のバグを修正しました。
+ `union` ステップ内の `repeat` ステップを変換すると内部エラーで失敗する Gremlin のバグを修正しました。
+ Tinkerpop にフォールバックして `limit` を非結合ステップの子トラバーサルとして持つ DFE クエリの Gremlin の正確性の問題を修正しました。次のような形式のクエリが影響を受けます。

  ```
  g.withSideEffect('Neptune#useDFE', true).V().as("a").select("a").by(out().limit(1))
  ```
+ `SPARQL GRAPH` パターンが `FROM NAMED` 句によって指定されるデータセットを考慮しないという SPARQL のバグを修正しました。
+ SPARQL `DESCRIBE` に一部の `FROM` や `FROM NAMED` 句があると、デフォルトグラフのデータが常に正しく使用されず、例外が発生することがあった SPARQL のバグを修正しました。「[SPARQL DESCRIBE のデフォルトグラフに対する動作](sparql-default-describe.md)」を参照してください。
+ SPARQL のバグを修正し、NULL 文字が拒否された場合に正しい例外メッセージが返されるようになりました。
+ [PipelinedHashIndexJoin](sparql-explain-operators.md#sparql-explain-operator-pipeline-hash-index-join) 演算子を含むプランに影響を及ぼしていた SPARQL の[説明](sparql-explain.md)バグを修正しました。
+ 定数値を返すクエリが送信されると内部エラーがスローされる openCypher のバグを修正しました。
+ デッドロック検出ロジックで、エンジンが応答しなくなることがあった問題を修正しました。

## このリリースでサポートされるクエリ言語バージョン
<a name="engine-releases-1.2.1.0-query-versions"></a>

DB クラスターをバージョン 1.2.1.0 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
+ *サポートされている最も古いバージョンの Gremlin:* `3.6.2`
+ *サポートされている最も新しいバージョンの Gremlin:* `3.6.2`
+ *openCypher バージョン:* `Neptune-9.0.20190305-1.1`
+ *SPARQL バージョン:* `1.1`

## エンジンリリース 1.2.1.0 へのアップグレードパス
<a name="engine-releases-1.2.1.0-upgrade-paths"></a>

[1.1.0.0](engine-releases-1.1.0.0.md) 以上の以前の Neptune エンジンリリースから、このリリースに手動でアップグレードできます。

**注記**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) 以降、`1.2.0.0` より前のエンジンバージョンで使用していたすべてのカスタムパラメータグループとカスタムクラスターパラメータグループは、パラメータグループファミリー `neptune1.2` を使用して再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、これらのパラメータグループは `1.2.0.0` 以降のリリースでは動作しなくなります。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。

このメジャーバージョンリリースに自動的にアップグレードされることはありません。

## このリリースへのアップグレード
<a name="engine-releases-1.2.1.0-upgrading"></a>

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

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

Linux、OS X、Unix の場合:

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Windows の場合:

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

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

### アップグレードの前に必ずテストする
<a name="engine-1.2.1.0-test-before-upgrading"></a>

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

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

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

### アップグレードの前に必ずスナップショットを手動で作成してください
<a name="engine-1.2.1.0-snapshot-before-upgrading"></a>

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

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

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

**注記**  
[保留中のアクションの処理中に](manage-console-maintaining)アップグレードを試みた場合、次のようなエラーが発生する可能性があります。  

```
   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 クラスターのメンテナンス](cluster-maintenance.md) を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや [AWS プレミアムサポート](https://aws.amazon.com/support)から AWS サポートチームにお問い合わせください。

# Amazon Neptune エンジンバージョン 1.2.1.0.R7 (2023-10-06)
<a name="engine-releases-1.2.1.0.R7"></a>

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

**注記**  
**1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー `neptune1.2` を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。
エンジンリリース 1.2.0.0 では、元に戻すログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、[`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) 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 プロトコルの使用](access-graph-opencypher-bolt.md)」を参照してください。

## このエンジンリリースで修正された不具合
<a name="engine-releases-1.2.1.0.R7-defects"></a>
+ 失敗したトランザクションが正しくクローズされないことがあるバグを修正しました。

## このリリースでサポートされるクエリ言語バージョン
<a name="engine-releases-1.2.1.0.R7-query-versions"></a>

DB クラスターをバージョン 1.2.1.0.R7 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
+ *サポートされている最も古いバージョンの Gremlin:* `3.6.2`
+ *サポートされている最も新しいバージョンの Gremlin:* `3.6.2`
+ *openCypher バージョン:* `Neptune-9.0.20190305-1.0`
+ *SPARQL バージョン:* `1.1`

## このリリースへのアップグレード
<a name="engine-releases-1.2.1.0.R7-upgrading"></a>

Amazon Neptune 1.2.1.0.R7 が一般に利用可能になりました。

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

Linux、OS X、Unix の場合:

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Windows の場合:

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

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

### アップグレードの前に必ずテストする
<a name="engine-1.2.1.0.R7-test-before-upgrading"></a>

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

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

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

### アップグレードの前に必ずスナップショットを手動で作成してください
<a name="engine-1.2.1.0.R7-snapshot-before-upgrading"></a>

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

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

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

**注記**  
[保留中のアクションの処理中に](manage-console-maintaining)アップグレードを試みた場合、次のようなエラーが発生する可能性があります。  

```
   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 クラスターのメンテナンス](cluster-maintenance.md) を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや [AWS プレミアムサポート](https://aws.amazon.com/support)から AWS サポートチームにお問い合わせください。

# Amazon Neptune エンジンバージョン 1.2.1.0.R6 (2023-09-12)
<a name="engine-releases-1.2.1.0.R6"></a>

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

**注記**  
**1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー `neptune1.2` を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。
エンジンリリース 1.2.0.0 では、元に戻すログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、[`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) 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 プロトコルの使用](access-graph-opencypher-bolt.md)」を参照してください。

## このエンジンリリースの新機能
<a name="engine-releases-1.2.1.0.R6-features"></a>
+ [Neptune データ API](data-api.md) をリリースしました。

  Amazon Neptune データ API は、データの読み込み、クエリの実行、データに関する情報の取得、機械学習操作の実行のための SDK サポートを提供します。Neptune における Gremlin および openCypher クエリ言語をサポートし、すべての SDK 言語で使用できます。API リクエストに自動的に署名し、Neptune のアプリケーションへの統合を大幅に簡素化します。

## このエンジンリリースで修正された不具合
<a name="engine-releases-1.2.1.0.R6-defects"></a>
+ スロークエリログが有効になっていると、高負荷時に CPU が急上昇するバグを修正しました。
+ `inV()` または `outV()` が続くエッジとそのプロパティを追加すると `InternalFailureException` が発生する Gremlin のバグを修正しました。
+ バルクローダーのパフォーマンスが低下する場合があった IAM ロールチェイニングのいくつかの問題を修正しました。

## このリリースでサポートされるクエリ言語バージョン
<a name="engine-releases-1.2.1.0.R6-query-versions"></a>

DB クラスターをバージョン 1.2.1.0.R6 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
+ *サポートされている最も古いバージョンの Gremlin:* `3.6.2`
+ *サポートされている最も新しいバージョンの Gremlin:* `3.6.2`
+ *openCypher バージョン:* `Neptune-9.0.20190305-1.0`
+ *SPARQL バージョン:* `1.1`

## このリリースへのアップグレード
<a name="engine-releases-1.2.1.0.R6-upgrading"></a>

Amazon Neptune 1.2.1.0.R6 が一般に利用可能になりました。

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

Linux、OS X、Unix の場合:

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Windows の場合:

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

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

### アップグレードの前に必ずテストする
<a name="engine-1.2.1.0.R6-test-before-upgrading"></a>

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

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

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

### アップグレードの前に必ずスナップショットを手動で作成してください
<a name="engine-1.2.1.0.R6-snapshot-before-upgrading"></a>

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

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

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

**注記**  
[保留中のアクションの処理中に](manage-console-maintaining)アップグレードを試みた場合、次のようなエラーが発生する可能性があります。  

```
   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 クラスターのメンテナンス](cluster-maintenance.md) を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや [AWS プレミアムサポート](https://aws.amazon.com/support)から AWS サポートチームにお問い合わせください。

# Amazon Neptune エンジンバージョン 1.2.1.0.R5 (2023-09-02)
<a name="engine-releases-1.2.1.0.R5"></a>

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

**注記**  
**1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー `neptune1.2` を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。
エンジンリリース 1.2.0.0 では、元に戻すログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、[`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) 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 プロトコルの使用](access-graph-opencypher-bolt.md)」を参照してください。

## このエンジンリリースの新機能
<a name="engine-releases-1.2.1.0.R5-features"></a>
+ [Neptune データ API](data-api.md) をリリースしました。

  Amazon Neptune データ API は、データの読み込み、クエリの実行、データに関する情報の取得、機械学習操作の実行のための SDK サポートを提供します。Neptune における Gremlin および openCypher クエリ言語をサポートし、すべての SDK 言語で使用できます。API リクエストに自動的に署名し、Neptune のアプリケーションへの統合を大幅に簡素化します。

## このエンジンリリースで修正された不具合
<a name="engine-releases-1.2.1.0.R5-defects"></a>
+ `inV()` または `outV()` が続くエッジとそのプロパティを追加すると `InternalFailureException` が発生する Gremlin のバグを修正しました。
+ バルクローダーのパフォーマンスが低下する場合があった IAM ロールチェイニングのいくつかの問題を修正しました。

## このリリースでサポートされるクエリ言語バージョン
<a name="engine-releases-1.2.1.0.R5-query-versions"></a>

DB クラスターをバージョン 1.2.1.0.R5 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
+ *サポートされている最も古いバージョンの Gremlin:* `3.6.2`
+ *サポートされている最も新しいバージョンの Gremlin:* `3.6.2`
+ *openCypher バージョン:* `Neptune-9.0.20190305-1.0`
+ *SPARQL バージョン:* `1.1`

## このリリースへのアップグレード
<a name="engine-releases-1.2.1.0.R5-upgrading"></a>

Amazon Neptune 1.2.1.0.R5 が一般に利用可能になりました。

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

Linux、OS X、Unix の場合:

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Windows の場合:

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

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

### アップグレードの前に必ずテストする
<a name="engine-1.2.1.0.R5-test-before-upgrading"></a>

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

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

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

### アップグレードの前に必ずスナップショットを手動で作成してください
<a name="engine-1.2.1.0.R5-snapshot-before-upgrading"></a>

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

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

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

**注記**  
[保留中のアクションの処理中に](manage-console-maintaining)アップグレードを試みた場合、次のようなエラーが発生する可能性があります。  

```
   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 クラスターのメンテナンス](cluster-maintenance.md) を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや [AWS プレミアムサポート](https://aws.amazon.com/support)から AWS サポートチームにお問い合わせください。

# Amazon Neptune エンジンバージョン 1.2.1.0.R4 (2023-08-10)
<a name="engine-releases-1.2.1.0.R4"></a>

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

**重要**  
このエンジンリリースで導入された変更により、一括ロードのパフォーマンスが低下する場合があります。そのため、このリリースへのアップグレードは、問題が解決されるまで一時的に中断されました。

**注記**  
**1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー `neptune1.2` を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。
エンジンリリース 1.2.0.0 では、元に戻すログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、[`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) 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 プロトコルの使用](access-graph-opencypher-bolt.md)」を参照してください。

## このエンジンリリースの改良点
<a name="engine-releases-1.2.1.0.R4-improvements"></a>
+ Gremlin の [GraphSON-1.0](https://tinkerpop.apache.org/docs/3.4.1/dev/io/#graphson) サポートを追加しました。GraphSON-1.0 を使用するには、次の値を指定して `Accept header` を渡します。

  ```
  application/vnd.gremlin-v1.0+json;types=false
  ```

## このエンジンリリースで修正された不具合
<a name="engine-releases-1.2.1.0.R4-defects"></a>
+ ネイティブに処理されないステップの子トラバーサルに述語を含むクエリについて、Gremlin クエリステータスエンドポイントを確認すると、トランザクションリークが発生する Gremlin のバグを修正しました。
+ Bolt のトランザクション処理における openCypher のバグを修正しました。
+ クラッシュを引き起こす可能性のある、ストレージレイヤーの同時実行の問題を修正しました。
+ スロークエリログのバグを修正し、無効なときにはアクティブにならないようにしました。

## このリリースでサポートされるクエリ言語バージョン
<a name="engine-releases-1.2.1.0.R4-query-versions"></a>

DB クラスターをバージョン 1.2.1.0.R4 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
+ *サポートされている最も古いバージョンの Gremlin:* `3.6.2`
+ *サポートされている最も新しいバージョンの Gremlin:* `3.6.5`
+ *openCypher バージョン:* `Neptune-9.0.20190305-1.0`
+ *SPARQL バージョン:* `1.1`

## エンジンリリース 1.2.1.0.R4 へのアップグレードパス
<a name="engine-releases-1.2.1.0.R4-upgrade-paths"></a>

## このリリースへのアップグレード
<a name="engine-releases-1.2.1.0.R4-upgrading"></a>

Amazon Neptune 1.2.1.0.R4 が一般に利用可能になりました。

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

Linux、OS X、Unix の場合:

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Windows の場合:

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

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

### アップグレードの前に必ずテストする
<a name="engine-1.2.1.0.R4-test-before-upgrading"></a>

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

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

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

### アップグレードの前に必ずスナップショットを手動で作成してください
<a name="engine-1.2.1.0.R4-snapshot-before-upgrading"></a>

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

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

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

**注記**  
[保留中のアクションの処理中に](manage-console-maintaining)アップグレードを試みた場合、次のようなエラーが発生する可能性があります。  

```
   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 クラスターのメンテナンス](cluster-maintenance.md) を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや [AWS プレミアムサポート](https://aws.amazon.com/support)から AWS サポートチームにお問い合わせください。

# Amazon Neptune エンジンバージョン 1.2.1.0.R3 (2023-06-13)
<a name="engine-releases-1.2.1.0.R3"></a>

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

**重要**  
このエンジンリリースで導入された変更により、一括ロードのパフォーマンスが低下する場合があります。そのため、このリリースへのアップグレードは、問題が解決されるまで一時的に中断されました。

**注記**  
**1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー `neptune1.2` を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。
エンジンリリース 1.2.0.0 では、元に戻すログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、[`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) 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 プロトコルの使用](access-graph-opencypher-bolt.md)」を参照してください。

## このエンジンリリースの新機能
<a name="engine-releases-1.2.1.0.R3-features"></a>
+ [IAM ロールチェイニング](bulk-load-tutorial-chain-roles.md)を使用したクロスアカウント一括読み込みのサポートが追加されました。

## このエンジンリリースの改良点
<a name="engine-releases-1.2.1.0.R3-improvements"></a>
+ Gremlin の `fail()` ステップを改善して、生成された例外を汎用 `InternalFailureException` と区別し、ユーザーによって指定されたメッセージが呼び出し元に確実に伝わるようにしました。
+ `store`、`aggregate`、`cap`、`limit`、および `hasLabel` について、Gremlin クエリエンジンの最適化が改善されました。
+ openCypher 三角関数のサポートが追加されました。
  + `acos()`
  + `asin()`
  + `atan()`
  + `atan2()`
  + `cos()`
  + `cot()`
  + `degrees()`
  + `pi()`
  + `radians()`
  + `sin()`
  + `tan()`
+ いくつかの openCypher 集約関数のサポートが追加されました。
  + `percentileDisc()`
  + `stDev()`
+ `datetime` を `epochmillis` に変換する openCypher `epochmillis()` 関数のサポートが追加されました。例:

  ```
  MATCH (n) RETURN epochMillis(n.someDateTime)
  1698972364782
  ```
+ openCypher モジュロ (`%`) 演算子のサポートが追加されました。
+ openCypher Static Debug Explain ツールのサポートが追加されました。
+ openCypher `randomUUID()` 関数のサポートが追加されました。
+ openCypher のパフォーマンスが向上しました。
  + パーサーとクエリプランナーを改善しました。
  + DFE エンジンの CPU 使用率が向上しました。
  + 同じ変数を再利用する複数の更新句を含むクエリのパフォーマンスが向上しました。例:

    ```
    MERGE (n {name: 'John'})
      or
    MERGE (m {name: 'Jim'})
      or
    MERGE (n)-[:knows {since: 2023}]→(m)
    ```
  + 次のようなマルチホップクエリパターンのクエリプランが最適化されました。

    ```
    MATCH (n)-->()-->()-->(m)
    RETURN n m
    ```
  + パラメータ化されたクエリにより、リストとマップの挿入のパフォーマンスが向上しました。例:

    ```
    UNWIND $idList as id MATCH (n {`~id`: id})
    RETURN n.name
    ```
  + `WITH` を含んでいるクエリ実行が、適切なバリアにすることで改善されました。
  + `Unfold` および集約関数内の値の重複した実体化を回避するように最適化されました。
+ 次のような `VALUES` 句に多数の静的入力を含む SPARQL クエリのパフォーマンスが向上しました。

  ```
  SELECT ?n WHERE { VALUES (?name) { ("John") ("Jim") ... many values ... } ?n a ?n_type . ?n ?name . }
  ```
+ SPARQL CBD クエリのパフォーマンスが向上しました。

## このエンジンリリースで修正された不具合
<a name="engine-releases-1.2.1.0.R3-defects"></a>
+ 深いネストを伴う長いクエリが、クエリのプランニング段階で CPU 使用率が高くなり、クエリがタイムアウトする Gremlin のバグを修正しました。
+ `mergeV` または `mergeE` を使用すると、無効な `NullPointerException` がスローされる Gremlin のバグを修正しました。

## このリリースでサポートされるクエリ言語バージョン
<a name="engine-releases-1.2.1.0.R3-query-versions"></a>

DB クラスターをバージョン 1.2.1.0.R3 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
+ *サポートされている最も古いバージョンの Gremlin:* `3.6.2`
+ *サポートされている最も新しいバージョンの Gremlin:* `3.6.2`
+ *openCypher バージョン:* `Neptune-9.0.20190305-1.0`
+ *SPARQL バージョン:* `1.1`

## エンジンリリース 1.0.5.0.R3 へのアップグレードパス
<a name="engine-releases-1.2.1.0.R3-upgrade-paths"></a>

## このリリースへのアップグレード
<a name="engine-releases-1.2.1.0.R3-upgrading"></a>

Amazon Neptune 1.2.1.0.R3 が一般に利用可能になりました。

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

Linux、OS X、Unix の場合:

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Windows の場合:

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

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

### アップグレードの前に必ずテストする
<a name="engine-1.2.1.0.R3-test-before-upgrading"></a>

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

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

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

### アップグレードの前に必ずスナップショットを手動で作成してください
<a name="engine-1.2.1.0.R3-snapshot-before-upgrading"></a>

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

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

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

**注記**  
[保留中のアクションの処理中に](manage-console-maintaining)アップグレードを試みた場合、次のようなエラーが発生する可能性があります。  

```
   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 クラスターのメンテナンス](cluster-maintenance.md) を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや [AWS プレミアムサポート](https://aws.amazon.com/support)から AWS サポートチームにお問い合わせください。

# Amazon Neptune エンジンバージョン 1.2.1.0.R2 (2023-05-02)
<a name="engine-releases-1.2.1.0.R2"></a>

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

**注記**  
**1.2.0.0 より前のエンジンバージョンからアップグレードを行う場合:**  
[エンジンリリース 1.2.0.0](engine-releases-1.2.0.0.md) では、カスタムパラメータグループとカスタムクラスターパラメータグループに新しい形式が導入されました。そのため、1.2.0.0 より前のエンジンバージョンからエンジンバージョン 1.2.0.0 以降にアップグレードする場合は、パラメータグループファミリー `neptune1.2` を使用している既存のカスタムパラメータグループとカスタムクラスターパラメータグループをすべて再作成する必要があります。以前のリリースではパラメータグループファミリー `neptune1` が使用されていましたが、それらのパラメータグループはリリース 1.2.0.0 以降では動作しません。詳細については「[Amazon Neptune パラメータグループ](parameter-groups.md)」を参照してください。
エンジンリリース 1.2.0.0 では、元に戻すログの新しい形式も導入されました。そのため、1.2.0.0 より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された UNDO ログをすべてパージし、[`UndoLogsListSize`](cw-metrics.md#cw-metrics-UndoLogListSize) 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 プロトコルの使用](access-graph-opencypher-bolt.md)」を参照してください。

## このエンジンリリースの改良点
<a name="engine-releases-1.2.1.0.R2-improvements"></a>
+ すべての [Neptune ML API](machine-learning-api-reference.md) に `enableInterContainerTrafficEncryption` パラメータを追加しました。これを使用して、トレーニングジョブやハイパーパラメータチューニングジョブでコンテナ間トラフィック暗号化を有効または無効にできます。
+ Gremlin `mergeV()` および `mergeE()` のマルチラベルサポートが追加されました。

## このエンジンリリースで修正された不具合
<a name="engine-releases-1.2.1.0.R2-defects"></a>
+ 更新とリターンのクエリが `orderBy`、`limit`、または `skip` を正しく処理しない openCypher のバグを修正しました。
+ あるリクエストに含まれるパラメータが、別の同時リクエストに含まれるパラメータによってオーバーライドされる可能性がある openCypher のバグを修正しました。
+ スロークエリログに正しいクエリ時間が含まれていなかった openCypher のバグを修正しました。
+ `GroupCountStep` を含んでいるクエリが文字列として送信されたときに、トランザクションリークが発生する可能性がある Gremlin のバグを修正しました。
+ スロークエリログが有効になっていると WebSocket クエリが失敗する Gremlin のバグを修正しました。
+ WebSocket リクエストのスロークエリログにストレージカウンターのデバッグログが欠落していた Gremlin のバグを修正しました。
+ `mergeV()` と `mergeE()` に関係するいくつかの Gremlin のバグを修正しました。
+ 名前付きグラフのクエリコストが誤って見積もられ、クエリプランが最適でなかったり、メモリ不足エラーが発生したりする SPARQL のバグを修正しました。
+ IAM 対応クラスターでの Gremlin および openCypher クエリの承認に影響するバグを修正しました。

## このリリースでサポートされるクエリ言語バージョン
<a name="engine-releases-1.2.1.0.R2-query-versions"></a>

DB クラスターをバージョン 1.2.1.0.R2 にアップグレードする前に、プロジェクトが次のクエリ言語バージョンと互換性があることを確認してください。
+ *サポートされている最も古いバージョンの Gremlin:* `3.6.2`
+ *サポートされている最も新しいバージョンの Gremlin:* `3.6.2`
+ *openCypher バージョン:* `Neptune-9.0.20190305-1.0`
+ *SPARQL バージョン:* `1.1`

## エンジンリリース 1.2.1.0.R2 へのアップグレードパス
<a name="engine-releases-1.2.1.0.R2-upgrade-paths"></a>

## このリリースへのアップグレード
<a name="engine-releases-1.2.1.0.R2-upgrading"></a>

Amazon Neptune 1.2.1.0.R2 が一般に利用可能になりました。

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

Linux、OS X、Unix の場合:

```
1. aws neptune modify-db-cluster \
2.     --db-cluster-identifier (your-neptune-cluster) \
3.     --engine-version 1.2.1.0 \
4.     --apply-immediately
```

Windows の場合:

```
1. aws neptune modify-db-cluster ^
2.     --db-cluster-identifier (your-neptune-cluster) ^
3.     --engine-version 1.2.1.0 ^
4.     --apply-immediately
```

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

### アップグレードの前に必ずテストする
<a name="engine-1.2.1.0.R2-test-before-upgrading"></a>

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

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

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

### アップグレードの前に必ずスナップショットを手動で作成してください
<a name="engine-1.2.1.0.R2-snapshot-before-upgrading"></a>

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

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

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

**注記**  
[保留中のアクションの処理中に](manage-console-maintaining)アップグレードを試みた場合、次のようなエラーが発生する可能性があります。  

```
   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 クラスターのメンテナンス](cluster-maintenance.md) を参照してください。ご質問やご不明点がございましたら、コミュニティフォーラムや [AWS プレミアムサポート](https://aws.amazon.com/support)から AWS サポートチームにお問い合わせください。