ElastiCache のコンポーネントと機能 - Amazon ElastiCache

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

ElastiCache のコンポーネントと機能

Amazon ElastiCache デプロイの主なコンポーネントの概要を以下に示します。

ElastiCache ノード

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

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

クラスター内の各ノードは同じインスタンスタイプで、同じキャッシュエンジンを実行します。各キャッシュノードには、独自のドメインネームサービス (DNS) 名とポートがあります。それぞれ関連付けられている異なるメモリ量で、複数のタイプのキャッシュノードがサポートされています。サポートされるインスタンスタイプノードのリストについては、「サポートされているノードの種類」を参照してください。

ノードは、ノードの使用に対してのみ支払うベースで pay-as-you-go購入できます。または、大幅な割引が適用される時間単価制でリザーブドノードを購入することもできます。使用率が高い場合は、リザーブドノードを購入するほうがコストを削減できます。クラスターを常に使用しており、急激な使用率の増加には一時的にノードを追加して対処しているとします。この場合、多くのリザーブドノードを購入して、ほとんど常時実行できます。その後、ノードを追加する必要がある時間帯のノードを購入 pay-as-you-goできます。リザーブドノードの詳細については、「リザーブドノード」を参照してください。

ノードの詳細については、「ElastiCache でのノードの管理」を参照してください。

ElastiCache シャード

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の範囲が小さすぎる、またはサブネットが共有され、他のクラスターによって頻繁に使用されるなどがあります。詳細については、「サブネットグループの作成」を参照してください。5.0.6 未満のバージョンの場合、クラスターあたりの制限は 250 個です。

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

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

シャードの詳細については、「でのシャードの使用 ElastiCache」を参照してください。

ElastiCache クラスター

クラスター は、単一または複数のノードの論理グループです。データは、Memcached クラスター内のノード間、およびクラスターモードが有効になっている Valkey または Redis OSSクラスター内のシャード間でパーティション化されます。

多くの ElastiCache オペレーションはクラスターを対象としています。

  • クラスターの作成

  • クラスターの変更

  • クラスター (Redis のすべてのバージョン) のスナップショットを作成する

  • クラスターの削除

  • クラスターのエレメントの表示

  • クラスター間で送受信されるコスト配分タグの追加または削除

詳細については、次の関連トピックを参照してください。

一般的なクラスターの設定

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

Valkey または Redis OSSクラスター

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

耐障害性を向上させるには、Valkey または Redis OSSクラスターに少なくとも 2 つのノードを配置し、マルチ AZ を有効にすることをお勧めします。詳細については、「障害の軽減」を参照してください。

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

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

ElastiCache は、Valkey または Redis OSSクラスターのノードタイプをより大きなノードタイプに動的に変更することをサポートしています。スケールアップ/ダウンの詳細については、「Valkey または Redis OSS (クラスターモードが無効) の単一ノードクラスターのスケーリング」または「Valkey または Redis OSS (クラスターモードが無効) のレプリカノードのスケーリング」を参照してください。

Memcached の一般的なクラスターの設定

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

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

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

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

ElastiCache レプリケーション

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

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

Valkey または Redis OSSクラスターは、1 つのシャード (ノードグループと呼ばれる CLIAPIおよび 内) をサポートします。

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

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

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

OSS クラスターモードが無効になっている Valkey または Redis クラスター OSS クラスターモードが有効になっている Valkey または Redis クラスター
シャード (ノードグループ) 1 1〜500  
各シャードあたりのレプリカ数 (ノードグループ) 0~5 0~5
データのパーティション化 いいえ あり
レプリカの追加/削除 はい あり
ノードグループの追加/削除 いいえ あり
サポートの拡大 はい あり
エンジンアップグレードのサポート はい あり
レプリカをプライマリに昇格 あり 自動
マルチ AZ オプションです。 必須
バックアップ/復元 はい あり
注意:
どのプライマリにもレプリカがなく、プライマリに障害が発生した場合、そのプライマリのデータがすべて失われます。
バックアップと復元を使用して、Valkey または Redis OSS (クラスターモードが有効) に移行できます。
バックアップと復元を使用して、Valkey または Redis OSS (クラスターモードが有効) クラスターのサイズを変更できます。

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

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

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

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

ElastiCache エンドポイント

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

クラスターモードが無効OSSになっている Valkey または Redis の単一ノードエンドポイント

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

クラスターモードが無効OSSになっている Valkey または Redis のマルチノードエンドポイント

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

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

Valkey または Redis OSS (クラスターモードが有効) エンドポイント

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

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

ElastiCache Memcached エンドポイントの

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

詳細については、「 エンドポイント」を参照してください。

ElastiCache パラメータグループ

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

サポートされているパラメータ、デフォルト値、および変更可能なパラメータのリストについては、「」を参照してください。DescribeEngineDefaultParameters (CLI: describe-engine-default-parameters).

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

ElastiCache セキュリティ

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

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

は、ノードアクセスの制限に加えて、指定されたバージョンの を実行しているノードの TLSおよびインプレース暗号化 ElastiCache をサポートします ElastiCache。詳細については、次を参照してください。

ElastiCache サブネットグループ

サブネットグループは、Amazon VPC環境で実行されているクラスターに指定できるサブネット (通常はプライベート) のコレクションです。

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

Amazon VPC環境でのキャッシュサブネットグループの使用状況の詳細については、以下を参照してください。

ElastiCache バックアップ

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

クラスターでOSS実行されている Valkey または Redis のバージョンに応じて、バックアッププロセスを成功させるにはさまざまな予約メモリが必要です。詳細については、次を参照してください。

ElastiCache イベント

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

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