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 つのみのシャードが含まれます。Redis (クラスターモードが有効) クラスター内のシャード数は 1 – 90 個です。

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

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

Redis 用 ElastiCache クラスター

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

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

  • クラスターの作成

  • クラスターの変更

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

  • クラスターの削除

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

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

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

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

Redis クラスターには 1 – 90 のシャード (API ではノードグループと呼ばれる) が含まれており、それぞれがデータのパーティションです。Redis (クラスターモードが無効) は、常に 1 個のシャードのみを使用します。

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

Redis クラスター

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

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

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

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

Redis 用 ElastiCache のレプリケーション

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

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

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

Redis (クラスターモードが無効) クラスターには 1 個のシャード (API および CLI ではノードグループと呼ばれる) が含まれています。Redis (クラスターモードが有効) クラスターは、1 – 90 個のシャード (API および CLI では 1 つのノードグループ) をサポートします。

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

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

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

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

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

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

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

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

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

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

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

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

デフォルトでは、AWS、 SDKs 、AWS CLIAPI、および ElastiCache コンソールはElastiCacheリージョンを参照します。米国西部 (オレゴン)ElastiCache が新しい AWS リージョンで利用可能になると、それらの AWS リージョンの新しいエンドポイントも利用可能になります。これらを HTTP リクエスト、AWS SDKs 、 、および AWS CLI コンソールで使用できます。ElastiCache

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


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

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

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 VPC と ElastiCache のセキュリティ」を参照してください。

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

クラスターへのネットワークアクセスを許可するには、まずセキュリティグループを作成します。次に AuthorizeCacheSecurityGroupIngress API アクションまたは authorize-cache-security-group-ingress AWS CLIコマンドを実行して、目的のAmazon EC2セキュリティグループを承認します。その結果、許可される Amazon EC2 インスタンスが指定されます。セキュリティグループをクラスターにその作成時に関連付けることができます。これは、 ElastiCacheマネジメントコンソール、ModifyCacheCluster API オペレーション、または 変更キャッシュクラスター 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 イベントのモニタリング」を参照してください。