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

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

Redis 用 ElastiCacheコンポーネントと機能

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

ElastiCache 個のノード

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

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

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

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

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

Redis 用 ElastiCacheシャード

Redis シャード (API および CLI ではノードグループと呼ばれる) は、1 ~ 6 の関連ノードのグループです。Redis (クラスターモードが無効) クラスターには、常に 1 つのみのシャードが含まれます。

A複数ノードのシャード1 つの読み書き可能プライマリノードと 1 つの–5レプリカ・ノードです。詳細については、「レプリケーショングループを使用した高可用性」を参照してください。

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

Redis 用 ElastiCache クラスター

Redis クラスター は、単一または複数の Redis 用 ElastiCacheシャード の論理グループです。データは Redis (クラスターモードが有効) クラスター内のシャード間で分割されます。

クラスターを対象とした多くの ElastiCache オペレーションがあります。

  • クラスターの作成

  • クラスターの変更

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

  • クラスターの削除

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

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

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

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

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

Redis クラスター

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

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

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

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

Redis 用 ElastiCacheレプリケーション

ここでの説明を読み進める前に、「実装を管理するためのツール」を参照して、ElastiCache コンソールと ElastiCache API および AWS CLI との用語の違いを理解してください。

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

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

Redis (クラスターモードが無効)クラスターは、1 つのシャード (API と CLI では、ノードグループ).

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

レプリケーションの比較: Redis (クラスターモードが無効) と Redis (クラスターモードが有効)

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

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

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

リードレプリカは、データが 2 つ以上のノードでレプリケートされるため、データ損失の可能性があることを防ぎます。—プライマリレプリカと 1 つ以上のリードレプリカを接続します。信頼性を高め、より迅速な復旧を可能にするには、異なるアベイラビリティーゾーンに 1 つ以上のリードレプリカを作成することをお勧めします。さらに、Redis の AOF (Append Only File) を使用する代わりに、マルチ AZ を有効にします。マルチ AZ を有効にすると、AOF は無効になります。詳細については、「のダウンタイムの最小化Redis 用 ElastiCacheマルチ AZ による」を参照してください。

レプリケーション: 制限と除外

  • AOF は cache.t1.micro および cache.t2 のノードタイプではサポートされていません。これらのタイプのノードの場合、appendonly パラメータ値は無視されます。

  • マルチ AZ は、T1 ノードタイプではサポートされません。

AOF とマルチ AZ の詳細については、「障害の軽減」を参照してください。

AWSリージョンとアベイラビリティーゾーン

Amazon ElastiCacheは複数のAWS世界中のリージョン したがって、ビジネスの要件に合った場所で ElastiCache クラスターを起動できます。たとえば、AWSお客様の最寄り地域、または特定の法的要件を満たす。

デフォルトでは、AWSSDKAWS CLI,ElastiCacheAPI、およびElastiCacheコンソールでは、米国西部 (オレゴン)リージョン。としてElastiCache可用性を新しいAWSリージョン、これらの新しいエンドポイントAWSリージョンも利用できます。これらを HTTP リクエストで使用すると、AWSSDKAWS CLI, およびElastiCacheconsole.

EACAWSリージョンは、他のリージョンと完全に分離されるように設計されていますAWSリージョン 各リージョン内には複数のアベイラビリティーゾーンがあります。別のアベイラビリティーゾーンでノードを起動して、最大限の耐障害性を実現できます。の詳細AWSリージョンとアベイラビリティーゾーンの詳細については、「」を参照してくださいリージョンとアベイラビリティーゾーンの選択。次の図では、方法の概要を示します。AWSリージョンとアベイラビリティーゾーンは機能します。


					イメージ:AWS リージョンとアベイラビリティーゾーン

「」を参照してください。AWSでサポートされているリージョンElastiCacheとそのエンドポイントについては、」サポートされるリージョンとエンドポイント

Redis 用 ElastiCache エンドポイント

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

単一ノードのエンドポイントRedis (クラスターモードが無効)

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

のマルチノードエンドポイントRedis (クラスターモードが無効)

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

Redis (クラスターモードが無効) クラスター内のリードエンドポイントは常に、特定のノードを参照します。リードレプリカを追加または削除するたびに、アプリケーションで関連するノードエンドポイントを更新する必要があります。

Redis (クラスターモードが有効) エンドポイント

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

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

ElastiCache パラメータグループ

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

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

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

Redis 用 ElastiCache のセキュリティ

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

デフォルトでは、すべての新しい Redis 用 ElastiCache クラスターが Amazon Virtual Private Cloud (Amazon VPC) 環境で起動されます。サブネットグループを使用して、特定のサブネットで実行されている Amazon EC2 インスタンスからのクラスターアクセスを許可できます。Amazon VPC の外部でクラスターを実行することを選択した場合、セキュリティグループを作成できます。これらにより、特定の Amazon EC2 セキュリティグループ内で実行されている Amazon EC2 インスタンスを承認できます。

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

ElastiCache セキュリティグループ

注記

ElastiCache セキュリティグループは、Amazon Virtual Private Cloud (Amazon VPC) 環境で実行されていないクラスターにのみ適用されます。Amazon VPC に基づいて仮想プライベートクラウド (VPC) で ElastiCache ノードを実行する場合、Amazon VPC セキュリティグループを使用してキャッシュクラスターへのアクセスをコントロールします。これらは ElastiCache セキュリティグループとは異なります。ElastiCache と Amazon VPC の使用の詳細については、「Amazon VPCs およびElastiCacheのセキュリティ」を参照してください。

ElastiCache では、セキュリティグループを使用してクラスターへのアクセスをコントロールできます。セキュリティグループは、クラスターへのネットワークアクセスをコントロールするファイアウォールのように動作します。デフォルトでは、クラスターへのネットワークアクセスはオフになっています。アプリケーションからクラスターにアクセスできるようにするには、特定の Amazon EC2 セキュリティグループのホストからのアクセスを明示的に有効にする必要があります。進入ルールの設定後、同じルールがそのセキュリティグループに関連するすべてのクラスターに適用されます。

クラスターへのネットワークアクセスを許可するには、まずセキュリティグループを作成します。AuthorizeCacheSecurityGroupIngress API アクションまたは authorize-cache-security-group-ingress AWS CLI コマンドを使用して、目的の Amazon EC2 セキュリティグループを承認します。その結果、許可される Amazon EC2 インスタンスが指定されます。セキュリティグループをクラスターにその作成時に関連付けることができます。この操作は、ElastiCache マネジメントコンソール、ModifyCacheCluster API オペレーション、または modify-cache-cluster AWS CLI コマンドを使用して行うこともできます。

重要

IP 範囲に基づくアクセスコントロールは現在、クラスターに対して有効になっていません。クラスターのすべてのクライアントは、Amazon EC2 ネットワーク内にある必要があり、前に説明したように、セキュリティグループを使用して許可されている必要があります。

セキュリティグループの詳細については、セキュリティグループ: EC2-Classic を参照してください。

ElastiCacheサブネットグループ

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

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

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

Redis 用 ElastiCacheバックアップ

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

クラスターで実行されている Redis のバージョンによって、バックアッププロセスが成功するためには、異なる予約メモリの量が必要になります。詳細については、以下を参照してください。

ElastiCache のイベント

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

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