

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

# ElastiCache のコンポーネントと機能
<a name="WhatIs.Components"></a>

ここでは、Amazon ElastiCache のデプロイの主なコンポーネントの概要を確認できます。

**Topics**
+ [ElastiCache のノード](#WhatIs.Components.Nodes)
+ [ElastiCache シャード](#WhatIs.Components.Shards)
+ [ElastiCache クラスター](#WhatIs.Components.Clusters)
+ [ElastiCache レプリケーション](#WhatIs.Components.ReplicationGroups)
+ [ElastiCache エンドポイント](#WhatIs.Components.Endpoints)
+ [ElastiCache パラメータグループ](#WhatIs.Components.ParameterGroups)
+ [ElastiCache のセキュリティ](#WhatIs.Components.Security)
+ [ElastiCache サブネットグループ](#WhatIs.Components.SubnetGroups)
+ [ElastiCache バックアップ](#WhatIs.Components.Snapshots)
+ [ElastiCache イベント](#WhatIs.Components.Events)

## ElastiCache のノード
<a name="WhatIs.Components.Nodes"></a>

*ノード*とは、ElastiCache のデプロイにおける最小の構成要素です。ノードは他のノードから分離するか、一定の関係を設定できます。

ノードは、安全なネットワークに接続された RAM の固定サイズの断片です。各ノードは、クラスター作成時に選択したエンジンとバージョンのインスタンスを実行します。必要に応じて、異なるインスタンスタイプにノードのクラスターを拡大または縮小できます。詳細については、「[ElastiCache のスケーリング](Scaling.md)」を参照してください。

クラスター内の各ノードは同じインスタンスタイプで、同じキャッシュエンジンを実行します。各キャッシュノードはそれぞれ Domain Name Service (DNS) 名とポートを持っています。それぞれ関連付けられている異なるメモリ量で、複数のタイプのキャッシュノードがサポートされています。サポートされるインスタンスタイプノードのリストについては、「[サポートされているノードの種類](CacheNodes.SupportedTypes.md)」を参照してください。

使用したノードの分だけを支払う、従量課金制でノードを購入することができます。または、大幅な割引が適用される時間単価制でリザーブドノードを購入することもできます。使用率が高い場合は、リザーブドノードを購入するほうがコストを削減できます。クラスターを常に使用しており、急激な使用率の増加には一時的にノードを追加して対処しているとします。この場合、多くのリザーブドノードを購入して、ほとんど常時実行できます。一時的にノードを追加する必要がある場合は、従量課金制ノードを購入できます。リザーブドノードの詳細については、「[リザーブドノード](CacheNodes.Reserved.md)」を参照してください。

ノードの詳細については、「[ElastiCache でのノードの管理](CacheNodes.md)」を参照してください。

## ElastiCache シャード
<a name="WhatIs.Components.Shards"></a>

Valkey または Redis OSS *シャード* (API および CLI では*ノードグループ*と呼ばれる) は、1～6 個の関連ノードのグループです。Valkey または Redis OSS クラスター (クラスターモードが有効) には、常に少なくとも 1 つのシャードがあります。

シャーディングは、大規模なデータベースをデータシャードと呼ばれる、より速く、より簡単に管理できるより小さい部分に分割するデータベースのパーティショニング方法です。これにより、複数の別々のセクションにオペレーションを分散することで、データベースの効率を高めることができます。シャードを使用すると、パフォーマンス、スケーラビリティ、コスト効率の向上など、多くの利点が得られます。

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

この制限の拡大をリクエストするには、「[AWSのサービスの制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照し、制限タイプとして [**Nodes per cluster per instance type (インスタンスタイプごとのクラスターあたりのノード)**] を選択します。

[*複数ノードシャード*] では、1 つの読み書き可能プライマリノードと 1～5 個のレプリカノードを含めることで、レプリケーションを実装します。詳細については、「[レプリケーショングループを使用する高可用性](Replication.md)」を参照してください。

シャードの詳細については、「[ElastiCache でシャードを使用する](Shards.md)」を参照してください。

## ElastiCache クラスター
<a name="WhatIs.Components.Clusters"></a>

*クラスター* は、単一または複数の[ノード](CacheNodes.md)の論理グループです。データは、Memcached クラスター内のノード間で、およびクラスターモードが有効な Valkey または Redis OSS クラスター内のシャード間で分割されます。

クラスターを対象とした多くの ElastiCache オペレーションがあります。
+ クラスターの作成
+ クラスターの変更
+ クラスター (Redis のすべてのバージョン) のスナップショットを作成する
+ クラスターの削除
+ クラスターのエレメントの表示
+ クラスター間で送受信されるコスト配分タグの追加または削除

詳細については、次の関連トピックを参照してください。
+ [ElastiCache でのクラスターの管理](Clusters.md) および [ElastiCache でのノードの管理](CacheNodes.md)

  クラスター、ノードおよび関連オペレーションに関する情報。
+ [AWSサービスの制限: Amazon ElastiCache](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_elasticache)

  ノードまたはクラスターの最大数など、ElastiCache の制限についての情報。これらの上限を超えるには、[Amazon ElastiCache キャッシュノードリクエストフォーム](https://aws.amazon.com/contact-us/elasticache-node-limit-request/)を使用して上限の引き上げをリクエストできます。
+ [障害の軽減](disaster-recovery-resiliency.md#FaultTolerance)

  クラスターと、Valkey または Redis OSS レプリケーショングループの耐障害性向上に関する情報。

### 一般的なクラスターの設定
<a name="WhatIs.Components.Clusters.TypicalConfigurations"></a>

以下は一般的なクラスターの構成です。

#### Valkey または Redis OSS クラスター
<a name="WhatIs.Components.Clusters.TypicalConfigurations.Redis"></a>

 Valkey または Redis OSS クラスター (クラスターモードが無効) には、常に 1 個のシャード (API および CLI では 1 つのノードグループ) のみが含まれます。Valkey または Redis OSS シャードには、1～6 個のノードが含まれます。シャードに複数のノードがある場合、シャードはレプリケーションをサポートします。この場合、1 つのノードは読み取り/書き込みプライマリノードであり、他のノードは読み取り専用レプリカノードです。

耐障害性を高めるために、Valkey または Redis OSS クラスターに 2 つ以上のノードを含め、マルチ AZ を有効にすることをお勧めします。詳細については、「[障害の軽減](disaster-recovery-resiliency.md#FaultTolerance)」を参照してください。

Valkey または Redis OSS クラスターの需要の変化に応じて、スケールアップまたはスケールダウンできます。そのためには、クラスターを別のノードインスタンスタイプに移動します。読み取り負荷の高いアプリケーションの場合、読み取り専用レプリカをクラスターに追加することをお勧めします。これにより、読み取りをより適切な数のノードに分散させることができます。

データ階層化を使用することもできます。アクセス頻度の高いデータはメモリに保存され、アクセス頻度の低いデータはディスクに保存されます。データ階層化を使用する上での利点は、必要なメモリ容量を削減できることです。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。

ElastiCache では、Valkey または Redis OSS クラスターのより大きいノードタイプへの動的な変更がサポートされています。スケールアップ/ダウンの詳細については、「[Valkey または Redis OSS (クラスターモードが無効) クラスターのスケーリング](scaling-redis-classic.md#Scaling.RedisStandalone)」または「[Valkey または Redis OSS (クラスターモードが無効) のレプリカノードのスケーリング](Scaling.RedisReplGrps.md)」を参照してください。

#### Memcached の一般的なクラスターの設定
<a name="WhatIs.Components.Clusters.TypicalConfigurations"></a>

Memcached は、各クラスターに 1～60 個のノードがあるAWSリージョンごとに、お客様あたり最大 300 個のノードをサポートします。Memcached クラスターのノードにデータを分割することができます。

Memcached エンジンを実行している場合、クラスターは 1～60 個のノードを持つことができます。データベースをノード間で分割できます。アプリケーションによって各ノードのエンドポイントに対して読み書きされます。詳細については、「[自動検出](AutoDiscovery.md)」を参照してください。

耐障害性を向上させるには、クラスターのAWSリージョン内のさまざまなアベイラビリティーゾーン (AZs) に Memcached ノードを見つけます。この方法により、1 つのアベイラビリティーゾーンで発生した障害がクラスター全体とアプリケーションに与える影響を最小限にできます。詳細については、「[障害の軽減](disaster-recovery-resiliency.md#FaultTolerance)」を参照してください。

Memcached クラスターの需要の変化に合わせて、ノードの追加や削除で規模を拡大したり縮小したりできます。また、新しいノードにまたがってデータを再分割できます。データを分割するときは、整合性のあるハッシュを使用することをお勧めします。整合性のあるハッシュの詳細については、「[効率的な負荷分散のための ElastiCache クライアントの設定 (Memcached)](BestPractices.LoadBalancing.md)」を参照してください。

## ElastiCache レプリケーション
<a name="WhatIs.Components.ReplicationGroups"></a>

Valkey および Redis OSS では、レプリケーションは、2～6 個のノードを 1 つのシャード (API と CLI ではノードグループと呼ばれる) にまとめることで実装されます。これらのノードの 1 つは読み書き可能プライマリノードです。他のすべてのノードは読み取り専用レプリカノードです。レプリケーションは、ElastiCache for Valkey と ElastiCache for Redis OSS でのみ使用でき、ElastiCache for Memcached では使用できません。

各レプリカノードは、プライマリノードからのデータのコピーを維持します。レプリカノードは、非同期レプリケーションメカニズムを使用して、プライマリノードとの同期を維持します。アプリケーションは、クラスターのどのノードからでも読み込みことができますが、書き込むことができるのはプライマリノードのみになります。リードレプリカは、読み取りを複数のエンドポイントに分散させることで拡張できます。リードレプリカは、データの複数のコピーを維持することで、耐障害性が向上します。複数のアベイラビリティーゾーンにリードレプリカを配置することで、耐障害性が向上します。耐障害性の詳細については、「[障害の軽減](disaster-recovery-resiliency.md#FaultTolerance)」を参照してください。

 Valkey または Redis OSS クラスターでは、1 個のシャード (API と CLI では、*ノードグループ*と呼ばれる) をサポートします。

API と CLI の観点からのレプリケーションでは、以前のバージョンとの互換性を維持するために異なる用語を使用していますが、結果は同じです。以下の表では、レプリケーションの実装に関する API および CLI の用語を示しています。

**レプリケーションの比較: Valkey または Redis OSS (クラスターモードが無効) および Valkey または Redis OSS (クラスターモードが有効)--> クラスターモードが有効の Valkey または Redis OSS クラスターとクラスターモードが無効の Valkey または Redis OSS クラスターの比較**

次の表では、Valkey または Redis OSS (クラスターモードが無効) と Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの各機能の比較を示しています。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/WhatIs.Components.html)

すべてのシャード (API と CLI ではノードグループ) とノードは同じAWSリージョンに存在する必要があります。ただし、個々のノードは、そのAWSリージョン内の複数のアベイラビリティーゾーンにプロビジョニングできます。

リードレプリカは、データが 2 つ以上のノード (プライマリと 1 つ以上のリードレプリカ) でレプリケートされるため、潜在的なデータ損失から保護します。信頼性を高め、より迅速な復旧を可能にするには、異なるアベイラビリティーゾーンに 1 つ以上のリードレプリカを作成することをお勧めします。

グローバルデータストアを利用することもできます。Global Datastore for Redis OSS 機能を使用すると、AWSリージョン間でフルマネージド、高速、信頼性が高く、安全なレプリケーションを操作できます。この機能を使用すると、ElastiCache のクロスリージョンリードレプリカクラスターを作成して、AWSリージョン間で低レイテンシーの読み取りとディザスタリカバリを有効にできます。詳細については、[「グローバルデータストアを使用したAWSリージョン間のレプリケーション](Redis-Global-Datastore.md)」を参照してください。

**レプリケーション: 制限と例外**
+ マルチ AZ は、T1 ノードタイプではサポートされません。

## ElastiCache エンドポイント
<a name="WhatIs.Components.Endpoints"></a>

*エンドポイント*は、アプリケーションが ElastiCache ノードまたはクラスターに接続するのに使用する一意のアドレスです。

### Valkey または Redis OSS クラスター (クラスターモードが無効) の単一ノードエンドポイント
<a name="WhatIs.Components.Endpoints.Redis"></a>

単一ノードの Valkey または Redis OSS クラスターのエンドポイントは、読み取りおよび書き込みのためにクラスターに接続するのに使用されます。

### Valkey または Redis OSS クラスター (クラスターモードが無効) のマルチノードエンドポイント
<a name="WhatIs.Components.Endpoints.Redis.Multi"></a>

マルチノードの Valkey または Redis OSS クラスター (クラスターモードが無効) には、2 種類のエンドポイントがあります。プライマリエンドポイントは常に、プライマリロールで特定のノードが変わっても、クラスター内のプライマリノードに接続します。クラスターへのすべての書き込みには、プライマリエンドポイントを使用します。

読み込みエンドポイントを使用して、すべてのリードレプリカ間でエンドポイントへの着信接続を均等に分割します。個々のノードエンドポイント (API/CLI ではリードエンドポイント) を読み取りオペレーションに使用します。

### Valkey または Redis OSS (クラスターモードが有効) エンドポイント
<a name="WhatIs.Components.Endpoints.Redis.Cluster"></a>

Valkey または Redis OSS (クラスターモードが有効) クラスターには、単一の設定エンドポイントがあります。設定エンドポイントに接続することで、アプリケーションはクラスター内のシャードごとにプライマリおよびリードエンドポイントを検出できます。

詳細については、「[ElastiCache での接続エンドポイントの検索](Endpoints.md)」を参照してください。

### ElastiCache for Memcached のエンドポイント
<a name="WhatIs.Components.Endpoints.Memcached"></a>

Memcached クラスターの各ノードには、独自のエンドポイントがあります。クラスターには、*設定エンドポイント*と呼ばれるエンドポイントもあります。自動検出を有効にして設定エンドポイントに接続した場合、クラスターからノードの追加や削除を行った後であっても、アプリケーションは自動的に各ノードエンドポイントを*検出*します。詳細については、「[自動検出](AutoDiscovery.md)」を参照してください。

詳細については、「[ElastiCache での接続エンドポイントの検索](Endpoints.md)」を参照してください。

## ElastiCache パラメータグループ
<a name="WhatIs.Components.ParameterGroups"></a>

キャッシュパラメータグループは、サポートされるエンジンソフトウェアのランタイム設定を管理する簡単な方法です。パラメーターは、メモリの使用状況、削除のポリシー、項目サイズなどを制御するために使用されます。ElastiCache パラメータグループはクラスターに適用可能なエンジン固有パラメータの名前付きコレクションです。これにより、そのクラスター内のすべてのノードがまったく同じ方法で設定されていることを確認します。

サポートされているパラメータのリスト、デフォルト値、変更可能なパラメーターについては、「[DescribeEngineDefaultParameters](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEngineDefaultParameters.html)」(CLI: [describe-engine-default-parameters](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-engine-default-parameters.html)) を参照してください。

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

## ElastiCache のセキュリティ
<a name="WhatIs.Components.Security"></a>

セキュリティを強化するために、ElastiCache ノードへのアクセスは、許可した Amazon EC2 インスタンスで実行されているアプリケーションに制限されます。セキュリティグループを使用して、クラスターへのアクセスが許可される Amazon EC2 インスタンスを制御できます。

デフォルトでは、すべての新しい ElastiCache クラスターは、Amazon Virtual Private Cloud (Amazon VPC) 環境で起動します。*サブネットグループ*を使用して、特定のサブネットで実行されている Amazon EC2 インスタンスからのクラスターアクセスを許可できます。

ノードへのアクセスの制限に加えて、ElastiCache は、指定されたバージョンの ElastiCache を実行しているノードに対する TLS とインプレース暗号化をサポートします。詳細については次を参照してください:
+ [Amazon ElastiCache のデータセキュリティ](encryption.md)
+ [Valkey および Redis OSS AUTH コマンドによる認証](auth.md)

## ElastiCache サブネットグループ
<a name="WhatIs.Components.SubnetGroups"></a>

*サブネットグループ*は、Amazon VPC 環境で実行しているクラスターに対して指定できるサブネット (通常はプライベート) の集合です。

Amazon VPC でクラスターを作成する場合は、キャッシュサブネットグループを指定する必要があります。ElastiCache はそのキャッシュサブネットグループを使用して、そのサブネット内でノードに関連付けるサブネットおよび IP アドレスを選択します。

Amazon VPC 環境でのキャッシュサブネットグループの使用方法の詳細については、以下を参照してください。
+ [Amazon VPC と ElastiCache のセキュリティ](VPCs.md)
+ [ステップ 3. クラスターへのアクセスを許可する](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.AuthorizeAccess.valkey)
+ [サブネットおよびサブネットグループ](SubnetGroups.md)

## ElastiCache バックアップ
<a name="WhatIs.Components.Snapshots"></a>

*バックアップ*は、Valkey または Redis OSS クラスター、サーバーレスキャッシュ、または Memcached サーバーレスキャッシュのポイントインタイムコピーです。バックアップは、既存のクラスターを復元するか、または新しいクラスターをシードするのに使用できます。バックアップは、クラスターのすべてのデータといくつかのメタデータで構成されます。

クラスターで実行されている Valkey または Redis OSS のバージョンによって、バックアッププロセスが成功するためには、異なる予約メモリの量が必要になります。詳細については次を参照してください: 
+ [スナップショットおよび復元](backups.md)
+ [同期とバックアップの実装方法](Replication.Redis.Versions.md)
+ [ノードベースのクラスターのバックアップがパフォーマンスに与える影響](backups.md#backups-performance)
+ [Valkey または Redis OSS スナップショットを作成するのに十分なメモリがあることを確認する](BestPractices.BGSAVE.md)

## ElastiCache イベント
<a name="WhatIs.Components.Events"></a>

重要なイベントがクラスターで発生すると、ElastiCache から特定の Amazon SNS トピックに通知が送信されます。これらのイベントとしては、ノードの追加の失敗や成功、セキュリティグループの変更などがあります。主要イベントをモニタリングすることで、クラスターの現在の状態を知り、多くの場合、修正作業を行うことができます。

ElastiCache イベントの詳細については、「[Amazon SNS による ElastiCache イベントのモニタリング](ECEvents.md)」を参照してください。