クラスターモードの変更 - Amazon ElastiCache for Redis

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

クラスターモードの変更

Redis は、シャーディングとレプリケーションをサポートする分散型インメモリデータベースです。ElastiCache for Redis クラスターは、複数の Redis ノード間でデータを分割できる Redis の分散実装です。ElastiCache for Redis クラスターには、クラスターモード有効 (CME) とクラスターモード無効 (CMD) の 2 つのオペレーションモードがあります。CME では Redis は複数のシャードとノードを備えた分散データベースとして機能しますが、CMD では Redis は単一ノードとして機能します。

CMD から CME に移行するには、次の条件を満たしている必要があります。

重要

クラスターモードの設定は、クラスターモード無効からクラスターモード有効にのみ変更できます。この設定を元に戻すことはできません。

  • クラスターのキーはデータベース 0 にのみ存在できます。

  • アプリケーションは、クラスタープロトコルを使用できる Redis クライアントを使用し、設定エンドポイントを使用する必要があります。

  • 少なくとも 1 つのレプリカがあるクラスターでは、自動フェイルオーバーを有効にする必要があります。

  • 移行に必要な Redis エンジンの最小バージョンは 7.0 です。

CMD から CME に移行するには、クラスターモードの設定を、クラスターモード無効からクラスターモード有効に変更する必要があります。これは、移行プロセス中にクラスターの可用性を確保するための 2 段階の手順です。

注記

クラスター有効の設定を持つパラメータグループを指定する必要があります。つまり、クラスター有効パラメータを [yes] に設定します。デフォルトのパラメータグループを使用している場合、ElastiCache for Redis は、クラスター有効の設定になっている対応するデフォルトパラメータグループを自動的に選択します。CMD クラスターでは、クラスター有効パラメータ値が [no] に設定されます。クラスターが互換モードに移行すると、変更アクションの一部としてクラスター有効のパラメータ値が [yes] に更新されます。

詳細については、「パラメータグループを使用したエンジンパラメータの設定」を参照してください。

  1. 準備 — テスト用の CME クラスターを作成し、スタックがそのクラスターで動作する準備ができていることを確認します。ElastiCache for Redis には、準備が整っていることを確認する方法はありません。詳細については、「クラスターの作成」を参照してください。

  2. 既存の CMD クラスター設定をクラスターモード互換に変更 – このモードでは、1 つのシャードがデプロイされ、ElastiCache for Redis は単一ノードとしてだけでなく、単一シャードクラスターとしても機能します。互換モードとは、クライアントアプリケーションがどちらかのプロトコルを使用してクラスターと通信できることを意味します。このモードでは、Redis クラスタープロトコルと設定エンドポイントの使用を開始するようにアプリケーションを再設定する必要があります。Redis クラスターモードをクラスターモード互換に変更するには、以下の手順に従います。

    注記

    互換モードでは、スケーリングやエンジンバージョンなどの他の変更オペレーションはクラスターで実行できません。さらに、ModifyReplicationGroup リクエスト内でクラスターモードのパラメータを定義する場合、パラメータ (cacheParameterGroupName を除く) を変更することはできません。

    1. AWS Management Consoleを使用し、「レプリケーショングループの変更」を参照してクラスターモードを [互換] に設定します。

    2. API を使用する場合は、「ModifyReplicationGroup」を参照し、ClusterMode パラメータを [compatible] に更新します。

    3. AWS CLI を使用する場合は、「modify-replication-group」を参照し、cluster-mode パラメータを [compatible] に更新します。

    Redis クラスターモードをクラスターモード互換に変更すると、DescribeReplicationGroups API は ElastiCache for Redis クラスター設定エンドポイントを返します。クラスター設定エンドポイントは、アプリケーションがクラスターに接続するために使用できる単一のエンドポイントです。詳細については、「接続エンドポイントの検索」を参照してください。

  3. クラスター設定をクラスターモード有効に変更 – クラスターモードをクラスターモード互換に設定したら、次のステップは、クラスター設定をクラスターモード有効に変更します。このモードでは、単一つのシャードが実行され、お客様はクラスターをスケーリングしたり、他のクラスター設定を変更したりできます。

    クラスターモードを有効に変更するには、次の手順に従います。

    始める前に、Redis クライアントがクラスタープロトコルを使用するように移行していることと、およびクラスターの設定エンドポイントが使用中でないことを確認します。

    1. AWS Management Consoleを使用し、「レプリケーショングループの変更」を参照してクラスターモードを [有効] に設定します。

    2. API を使用する場合は、「ModifyReplicationGroup」を参照し、ClusterMode パラメータを [enabled] に更新します。

    3. AWS CLI を使用する場合は、「modify-replication-group」を参照し、cluster-mode パラメータを [enabled] に更新します。

    クラスターモードを有効に変更すると、エンドポイントは Redis クラスター仕様に従って設定されます。DescribeReplicationGroups API は、クラスターモードパラメータを [enabled] として返し、アプリケーションがクラスターに接続するために使用できるようになったクラスターエンドポイントを返します。

    クラスターモードを有効に変更すると、クラスターエンドポイントが変更されることに注意してください。必ず、新しいエンドポイントを使用してアプリケーションを更新してください。

また、クラスターモード互換からクラスターモード無効 (CMD) に戻して、元の設定を維持することもできます。

クラスター設定をクラスターモード互換からクラスターモード無効に変更する
  1. AWS Management Consoleを使用し、「レプリケーショングループの変更」を参照してクラスターモードを [無効] に設定します。

  2. API を使用する場合は、「ModifyReplicationGroup」を参照し、ClusterMode パラメータを [disabled] に更新します。

  3. AWS CLI を使用する場合は、「modify-replication-group」を参照し、cluster-mode パラメータを [disabled] に更新します。

クラスターモードを無効に変更すると、DescribeReplicationGroups API はクラスターモードのパラメータを [disabled] として返します。