ElastiCache でシャードを使用する - Amazon ElastiCache

ElastiCache でシャードを使用する

シャード (API/CLI: ノードグループ) は、1~6 個の Valkey と Redis OSS に対応した ElastiCache ノードで構成されるコレクションです。Valkey または Redis OSS (クラスターモードが無効) クラスターが、複数のシャードを持つことはありません。シャードを使用すると、大きなデータベースをデータシャードと呼ばれる、より小さく、高速の、より簡単に管理できる部分に分割できます。これにより、複数の別々のセクションにオペレーションを分散することで、データベースの効率を高めることができます。シャードを使用すると、パフォーマンス、スケーラビリティ、コスト効率の向上など、多くの利点が得られます。

シャードの数が多くレプリカの数が少ないクラスターを作成できます。クラスターあたり最大 90 ノードです。このクラスター設定は、シャード 90 個およびレプリカ 0 個からシャード 15 個およびレプリカ 5 個 (許容されるレプリカの最大数) までです。クラスターのデータは、クラスターのシャード間で分割されます。シャードに複数のノードがある場合、1 つを読み書きのプライマリノード、その他を読み取り専用のレプリカノードとするレプリケーションが実装されます。

エンジンバージョンが Valkey 7.2 以降、または Redis OSS 5.0.6 から 7.1 の場合、ノードまたはシャードの制限は、クラスターごとに最大 500 個まで増やすことができます。例えば、83 個のシャード (シャードごとに 1 つのプライマリと 5 レプリカ) と 500 個のシャード (プライマリのみでレプリカなし) の範囲で、500 個のノードクラスターを設定できます。増加に対応できる十分な IP アドレスがあることを確認してください。一般的な落とし穴として、サブネットグループ内のサブネットの CIDR 範囲が小さすぎる、またはサブネットが他のクラスターで共有され、頻繁に使用されていることが挙げられます。詳細については、「サブネットグループの作成」を参照してください。

5.0.6 未満のバージョンの場合、クラスターあたりの制限は 250 個です。

この制限の拡大をリクエストするには、「AWS のサービスの制限」を参照し、制限タイプとして [Nodes per cluster per instance type (インスタンスタイプごとのクラスターあたりのノード)] を選択します。

ElastiCache コンソールを使用して Valkey または Redis OSS (クラスターモード有効) クラスターを作成する際は、クラスター内のシャード数とシャード内のノード数を指定します。詳細については、「Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)」を参照してください。ElastiCache API または AWS CLI を使用してクラスター (API/CLI ではレプリケーショングループ) を作成する場合は、シャード内のノード (API/CLI: ノードグループ) の数を個別に設定できます。詳細については次を参照してください:

  • API: CreateReplicationGroup

  • CLI: create-replication-group

シャード内の各ノードのコンピューティング、ストレージ、メモリの仕様は同じです。ElastiCache API を使用すると、ノード数、セキュリティ設定、システムメンテナンス時間など、シャード全体の属性を制御できます。

イメージ: Valkey または Redis OSS のシャード設定。

Valkey または Redis OSS のシャード設定

詳細については、「Valkey または Redis OSS (クラスターモードが有効) のオフラインリシャーディング」および「Valkey または Redis OSS (クラスターモードが有効) のオンラインリシャーディング」を参照してください。

シャードの ID を見つける

AWS マネジメントコンソール、AWS CLI または ElastiCache API を使用して、シャードの ID を見つけることができます。

の使用AWS マネジメントコンソール

Valkey または Redis OSS (クラスターモードが無効) の場合

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのシャード ID は、常に 0001 です。

Valkey または Redis OSS (クラスターモードが有効) の場合

次の手順では、AWS マネジメントコンソール を使用して、Valkey または Redis OSS (クラスターモードが有効) のレプリケーショングループのシャード ID を見つけます。

Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループ内のシャード ID を見つけるには
  1. AWS マネジメントコンソール にサインインして、ElastiCache コンソール (https://console.aws.amazon.com/elasticache/) を開きます。

  2. ナビゲーションペインで、[Valkey] または [Redis OSS] を選択し、シャード ID を見つけたい Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの名前を選択します。

  3. [Shard Name (シャード名)] 列で、シャード ID はシャード名の末尾 4 桁の数字です。

の使用AWS CLI

Valkey または Redis OSS (クラスターモードが無効) または Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループのシャード (ノードグループ) ID を見つけるには、次のオプションのパラメータを指定した AWS CLI オペレーション describe-replication-groups を使用します。

  • --replication-group-id—指定されたレプリケーショングループの詳細への出力を制限するときに使用するオプションのパラメータ。このパラメータを省略すると、最大 100 個のレプリケーショングループの詳細が返されます。

このコマンドは、sample-repl-group の詳細を返します。

Linux、macOS、Unix の場合:

aws elasticache describe-replication-groups \ --replication-group-id sample-repl-group

Windows の場合:

aws elasticache describe-replication-groups ^ --replication-group-id sample-repl-group

このコマンドによる出力は次のようになります。シャード (ノードグループ) ID は、見つけやすいようにハイライト表示されます。

{ "ReplicationGroups": [ { "Status": "available", "Description": "2 shards, 2 nodes (1 + 1 replica)", "NodeGroups": [ { "Status": "available", "Slots": "0-8191", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0001-001" }, { "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0001-002" } ] }, { "Status": "available", "Slots": "8192-16383", "NodeGroupId": "0002", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0002-001" }, { "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0002-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "sample-repl-group.9dcv5r.clustercfg.usw2.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "sample-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "13:00-14:00", "MemberClusters": [ "sample-repl-group-0001-001", "sample-repl-group-0001-002", "sample-repl-group-0002-001", "sample-repl-group-0002-002" ], "CacheNodeType": "cache.m3.medium", "DataTiering": "disabled", "PendingModifiedValues": {} } ] }

Valkey または Redis OSS (クラスターモードが無効) または Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループのシャード (ノードグループ) ID を見つけるには、次のオプションのパラメータを指定した AWS CLI オペレーション describe-replication-groups を使用します。

  • ReplicationGroupId—指定されたレプリケーショングループの詳細への出力を制限するときに使用するオプションのパラメータ。このパラメータを省略すると、最大 xxx 個のレプリケーショングループの詳細が返されます。

このコマンドは、sample-repl-group の詳細を返します。

Linux、macOS、Unix の場合:

https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroup &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>