Amazon Neptune DB クラスターのメンテナンス - Amazon Neptune

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

Amazon Neptune DB クラスターのメンテナンス

Neptune は、使用するすべてのリソースに対して、以下のようなメンテナンスを定期的に実施します。

  • 必要に応じた基盤となるハードウェアの交換。これはバックグラウンドで処理され、ユーザーは何もする必要がなく、通常、ユーザーの操作には影響しません。

  • 基盤となるオペレーティングシステムの更新。DB クラスター内のインスタンスのオペレーティングシステムのアップグレードは、パフォーマンスとセキュリティを向上させるために行われるため、通常はできるだけ早く完了する必要があります。通常、アップデートには約 10 分かかります。オペレーティングシステムのアップデートでは、DB インスタンスの DB エンジンのバージョンまたは DB インスタンスクラスは変更されません。

    一般的に、最初に DB クラスターのリーダーインスタンスを更新し、次にライターインスタンスを更新するのが最善です。リーダーとライターを同時に更新すると、フェイルオーバーが発生してダウンタイムが生じる可能性があります。DB インスタンスはオペレーティングシステムの更新前に自動的にバックアップされないため、オペレーティングシステムの更新を適用する前に必ず手動でバックアップしてください。

  • Neptune データベースエンジンの更新。Neptune は、新機能や機能強化の導入、バグの修正を目的として、さまざまなエンジンアップデートを定期的にリリースします。

エンジンバージョン番号

エンジンリリース 1.3.0.0 より前のバージョン番号

2019 年 11 月までは、Neptune がサポートするエンジンバージョンは一度に 1 つのみで、エンジンのバージョン番号はすべて 1.0.1.0.200<xxx> という形式でした。ここで xxx はパッチ番号を示します。すべての新しいエンジンバージョンは、以前のバージョンへのパッチとしてリリースされました。

2019 年 11 月に、Neptune は複数のバージョンのサポートを開始し、お客様がアップグレードパスをより詳細に制御できるようになりました。これに伴って、エンジンのリリースの番号付けも変更されました。

2019 年 11 月からエンジンリリース 1.3.0.0 までのエンジンバージョン番号は 5 つの部分で構成されています。バージョン番号 1.0.2.0.R2 を例として取り上げます。

  • 最初の部分は常に 1 でした。

  • 2 番目の部分 (1.0.2.0.R20) は、データベースのメジャーバージョン番号でした。

  • 3 番目と 4 番目の部分 (1.0.2.0.R22.0) はどちらもマイナーバージョン番号でした。

  • 5 番目の部分 (1.0.2.0.R2R2) はパッチ番号でした。

ほとんどのアップデートはパッチアップデートであり、パッチとマイナーバージョンアップデートの区別は必ずしも明確ではありませんでした。

エンジンリリース 1.3.0.0 以降のバージョン番号

エンジンリリース 1.3.0.0 以降、Neptune はエンジンアップデートの番号付けと管理の方法を変更しました。

エンジンのバージョン番号は、次の 4 つの部分で構成され、それぞれがリリースのタイプに対応しています。

    製品バージョン.メジャーバージョン.マイナーバージョン.パッチバージョン

以前はパッチとしてリリースされていた非破壊的変更が、現在はマイナーバージョンとしてリリースされ、AutoMinorVersionUpgrade インスタンス設定を使用して管理できるようになりました。

これにより、新しいマイナーバージョンがリリースされるたびに通知を受け取ることができます。そのためには、RDS-EVENT-0156 イベントにサブスクライブします (「Neptune イベント通知にサブスクライブする」を参照してください)。

現在、パッチリリースは緊急のターゲット修正に限定されており、バージョン番号の最後の部分 (*.*.*.1*.*.*.2 など) を使用して番号が付けられます。

Amazon Neptune のさまざまなタイプのエンジンリリース

エンジンバージョン番号の 4 つの部分に対応するエンジンリリースの 4 つのタイプは次のとおりです。

  • 製品バージョン — 製品の機能やインターフェースに抜本的かつ根本的な変更が加えられた場合にのみ変更されます。現在の Neptune 製品バージョンは 1 です。

  • メジャーバージョン — メジャーバージョンでは重要な新機能や互換性を破る変更が導入されます。通常 2 年以上の有効期間があります。

  • マイナーバージョン — マイナーバージョンには新機能、機能強化、バグ修正が含まれますが、互換性を破るような変更は含まれません。次回のメンテナンスウィンドウ中に自動的に適用するかどうかを選択できます。また、リリースされるたびに通知を受けるように選択することもできます。

  • パッチバージョン — パッチバージョンは、緊急のバグ修正または重大なセキュリティアップデートに対応するためにのみリリースされます。互換性を破る変更が含まれることはめったになく、リリース後の次回のメンテナンスウィンドウ中に自動的に適用されます。

Amazon Neptune のメジャーバージョンアップデート

メジャーバージョンアップデートでは、通常 1 つ以上の重要な新機能が導入され、多くの場合、互換性を破る変更が含まれます。通常、サポート期間は約 2 年間です。Neptune のメジャーバージョンは、リリース日および推定サポート期間と共に、エンジンリリースに記載されます。

使用しているメジャーバージョンのサポートが終了するまでは、メジャーバージョンの更新は完全に任意です。新しいメジャーバージョンにアップグレードする場合は、「メジャーバージョンのアップグレード」で説明しているように、AWS CLI または Neptune コンソールを使用して新しいバージョンを自分でインストールする必要があります。

ただし、使用しているメジャーバージョンがサポート終了になると、より新しいメジャーバージョンへのアップグレードが必要であることが通知されます。通知後の猶予期間内にアップグレードしない場合、次回のメンテナンスウィンドウ中に最新のメジャーバージョンへのアップグレードが自動的にスケジュールされます。詳細については、「エンジンバージョンの有効期間」を参照してください。

Amazon Neptune のマイナーバージョンアップデート

Neptune エンジンのほとんどの更新はマイナーバージョンアップデートです。これらは頻繁に発生し、互換性を破る変更は含まれません。

DB クラスターのライター (プライマリ) インスタンスで AutoMinorVersionUpgrade フィールドを true に設定している場合、マイナーバージョンアップデートは、リリース後の次回のメンテナンスウィンドウ中に DB クラスター内のすべてのインスタンスに自動的に適用されます。

DB クラスターのライターインスタンスで AutoMinorVersionUpgrade フィールドを false に設定している場合は、明示的にインストールした場合にのみ更新が適用されます。

注記

マイナーバージョンアップデートは、自己完結型 (同じメジャーバージョンへの以前のマイナーバージョンアップデートには依存しない) および累積的 (以前のマイナーバージョンアップデートで導入されたすべての機能と修正を含む) です。つまり、以前のマイナーバージョンアップデートをインストールしたかどうかに関係なく、どのマイナーバージョンアップデートでもインストールできます。

マイナーバージョンのリリースは、RDS-EVENT-0156 イベントにサブスクライブすることで簡単に追跡できます (「Neptune イベント通知にサブスクライブする」を参照)。これにより、新しいマイナーバージョンがリリースされるたびに通知されます。

また、通知にサブスクライブしているかどうかに関係なく、いつでも保留中のアップデートを確認できます。

Amazon Neptune のパッチバージョンアップデート

インスタンスの信頼性に影響するセキュリティ上の問題やその他の重大な不具合が発生した場合、Neptune は必須のパッチをデプロイします。これらは次回のメンテナンスウィンドウ中に DB クラスター内のすべてのインスタンスに適用されます。ユーザーが介入する必要はありません。

パッチリリースは、デプロイしない場合のリスクが、デプロイした場合のリスクやダウンタイムを上回る場合にのみデプロイされます。パッチリリースは頻繁に発生するものではありません (通常数か月に 1 回程度です)。また、メンテナンスウィンドウのごく一部を使用するだけです。

Amazon Neptune のメジャーエンジンバージョンの有効期間の計画

Neptune のエンジンバージョンは、ほとんどの場合、暦四半期の終わりに有効期限を迎えます。例外が発生するのは、セキュリティや可用性に関する重要な問題が発生した場合のみです。

エンジンバージョンの有効期間が終了すると、Neptune データベースを新しいバージョンにアップグレードする必要があります。

一般的に、Neptune エンジンバージョンは以下のように引き続きご利用いただけます。

  • マイナーエンジンバージョン: マイナーエンジンバージョンは、リリース後少なくとも 6 か月間はご利用いただけます。

  • メジャーエンジンバージョン: メジャーエンジンバージョンは、リリース後少なくとも 12 か月間はご利用いただけます。

エンジンバージョンの有効期限の少なくとも 3 か月前に、AWS は、AWS アカウントに登録されているメールアドレスに自動メール通知を送信し、同じメッセージが AWS ヘルスダッシュボードに投稿されます。これにより、アップグレードを計画し、準備する時間を確保できます。

エンジンバージョンの有効期間が終了すると、そのバージョンを使用して新しいクラスターやインスタンスを作成できなくなり、オートスケーリングでもそのバージョンを使用してインスタンスを作成できなくなります。

実際に有効期間が終了したエンジンバージョンは、メンテナンス期間中に自動的にアップグレードされます。エンジンバージョンの有効期限の 3 か月前に送信されるメッセージには、自動的にアップグレードされるバージョン、DB クラスターへの影響、推奨アクションなど、この自動更新の内容に関する詳細が記載されています。

重要

データベースエンジンのバージョンを最新の状態に保つ責任はお客様にあります。AWS は、セキュリティ、プライバシー、および可用性に関する最新の保護措置の恩恵を受けるために、すべてのお客様にデータベースを最新のエンジンバージョンにアップグレードするよう促します。廃止日を過ぎたサポートされていないエンジンまたはソフトウェア (「レガシーエンジン」) でデータベースを運用すると、セキュリティ、プライバシー、およびダウンタイムイベントを含む運用上のリスクにさらされる可能性が高くなります。

どのエンジンでもデータベースの運用には、AWS サービスの利用を規定する契約が適用されます。レガシーエンジンは一般公開されていません。AWS は、レガシーエンジンについてはサポートを提供せず、AWS は、レガシーエンジンがサービス、AWS、その関連会社、または第三者にセキュリティまたは賠償責任のリスク、または危害のリスクをもたらすと AWS が判断した場合は、いつでもレガシーエンジンへのアクセスまたは使用を制限することができます。レガシーエンジンでコンテンツを引き続き実行すると、コンテンツが利用できなくなったり、破損したり、回復できなくなったりする可能性があります。レガシーエンジンで実行されているデータベースは、サービスレベルアグリーメント (SLA) の例外の対象となります。

レガシーエンジンで実行されているデータベースおよび関連ソフトウェアには、バグ、エラー、欠陥、または有害なコンポーネントが含まれています。したがって、本契約またはサービス条件にこれと異なる定めがある場合でも、AWS はレガシーエンジンを「現状のまま」提供しています。

Neptune エンジンへの更新の手動インストール

メジャーバージョンのエンジンアップグレードのインストール

メジャーエンジンリリースは常に手動でインストールする必要があります。ダウンタイムを最小限に抑え、テストと検証に十分な時間を確保するために、新しいメジャーバージョンをインストールする最善の方法は、一般的に Neptune ブルー/グリーンデプロイソリューションを使用することです。

場合によっては、DB クラスターの作成時に使用した AWS CloudFormation テンプレートを使用してメジャーバージョンアップグレードをインストールすることもできます (「AWS CloudFormation テンプレートを使用して Neptune DB クラスターのエンジンバージョンを更新する」を参照)。

メジャーバージョンアップデートをすぐにインストールする場合は、次のような CLI コマンドを使用できます。

aws neptune modify-db-cluster \ --db-cluster-identifier (identifier for your neptune cluster) \ --engine neptune \ --engine-version (the new engine version) \ --apply-immediately

アップグレード先のエンジンのバージョンを必ず指定します。指定しないと、エンジンは最新バージョンではないか、期待するバージョンとは異なるバージョンにアップグレードされる可能性があります。

--apply-immediately の代わりに --no-apply-immediately と指定することができます。

クラスターでカスタムクラスターパラメータグループを使用している場合は、必ずこのパラメータを使用することを指定します。

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

同様に、クラスター内のインスタンスがカスタム DB パラメータグループを使用している場合は、必ずこのパラメータを使用して指定します。

---db-instance-parameter-group-name (name of the custom instance parameter group)

AWS Management Consoleを使用したマイナーバージョンのエンジンアップグレードのインストール

Neptune コンソールを使用してマイナーバージョンアップグレードを実行するには
  1. AWS マネジメントコンソールにサインインして Amazon Neptune コンソール (https://console.aws.amazon.com/neptune/home) を開きます。

  2. ナビゲーションペインで、[データベース] を選択し、変更する DB クラスターを選択します。

  3. [Modify] (変更) を選択します。

  4. [インスタンスの仕様] で、アップグレード先の新しいバージョンを選択します。

  5. [Next] (次へ) をクリックします。

  6. 変更をすぐに適用するには、[すぐに適用] を選択します。

  7. [送信] を選択して DB クラスターを更新します。

AWS CLIを使用したマイナーバージョンのエンジンアップグレードのインストール

次のようなコマンドを使用すると、次回のメンテナンスウィンドウを待たずにマイナーバージョンアップグレードを実行できます。

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

AWS CLI を使用して手動でアップグレードする場合は、アップグレード先のエンジンバージョンを必ず含めます。そうしないと、エンジンが最新バージョンまたは期待するバージョンではないバージョンにアップグレードされる可能性があります。

1.2.0.0 より前のバージョンからエンジンバージョン 1.2.0.0 以降へのアップグレード

エンジンリリース 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より前のバージョンからのアップグレードを開始する前に、以前のエンジンバージョンで作成された元に戻すログをすべてパージし、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 プロトコルの使用」を参照してください。