メニュー
Amazon ElastiCache
ユーザーガイド (API Version 2015-02-02)

クラスターへのノードの追加

クラスターへのノードの追加は、現時点では Memcached または Redis (クラスターモードが無効) を実行している場合に限り適用されます。Redis (クラスターモードが無効) を実行している場合、クラスターに追加できるノードはレプリカノードです。

ElastiCache マネジメントコンソール、AWS CLI、または ElastiCache API を使用してクラスターにノードを追加できます。

Memcached クラスターのノードの数を変更するたびに、正しいノードにマップできるようにキースペースの一部を再マッピングする必要があります。Memcached クラスターの負荷分散の詳細については、「効率的な負荷分散のための ElastiCache クライアントの設定」を参照してください。

クラスターへのノードの追加 (コンソール)

Memcached またはレプリケーションが有効な Redis (クラスターモードが無効) クラスターにノードを追加するプロセスは同じです。単一ノード Redis (クラスターモードが無効) クラスター (レプリケーションが有効でないクラスター) にノードを追加する場合は、2 ステッププロセスとなり、最初のステップでレプリケーションを追加し、次のステップでレプリカノードを追加します。

次の手順では、レプリケーションが有効でない単一ノード Redis にレプリケーションを追加します。レプリケーションを追加すると、既存のノードはレプリケーションが有効なクラスターのプライマリノードになります。レプリケーションの追加後に、最大 5 個のレプリカノードをクラスターに追加できます。

シャードがない Redis クラスターにレプリケーションを追加するには

  1. AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。

  2. 左のナビゲーションペインから、[Redis] を選択します。

    Redis エンジンを実行しているクラスターが一覧表示されます。

  3. 追加するクラスターの名前を指定します。

    レプリケーションが有効でない Redis クラスターは以下に該当します。

  4. [Add replication] を選択します。

  5. [Add Replication] で、このレプリケーションが有効なクラスターの説明を入力します。

  6. [Add] を選択します。

    クラスターのステータスが [available] になり次第、次の手順に進んでクラスターにレプリカを追加できます。

Memcached または 1 つのシャードを持つ Redis (クラスターモードが無効) クラスターにノードを追加するには (console)

次の手順を使用して Memcached クラスターまたはレプリケーションが有効な Redis (クラスターモードが無効) クラスターにノードを追加できます。現時点では、Redis (クラスターモードが有効) クラスターに対してノードを追加または削除することはできません。

  1. AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。

  2. 左のナビゲーションペインで、[Memcached] または [Redis] を選択します。

    選択したエンジンを実行しているクラスターが一覧表示されます。

  3. クラスターの一覧から、ノードを追加するクラスターの名前を選択します。Clustered Redis エンジンを実行しているクラスターや、シャードがない Redis クラスターを選択することはできません。

    クラスターのノードが一覧表示されて、[Add node] ボタンがアクティブになります。

  4. ページの上部の [Add node] を選択します。

  5. [Add Node] で、[Add Node] (Memcached) ダイアログボックスまたは [Add Read Replica to Cluster] (Redis) ダイアログボックスに必要な情報を入力します。

  6. この変更を直ちに適用する場合は [Apply Immediately - Yes] ボタンを選択します。次のメンテナンス期間まで変更を延期する場合は [No] を選択します。

    保留中のリクエストに対する新しい送信/削除リクエストの影響

    シナリオ 保留中の操作 新しいリクエスト 戻り値

    シナリオ 1

    Delete

    Delete

    新しい削除リクエストは、保留中か即時かを問わず、保留中の削除リクエストを置き換えます。

    たとえば、ノード 0001、0003、および 0007 の削除が保留中の場合に、ノード 0002 および 0004 のみを削除する新しいリクエストが出されると、ノード 0002 および 0004 のみが削除されます。ノード 0001、0003、および 0007 は削除されません。

    シナリオ 2

    Delete

    作成

    新しい作成リクエストは、保留中か即時かを問わず、保留中の削除リクエストを置き換えます。

    たとえば、ノード 0001、0003、および 0007 の削除が保留中の場合に、ノードを作成する新しいリクエストが出されると、新しいノードが作成され、ノード 0001、0003、および 0007 は削除されません。

    シナリオ 3

    作成

    Delete

    新しい削除リクエストは、保留中か即時かを問わず、保留中の作成リクエストを置き換えます。

    たとえば、2 つのノードを作成する保留中のリクエストがある場合に、ノード 0003 を削除する新しいリクエストが出されると、新しいノードは作成されず、ノード 0003 が削除されます。

    シナリオ 4

    作成

    作成

    新しい作成リクエストは保留中の作成リクエストに追加されます。

    たとえば、2 つのノードを作成する保留中のリクエストがある場合に、3 つのノードを作成する新しいリクエストが出されると、保留中のリクエストに新しいリクエスト追加され、5 つのノードが作成されます。

    重要

    新しい作成リクエストを [Apply Immediately - Yes] に設定すると、すべての作成リクエストはすぐに実行されます。新しい作成リクエストを [Apply Immediately - No] に設定すると、すべてのリクエストは保留中になります。

    保留中の操作を特定するには、[Description] タブを選択し、表示される保留中の作成または削除の数を確認します。保留中の作成と削除が同時に存在することはできません。

     イメージ: [Cluster description] タブ
  7. [Add] ボタンを選択します。

    しばらくすると、新しいノードが一覧表示され、ステータス [creating] になります。表示されない場合は、ブラウザのページを更新します。

キャッシュクラスターへのノードの追加 (AWS CLI)

レプリケーションが有効でない既存の Redis (クラスターモードが無効) レプリケーショングループ (コンソール: クラスター) にノードを追加する場合は、最初にレプリケーショングループを作成して既存のクラスターをプライマリとして指定する必要があります。詳細については、「利用可能な Redis キャッシュクラスターを使用したレプリケーショングループの作成 (AWS CLI)」を参照してください。レプリケーショングループが [available] になった後で、次のプロセスを続行できます。

AWS CLI を使用してクラスターにノードを追加するには、以下のパラメーターを指定して AWS CLI オペレーション modify-cache-cluster を使用します。

  • --cache-cluster-id ノードを追加するキャッシュクラスターの ID。

  • --num-cache-nodes --num-cache-nodes パラメーターは、この変更を適用した後に必要となるノードの数を設定します。このクラスターにノードを追加しても、--num-cache-nodes はこのクラスター内の現在ノードの数よりも大きくする必要があります。この値が現在のノード数より少ない場合、ElastiCache は cache-node-ids-to-remove パラメーターと、クラスターから削除するノードの一覧を要求します。詳細については、「クラスターからのノードの削除 (AWS CLI)」を参照してください。

  • --apply-immediately または --no-apply-immediately は、次のメンテナンス時にこれらのノードを追加するかどうかを指定します。

Linux, macOS, or Unix 用:

Copy
aws elasticache modify-cache-cluster \ --cache-cluster-id my-cache-cluster \ --num-cache-nodes 5 \ --apply-immediately

Windows の場合:

Copy
aws elasticache modify-cache-cluster ^ --cache-cluster-id my-cache-cluster ^ --num-cache-nodes 5 ^ --apply-immediately

このオペレーションでは、以下のような (JSON 形式の) 出力が生成されます。

Copy
{ "CacheCluster": { "Engine": "memcached", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "my-cache-cluster", "PreferredAvailabilityZone": "us-west-2b", "ConfigurationEndpoint": { "Port": 11211, "Address": "rlh-mem000.7alc7bf-example.cfg.usw2.cache.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-09-21T16:28:28.973Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "modifying", "NumCacheNodes": 2, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": { "NumCacheNodes": 5 }, "PreferredMaintenanceWindow": "sat:09:00-sat:10:00", "CacheNodeType": "cache.m3.medium" } }

詳細については、AWS CLI のトピック「modify-cache-cluster」を参照してください。

キャッシュクラスターへのノードの追加 (ElastiCache API)

レプリケーションが有効でない既存の Redis (クラスターモードが無効) レプリケーショングループ (コンソール: クラスター) にノードを追加する場合は、最初にレプリケーショングループを作成して既存のクラスターをプライマリとして指定する必要があります。詳細については、「スタンドアロン Redis (クラスターモードが無効) クラスタにレプリカを追加する (ElastiCache API)」を参照してください。レプリケーショングループが [available] になった後で、次のプロセスを続行できます。

ノードをクラスターに追加するには (ElastiCache API)

  • 以下のパラメーターを指定して ModifyCacheCluster API オペレーションを呼び出します。

    • CacheClusterId ノードを追加するクラスターの ID。

    • NumCacheNodes NumCachNodes パラメーターは、この変更を適用した後に必要となるノードの数を設定します。このクラスターにノードを追加しても、NumCacheNodes はこのクラスター内の現在ノードの数よりも大きくする必要があります。この値が現在のノードの数よりより少ない場合、ElastiCache は CacheNodeIdsToRemove パラメーターとノードのリストがノードをクラスターから削除することを想定します (「クラスターからのノードの削除 (ElastiCache API)」を参照)。

    • ApplyImmediately は、次のメンテナンス時にこれらのノードを追加するかどうかを指定します。

    • Region ノードを追加するクラスターの AWS リージョンを指定します。

    次の例は、クラスターにノードを追加する呼び出しを示しています。

    Copy
    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &ApplyImmediately=true &NumCacheNodes=5 &CacheClusterId=myCacheCluster &Region=us-east-2 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

詳細については、ElastiCache API トピック「ModifyCacheCluster」を参照してください。