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 クラスター

クラスターは、1 つ以上のノード の論理グループです。データは、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 は、各 AWS クラスターに 1~60 ノードを持つリージョンごとに、顧客ごとに最大 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、 ElastiCache (Memcached) では利用できません。

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

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

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インスタンスからクラスターアクセスを許可できます。

は、ノードアクセスの制限に加えて、 の指定されたバージョンを実行しているノードの暗号化 ElastiCache をサポートしTLS、インプレース暗号化をサポートしています 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 イベントの詳細については、「」を参照してください ElastiCache イベントの Amazon SNSモニタリング