Amazon ElastiCache for Redis とは - Amazon ElastiCache for Redis

Amazon ElastiCache for Redis とは

Amazon ElastiCache for Redis ユーザーガイドへようこそ。Amazon ElastiCache は、クラウドでの分散インメモリデータストアまたはキャッシュ環境のセットアップ、管理、およびスケーリングが簡単になるウェブサービスです。高性能でスケーラブルで費用対効果の高いキャッシュソリューションを提供します。同時に、分散キャッシュ環境のデプロイと管理に関連する複雑さを排除するのに役立ちます。

注記

Amazon ElastiCache は Redis エンジンと Memcached エンジンの両方で動作します。関心のあるエンジンのガイドを使用してください。必要なエンジンがわからない場合は、このガイドの「Memcached と Redis の比較」を参照してください。

ElastiCache for Redis の概要

Redis を使用する既存のアプリケーションは、ほとんど変更することなく ElastiCache を使用できます。アプリケーションに必要な情報は、デプロイした ElastiCache ノードのホスト名とポート番号だけです。

ElastiCache for Redis には、重要な本番稼働用環境へのデプロイに対してサービスの信頼性を高めるのに役立つ複数の機能があります。

  • キャッシュノードの障害の自動検出と復旧。

  • レプリケーションをサポートする Redis クラスターでの、リードレプリカへの失敗したプライマリクラスターのマルチ AZ。

  • Redis (クラスターモードが有効) では、最大 500 個のシャード間でのデータの分割がサポートされています。

  • Redis バージョン 3.2 以降では、すべてのバージョンで転送時の暗号化と保管時の暗号化 (認証あり) がサポートされています。このサポートは、HIPAA 準拠のアプリケーションのビルドに役立ちます。

  • 耐障害性向上のためのノードとクラスターのアベイラビリティーゾーンの柔軟な配置。

  • 他の AWS のサービス (Amazon EC2、Amazon CloudWatch、AWS CloudTrail、Amazon SNS など) との連携。この統合により、高性能で安全性の高いマネージド型インメモリキャッシュソリューションを提供できます。

  • ElastiCache for Redis では、バックアップ、ソフトウェアパッチ、自動的な障害検出、および復旧を管理します。

  • 必要なときに自動バックアップを実行できます。または、手動で独自のバックアップスナップショットを作成できます。これらのバックアップを使用してクラスターを復元できます。ElastiCache for Redis の復元は信頼性の高い効率的なプロセスです。

  • プライマリインスタンスと同期しているセカンダリインスタンスがあると、問題が発生したときにセカンダリインスタンスにフェイルオーバーできるので、高可用性を実現できます。また、リードレプリカを使用して、読み取りスケーリングを拡張できます。

  • ElastiCache for Redis クラスターへのアクセスを制御するには、AWS Identity and Access Management を使用して、ユーザーとアクセス許可を定義します。また、Virtual Private Cloud (VPC) に配置すると、クラスターを保護することもできます。

  • Global Datastore for Redis 機能を使用すると、AWS リージョン全体で完全マネージド型、高速、信頼性、安全なレプリケーションを実行できます。この機能を使用すると、ElastiCache for Redis のクロスリージョンリードレプリカクラスターを作成して、AWS リージョン全体で低レイテンシーの読み取りと災害対策を実現できます。

  • データ階層化は、データをメモリに保存するだけでなく、各クラスターノードで低コストのソリッドステートドライブ (SSD) を利用することで、Redis ワークロードにコストパフォーマンスの高いオプションを提供します。これは、データセット全体の最大 20% に定期的にアクセスするワークロードや、SSD 上のデータにアクセスする際に増加するレイテンシーを許容できるアプリケーションに最適です。詳細については、「データ階層化」を参照してください。

クラスター

ElastiCache for Redis の基本的な構成要素はクラスターです。クラスターは、1 つ以上のキャッシュノードの集合であり、すべてのノードが Redis キャッシュエンジンソフトウェアのインスタンスを実行します。クラスターを作成する際に、すべてのノードで使用するエンジンとバージョンを指定します。ElastiCache for Redis インスタンスは、Amazon EC2 インスタンスを介してアクセスするように設計されています。AWS CLI、ElastiCache for Redis API、または AWS Management Console を使用して、クラスターを作成および変更できます。

各 ElastiCache for Redis クラスターは、Redis エンジンバージョンを実行します。Redis エンジンの各バージョンには、独自のサポート機能があります。さらに、各 Redis エンジンバージョンは、パラメータグループに一連のパラメータを保有し、これにより管理するクラスターの動作を制御します。

クラスターの計算とメモリの容量は、インスタンス、またはノード、クラスによって決まります。お客様のニーズに最も合うノードの種類を選択できます。ニーズが時間の経過と共に変化する場合は、ノードの種類を変更できます。詳細については、「サポートされているノードの種類」を参照してください。

ノードタイプのニーズを考慮する際に、データ階層化を活用することもできます。データ階層化は、SSD (ソリッドステートドライブ) のデータにアクセスした際に増加するレイテンシーを許容できるアプリケーションのメモリ制限を緩和するために、使用頻度が低いデータをディスクに保存する機能です。

注記

ElastiCache インスタンスクラスに関する料金情報については、「Amazon ElastiCache 料金表」を参照してください。

クラスタノードストレージには、標準と memory-optimized の 2 種類があります。この 2 つはパフォーマンス特性と料金が異なるため、ニーズに応じてストレージのパフォーマンスとコストを調整できます。各インスタンスは、サポートするストレージタイプによって最小/最大ストレージ要件が異なります。クラスターの増加に対応できるように、十分なストレージを確保しておくことが大切です。また、十分なストレージがあると、機能がコンテンツやログエントリを書き込むスペースが確保されます。

Amazon Virtual Private Cloud (Amazon VPC) サービスを使用して、仮想プライベートクラウド (VPC) 上のクラスターを実行できます。VPC を使用する場合、仮想ネットワーキング環境を制御できます。独自の IP アドレスの範囲を選択し、サブネットを作成してルーティングおよびアクセス制御リストを設定できます。ElastiCache では、バックアップ、ソフトウェアパッチ、自動的な障害検出、および復旧を管理します。VPC でクラスターを実行するために、追加料金はかかりません。ElastiCache for Redis で Amazon VPC を使用する方法については、「Amazon VPC と ElastiCache のセキュリティ」を参照してください。

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

Amazon クラウドコンピューティングリソースは、世界各地 (例えば、北米、ヨーロッパ、アジア) の高可用性のデータセンター施設に収容されています。各データセンターの場所は、AWS リージョンと呼ばれます。

各 AWS リージョンは、アベイラビリティーゾーンまたは AZ と呼ばれる複数の区切られた場所で構成されています。各アベイラビリティーゾーンは、他のアベイラビリティーゾーンの障害から分離されるように設計されています。アベイラビリティーゾーンは、同じ AWS リージョン内の他のアベイラビリティーゾーンに低価格かつ低レイテンシーのネットワーク接続を提供します。個別のアベイラビリティーゾーンでインスタンスを起動することにより、1 つの場所で発生した障害からアプリケーションを保護できます。詳細については、「リージョンとアベイラビリティーゾーンの選択」を参照してください。オプションで、マルチ AZ 配置と呼ばれる複数のアベイラビリティゾーンのクラスターを作成できます。このオプションを選択すると、Amazon によってセカンダリスタンバイノードインスタンスが別のアベイラビリティーゾーンで自動的にプロビジョンされて管理されます。プライマリインスタンスは、非同期でアベイラビリティーゾーン間でセカンダリインスタンスにレプリケートされます。これは、データの冗長性およびフェイルオーバーサポートを提供し、I/O フリーズを排除して、システムのバックアップの際のレイテンシーのスパイクを最小限に抑えるのに役立ちます。詳細については、「マルチ AZ を用いた ElastiCache for Redis でのダウンタイムの最小化」を参照してください。

セキュリティ

セキュリティグループは、クラスターへのアクセスを制御します。制御するには、アクセスを許可する IP アドレスの範囲または Amazon EC2 インスタンスを指定します。セキュリティグループの詳細については、「ElastiCache for Redis のセキュリティグループ」を参照してください。

ElastiCache for Redis クラスターのモニタリング

ElastiCache for Redis クラスターのパフォーマンスと動作状態を追跡する方法は複数あります。CloudWatch サービスを使用してクラスターのパフォーマンスとヘルス状態をモニタリングできます。CloudWatch のパフォーマンスチャートは、ElastiCache for Redis コンソールに表示されます。ElastiCache for Redis イベントに登録すると、クラスター、スナップショット、パラメータグループ、セキュリティグループで変更が発生したときに通知を受け取ることができます。詳細については、「CloudWatch メトリクスでの使用のモニタリング」を参照してください。