

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

# Neptune ブルー/グリーンソリューションを使用してブルーグリーンアップデートを実行する
<a name="neptune-BG-deployments"></a>

Amazon Neptune エンジンのアップグレードでは、更新のインストールと検証中はデータベースが使用できないため、アプリケーションのダウンタイムが必要になる場合があります。これは、手動で開始されたか自動で開始されたかに関係なく当てはまります。

Neptune は、 CloudFormation スタックを使用して実行できる Blue/Green デプロイソリューションを提供し、このようなダウンタイムを大幅に短縮します。ブルー本番環境と同期したグリーンステージング環境が構築されます。その後、そのステージング環境を更新して、エンジンのマイナーまたはメジャーバージョンアップグレード、グラフデータモデルの変更、またはオペレーティングシステムの更新を実行し、結果をテストできます。最後に、ダウンタイムをほとんど発生させずに、すぐに本番環境に切り替えることができます。

Neptune ブルー/グリーンソリューションには、次の図に示すように 2 つのフェーズがあります。

![ブルーグリーンデプロイ戦略の大まかなフロー図](http://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/images/BG-flow.png)


**フェーズ 1 では、本番クラスターと同じグリーン DB クラスターを作成します。**

このソリューションでは、一意のブルー/グリーンデプロイ識別子と、本番クラスターと同じクラスタートポロジを使用して DB クラスターを作成します。つまり、DB インスタンスの数とサイズ、パラメータグループ、および設定は、本番 (ブルー) DB クラスターと同じですが、指定したターゲットエンジンバージョンにアップグレードされる点が異なります。ターゲットエンジンのバージョンは、現在の (ブルー) エンジンバージョンよりも高い必要があります。ターゲットのマイナーエンジンバージョンとメジャーエンジンバージョンを指定できます。必要に応じて、ソリューションは指定されたターゲットエンジンバージョンに到達するために必要な中間アップグレードを実行します。この新しいクラスターはグリーンステージング環境になります。

**フェーズ 2 では、継続的なデータ同期を設定します。**

グリーン環境が完全に準備されると、ソリューションは Neptune ストリームを使用してソース (ブルー) クラスターとターゲット (グリーン) クラスター間の連続レプリケーションを設定します。これらの間のレプリケーションの差がゼロになると、ステージング環境をテストできる状態になります。その時点で、レプリケーションの遅延がこれ以上発生しないように、ブルークラスターへの書き込みを一時停止する必要があります。

ターゲットエンジンのバージョンには、アプリケーションに影響する新しい機能や依存関係が含まれている可能性があります。[「エンジンリリース」](engine-releases.md)の下にあるターゲットエンジンリリースのページとそれに続くエンジンリリースのページをチェックして、現在のエンジンバージョンから何が変更されたかを確認してください。本番環境に昇格する前に、グリーンクラスターで統合テストを実行するか、アプリケーションを手動で検証するのが最善です。

グリーンクラスターで変更をテストして検証したら、アプリケーションのデータベースエンドポイントをブルークラスターからグリーンクラスターに切り替えるだけです。

スイッチオーバー後、Neptune ブルー/グリーンソリューションは古いブルー本番環境を削除しません。必要に応じて引き続きアクセスして、追加の検証やテストを行うことができます。削除しない限り、そのインスタンスには標準の請求料金が適用されます。Blue/Green ソリューションは、通常の料金で請求されるコストである他の AWS サービスも使用します。使い終わったソリューションを削除する方法の詳細については、[クリーンアップセクション](neptune-BG-cleanup.md)で説明しています。

## Neptune ブルー/グリーンスタックを実行するための前提条件
<a name="neptune-BG-prereqs"></a>

Neptune ブルー/グリーンスタックを起動する前に:
+ 本番 (ブルー) クラスターで [Neptune ストリームを有効に](streams-using.md)します。
+ ブルークラスターのすべてのインスタンスが**使用可能**状態になっている必要があります。インスタンスの状態は、[Neptune コンソール](https://console.aws.amazon.com/neptune)で、または [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/neptune/describe-db-instances.html) API を使用して確認することができます。
+ また、すべてのインスタンスは [DB クラスターパラメータグループ](parameter-groups.md)と同期している必要があります。
+ Neptune ブルー/グリーンソリューションでは、ブルークラスターが配置されている VPC に DynamoDB VPC エンドポイントが必要です。「[Amazon VPC エンドポイントを使用して DynamoDB にアクセスする](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/network-isolation.html#vpc-endpoints-dynamodb)」を参照してください。
+ ブルー本番 DB クラスターの書き込みワークロードができるだけ軽くなる時間帯を選んで、ソリューションを実行します。例えば、一括ロードが行われるときや、その他の理由で大量の書き込み操作が行われる可能性があるときには、ソリューションを実行しないでください。