Amazon ElastiCache は、完全マネージド型の RedisMemcached と互換性のあるサービスで、最新のアプリケーション向けに 99.99% の可用性を備えたコスト最適化されたパフォーマンスをリアルタイムで提供します。Amazon ElastiCache は、データキャッシュ、ウェブ、モバイルアプリ、ヘルスケアアプリ、金融アプリ、ゲーム、アドテック、IoT、メディアストリーミング、セッションストア、リーダーボード、機械学習、マイクロサービスベースのアプリケーションなどの高性能ユースケースに最適です。Amazon ElastiCache がどのように役立つかについては、Amazon ElastiCache for Redis のユースケースと Amazon ElastiCache for Memcached のユースケースを参照してください。

Amazon ElastiCache はデータベースとアプリケーションのパフォーマンスを高速化し、マイクロ秒の応答時間で 1 秒あたり数億回のオペレーションにまでスケーリングできます。Amazon ElastiCache の利点には、オープンソースの代替品と比較して、セキュリティ、信頼性、スケーラビリティ、およびパフォーマンスの強化が含まれます。また、Amazon ElastiCache は読み取り量の多いワークロードのコスト削減を可能にし、メモリを大量に消費するワークロードのデータ階層化などのコスト最適化機能も提供します。Amazon ElastiCache の特徴と利点の詳細については、以下をご覧ください。

使いやすい

簡単に利用開始

Amazon ElastiCache は簡単に利用開始できます。AWS マネジメントコンソールまたはコマンドラインインターフェイス (CLI) を使用するか、単一の API コールを実行して、新しいキャッシュクラスターまたは Redis レプリケーショングループを起動するだけです。リソースは適切なパラメータと設定で事前に構成されています。また、キャッシュパラメータグループにより Redis または Memcached 環境の詳細な管理と微妙なチューニングが可能になります。 

数分のうちに Redis または Memcached リソースを起動し、アプリケーションを接続できます。簡単に Amazon ElastiCache for Redis を開始する方法と Amazon ElastiCache for Memcached を開始する方法については、ドキュメントを参照してください。

完全マネージド型の Redis と Memcached

Amazon ElastiCache は完全マネージド型サービスです。ソフトウェアのパッチ管理、障害検出と復旧など、時間のかかる管理タスクが自動化されます。これにより、より大きな価値のあるアプリケーション開発を追求できます。基盤となるのインメモリデータベース環境にネイティブアクセスすることもできます。これにより、Amazon ElastiCache を既存の Redis と Memcached ツールやアプリケーションと一緒に使用するのが容易になります。

リレーショナルデータベースへのキャッシュの追加

Amazon Relational Database Service (Amazon RDS) および Amazon Aurora で AWS マネジメントコンソールを使用して Amazon ElastiCache クラスターを作成し、リレーショナルデータベースにアタッチすることができます。一緒に使用すると、Amazon ElastiCache はインメモリキャッシュのリアルタイムパフォーマンスとリレーショナルデータベースの信頼性を組み合わせたアプリケーションが実現します。Amazon RDS での Amazon ElastiCache クラスターの作成とアタッチの詳細と Amazon Aurora のドキュメントをご覧ください。

エンジンの容易なアップグレード

Amazon ElastiCache for Redis API または AWS マネジメントコンソールを使用して、Redis クラスターを、利用可能な最新バージョンのエンジンに簡単にアップグレードできます。オンラインのエンジンのアップグレードプロセスは、既存のデータをベストエフォートで保持するように設計されており、Redis レプリケーションが成功する必要があります。

モニタリングとメトリクス

Amazon CloudWatch メトリクスにより、Redis と Memcached リソースの詳細な情報を把握できます。追加のコストは発生しません。AWS マネジメントコンソールを使用して、インスタンスの 20 を超える主要な運用メトリクスを確認できます。メトリクスには、コンピューティング、メモリの使用状況、キャッシュのヒット率、アクティブな接続、レプリケーション、コマンドなどが含まれます。キャッシュクラスターのモニタリングの詳細については、Amazon ElastiCache for Redis の CloudWatch メトリクスAmazon ElastiCache for Memcached の CloudWatch メトリクスのモニタリングに関するドキュメントを参照してください。

イベント通知

Amazon ElastiCache は、キャッシュクラスターで重大なイベントが発生した場合に、Amazon Simple Notification Service (SNS) を使用してメッセージを発行できます。スナップショット作成の完了、予定されたノード置き換えなど、重要なイベントの通知をメールまたは SMS で受け取ることができます。

AWS マネジメントコンソールまたは API を使用して、Redis と Memcached リソースに関連する別のイベントの情報を取得できます。Amazon ElastiCache for Redis イベント通知と Amazon SNS および Amazon ElastiCache for Memcached イベント通知と Amazon SNS の詳細については、AWS のドキュメントを参照してください。

タグ付け

追跡および請求の目的でキャッシュクラスターや Redis または Memcached スナップショットにタグ付けして利用できます。Cost Explorer を使用して、コストが発生しているリソースやリソースグループを特定し、共通のタグセットを共有するリソースの集合を簡単に作成、維持できます。Amazon ElastiCache リソースへのタグ付けの詳細については、Amazon ElastiCache for Redis のタグ付けAmazon ElastiCache for Memcached のタグ付けに関するドキュメントを参照してください。

JSON サポート

Amazon ElastiCache for Redis は、オープンソースの Redis に含まれるデータ構造に加えて、JavaScript Object Notation (JSON) ドキュメントのネイティブなサポートを追加コストなしで提供しています。JSON ドキュメント用に設計および最適化された組み込みコマンドを使用することで、アプリケーションの開発を簡素化できます。Amazon ElastiCache for Redis は、JSON ドキュメントの一部のアップデートと、JSONPath クエリ言語を使用した高機能な検索およびフィルタリングをサポートしています。JSON サポートは、Redis 6.2 以降を使用している場合にご利用いただけます。

AWS Data Migration Service

AWS Data Migration Service (AWS DMS) を使用することで、AWS DMS でサポートされているソースから Redis データストアに最小のダウンタイムでデータをライブ移行できます。Redis を AWS DMS のターゲットとして使用する方法についての詳細をご覧ください。

パフォーマンスとスケーラビリティ

マイクロ秒の応答時間

Amazon ElastiCache を使用すると、頻繁にアクセスされるデータのためにディスクベースのデータベースにアクセスする必要がなくなるため、アプリケーションのパフォーマンスが向上し、読み取りの多いワークロードのスループットが向上します。P99では、読み取り/書き込み操作は1ミリ秒未満で完了し、マイクロ秒の応答時間で 1 秒あたり数億回の操作までスケールできます。

強化 I/O 多重化機能

Amazon ElastiCache for Redis 7 の I/O 多重化機能が強化され、スループットとレイテンシーが大規模に著しく向上しました。拡張 I/O 多重化機能は、複数のクライアント接続を持つスループット制限のあるワークロードに最適で、その効果はワークロードの同時実行レベルに応じて変化します。

例えば、r6g.xlarge ノードを使用して 5200 のクライアントを同時に実行した場合、Amazon ElastiCache for Redis 6 と比較して、スループット (1 秒あたりの読み取りおよび書き込みオペレーション) が最大 72% 向上し、P99 レイテンシーが最大 71% 減少します。このようなタイプのワークロードでは、ノードのネットワーク I/O 処理がスケーリング能力の制限要因になることがあります。強化 I/O 多重化機能では、次の図の通り、各ネットワーク I/O の専用スレッドで複数のクライアントからのコマンドを Redis エンジンにパイプライン処理し、コマンドを効率的にバッチ処理する Redis の機能を活用します。

Redis 7 を使用すると、すべての AWS リージョンで強化 I/O 多重化機能が自動的に利用可能になります。その際、追加費用はかかりません。Amazon ElastiCache for Redis の強化 I/O 多重化機能を使用するために、アプリケーションやサービスの設定を変更する必要はありません。

強化 I/O 多重化機能

需要に合わせてクラスターをスケールする

Amazon ElastiCache では、使用した分だけお支払いいただくだけで、需要に合わせてキャッシュをスケールできます。小規模から始めて、アプリケーションの拡大や通常の需要の変動に応じてデータをスケールできます。Amazon ElastiCache for Redis では、83 シャード (シャードごとにプライマリ 1 個とレプリカ 5 個) から 500 シャード (シングルプライマリ、レプリカなし) に及ぶ 500 ノードのクラスターの設定を選択でき、最大 318 TB のメモリ、またはデータ階層化により 1 PB のメモリを利用できます。AmazonElastiCache for Redis クラスターのスケーリングAmazon ElastiCache for Memcached クラスターのスケーリングについての詳細をご覧ください。

自動スケーリング

Amazon ElastiCache for Redis 自動スケーリングを使用すると、Amazon ElastiCache for Redis サービス内の必要なシャードまたはレプリカを自動的に増減できるため、可能な限り低いコストで安定して予測可能なパフォーマンスを維持できます。Amazon ElastiCache for Redis は、AWS Application Auto Scaling を使ってスケーリングを管理し、Amazon CloudWatch のメトリクスを使ってスケールアップやスケールダウンの時間を決定します。

可用性と信頼性

高可用性およびマルチアベイラビリティーゾーン

Amazon ElastiCache for Redis では、マルチアベイラビリティゾーン (マルチ AZ) 設定を使用する場合、99.99% のサービスレベルアグリーメント (SLA) を提供しています。複数の AZ にレプリカを作成することで、複数の AWS AZ を活用して高可用性を実現し、読み取りトラフィックをスケールできます。プライマリノードが使用できなくなった場合に、自動的に障害を検出してリードレプリカへフェイルオーバーを行い、より高い可用性を提供します。手動での操作は必要ありません。レプリケーショングループを使用した高可用性と、マルチ AZ を使用した Amazon Elasticache for Redis でダウンタイムを最小限に抑える方法についての詳細をご覧ください。

グローバルデータストアによるクロスリージョンのディザスタリカバリ

Amazon ElastiCache for Redis の Global Datastore は、AWS リージョン全体で、高速で、信頼性が高く、安全なフルマネージド型レプリケーションを提供します。Global Datastore を使用すると、1 つのリージョンで Amazon ElastiCache for Redis クラスターに書き込みながら、他の 2 つのクロスリージョンレプリカクラスターからのデータ読み取りも実現でき、リージョンをまたいだ低レイテンシーの読み取りおよびディザスタリカバリが可能となります。まれにリージョンの劣化が発生した場合、健全なクロスリージョンレプリカクラスターの 1 つを、完全な読み取り/書き込み機能を持つプライマリクラスターに昇格させることができます。

リードレプリカを使用した読み取りパフォーマンスの最大化

Amazon ElastiCache for Redis では、プライマリノードごとにリードレプリカを最大 5 個まで追加し、複数のインスタンスからの大容量のアプリケーション読み込みトラフィックに対応できます。それにより、全体の読み込みスループットを向上できます。Redis レプリケーションについての詳細をご覧ください。

インスタンスのモニタリングと修復

Amazon ElastiCache によってインスタンスの状態が継続的にモニタリングされます。ノードに障害が発生するか、パフォーマンスが低下した状態が続くと、ノードと関連プロセスを自動的に再起動または置換します。

バックアップ、復元、エクスポート

Amazon ElastiCache for Redis は、クラスターのスナップショットを作成することでデータの保護に役立ちます。コンソールで数回クリックするか、シンプルな API コールを使用して、自動スナップショットを設定することや、手動のバックアップを開始することができます。これらのスナップショット、または Amazon Simple Storage Service (Amazon S3) に保存された Redis RDB 互換の任意のスナップショットを使用すると、新しい Amazon ElastiCache for Redis クラスターをシードできます。

また、ディザスタリカバリ、分析、クロスリージョンのバックアップや復元の目的で、スナップショットを任意の Amazon S3 バケットにエクスポートすることもできます。データを保護するための Amazon ElastiCache for Redis のバックアップと復元についての詳細をご覧ください。

AWS Trusted Advisor の耐障害性チェック

AWS Trusted Advisor は、ベストプラクティスの自動チェックによりお客様の AWS アカウントを評価し、最適化の提案を行うサービスです。コスト削減、パフォーマンス改善、セキュリティ向上、サービスクォータのモニタリングに役立つ、クラウド最適化の推奨事項を提供します。Amazon ElastiCache マルチ AZ クラスター向けの耐障害性チェックでは、お客様がシングル AZ 構成で実行しているときにアラートが発報され、マルチ AZ と自動フェイルオーバーを Amazon ElastiCache クラスターで有効にするための推奨事項が提供されます。

セキュリティとコンプライアンス

ネットワークの分離

Amazon ElastiCache を使用すると、リソースを Amazon Virtual Private Cloud (Amazon VPC) 内で実行できます。Amazon VPC では、ノードに使用する IP 範囲を指定することにより Redis または Memcached リソースを切り離し、同じ Amazon VPC 内の別のアプリケーションに接続できます。このサービスを使用して、リソースへのネットワークアクセスを管理するファイアウォールを設定することもできます。Amazon VPC と Amazon ElastiCache for Redis セキュリティおよび Amazon VPC と Amazon ElastiCache for Memcached セキュリティについての詳細をご覧ください。

転送中と保管時の暗号化

Amazon ElastiCache は転送中の暗号化をサポートしています。これにより、クライアントと Redis または Memcached サーバー間、および Redis または Memcached サーバー間 (プライマリノードとリードレプリカノード) のすべての通信を暗号化できます。Amazon ElastiCache for Redis は保管時の暗号化をサポートしています。これにより、Amazon Simple Storage Service (Amazon S3) のディスク使用量とバックアップを暗号化できます。暗号化および Amazon ElastiCache for Redis データセキュリティAmazon Elasticache for Memcached データセキュリティについての詳細をご覧ください。

また、Amazon ElastiCache for Redis は AWS Key Management Service (KMS) 統合を提供します。これにより、独自の AWS KMS キーを暗号化に使用できます。さらに、Redis AUTH コマンドを認証の追加のレベルに使用できます。Amazon ElastiCache for Redis によって証明書の発行、更新、および有効期限が自動的に管理されるため、ユーザーが証明書のライフサイクルを管理する必要はありません。

API レベルのアクセス許可

Amazon ElastiCache は Redis と Memcached クラスターへの AWS Identity and Access Management (IAM) 認証アクセスをサポートします。IAM を使用することで、IAM ユーザーとロールを Amazon ElastiCache ユーザーに関連付けてクラスターアクセスを管理できます。例えば、IAM ルールを設定して、特定のユーザーは読み取りアクセスのみ、管理者はリソースの作成、変更、削除が可能となるようにできます。API レベルのアクセス許可の詳細については、Amazon ElastiCache for Redis 用の IAMAmazon ElastiCache for Memcached 用の IAM のドキュメントを参照してください。

Redis 認証とアクセスコントロール

Amazon ElastiCache for Redis は、IAM ID、Redis AUTH コマンド、およびロールベースアクセスコントロール (RBAC) を使用した Identify and Access Management (IAM) 認証による認証をサポートしています。

IAM 認証を使用すると、AWS IAM ID を使用して Amazon ElastiCache for Redis への接続を認証できるため、セキュリティモデルを強化し、多くの管理セキュリティタスクを簡素化できます。Redis 認証トークン (パスワード) を使用すると、Redis はクライアントにコマンドの実行を許可する前にパスワードを要求できるため、データセキュリティが向上します。RBAC 機能を使用すると、レプリケーショングループへのアクセスを整理する方法として設計されたユーザーグループを通じてクラスターアクセスを制御できます。

コンプライアンス

Amazon ElastiCache では、SOC 1、SOC 2、SOC 3、ISO、MTCS、C5、PCI、HIPAA、FedRAMP などのコンプライアンスプログラムがサポートされています。サポートされているコンプライアンスプログラムの最新のリストについては、コンプライアンスプログラムによる AWS 対象範囲内のサービスを参照してください。

AWS PrivateLink を使用して、Amazon Virtual Private Cloud (Amazon VPC) から Amazon ElastiCache へのプライベートアクセスを行うことができます。AWS PrivateLink を使用すると、インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続がなくても、Amazon ElastiCache API オペレーションへのプライベートアクセスを行うことができます。Amazon ElastiCache for Redis API とインターフェイス VPC エンドポイントおよび Amazon ElastiCache for Memcached API とインターフェイス VPC エンドポイントについての詳細をご覧ください。

インターネットプロトコルバージョン 6

Amazon ElastiCache クラスターは、クライアントが IPv6 を使用して Amazon ElastiCache クラスターに接続できるようにするインターネットプロトコルバージョン 6 (IPv6) プロトコルをサポートしています。これにより、IPv6 のコンプライアンス要件を満たすように作業したり、IPv6 ベースの既存アプリケーションとの統合をより効率的に行ったりできます。

高い費用対効果

支払いは実際に使用した分のみ

Amazon ElastiCache では、使用したリソースに対してのみお支払いいただき、最低料金、前払いコスト、長期契約はありません。選択したノード数、ノードタイプ、料金モデルに基づいて、1 時間ごとに課金されます。詳細については、Amazon ElastiCache の料金ページをご覧ください。

リレーショナルワークロードのコストを最適化

Amazon ElastiCache を使用すると、インメモリキャッシュを使用してリレーショナルデータベースのコストを最適化できます。Amazon ElastiCache を Amazon RDS for MySQL と組み合わせて使用すると、コストを最大 55% 節約し、読み取りパフォーマンスを最大 80 倍高速化できます (Amazon RDS for MySQL のみに対して)。

データ階層化

Amazon ElastiCache for Redis のデータ階層化を、最大数百テラバイトの容量までクラスターをスケールする低コストな方法として利用できます。データ階層化はデータをメモリに保存するだけでなく、各クラスターノードに搭載された低コストのソリッドステートドライブ (SSD) を利用することで、Redis のワークロードに新たな料金パフォーマンスの選択肢を提供します。

データセット全体の最大 20% に定期的にアクセスするワークロードや、SSD 上のデータにアクセスする際に追加のレイテンシーを許容できるアプリケーションに最適です。Amazon ElastiCache のデータ階層化は、Graviton2 ベースの R6gd ノードで Redis バージョン 6.2 以上を使用する場合に利用できます。R6g ノード (メモリのみ) と比較すると、R6gd ノードは約 5 倍の総容量 (メモリ + SSD) を持ち、最大使用率で稼働させた場合に 60% 以上の節約を達成可能です。

リザーブドノード

Amazon ElastiCache リザーブドノードは、1 年または 3 年契約を結んでいる場合に、オンデマンドの使用量に応じて大幅な割引を提供します。リザーブドノードでは、前払いなし、一部前払い、または全額前払いを行って、特定のリージョンでノードを実行するための予約を作成することができます。これらの予約は、1 年単位または 3 年単位で利用でき、現在の時間単位の使用料金の大幅な割引を提供します。Amazon ElastiCache for Redis リザーブドノードAmazon ElastiCache for Memcached リザーブドノードについての詳細をご覧ください。

よくある質問

Amazon ElastiCache は何に使用されますか?

Amazon ElastiCache は、Redis または Memcached プロトコルに準拠するサーバーノードのデプロイと実行をクラウド内で簡単に実行できるウェブサービスです。Amazon ElastiCache は、低速のディスクベースのデータベースに全面的に依存することなく、完全マネージド型で高速のインメモリシステムからの情報の取得を可能にすることで、ウェブアプリケーションのパフォーマンスを向上させます。

Amazon ElastiCache によって、インメモリ環境の管理、監視、操作がシンプルになり、負荷が軽減されるため、エンジニアリングリソースをアプリケーション開発に集中させることができます。Amazon ElastiCache を使用すると、ユーザーアクションやクエリの読み込みと応答の時間を改善し、ウェブアプリケーションの縮小や拡張に関連したコストを削減することができます。

Amazon ElastiCache にはどのような利点がありますか?

Amazon ElastiCache は完全マネージド型で、分散されたインメモリキー値環境の操作に必要な一般的な管理タスクを自動化します。Amazon ElastiCache を使用すると、わずか数分でアプリケーションアーキテクチャーにキャッシュやインメモリレイヤーを追加できます。AWS マネジメントコンソールで数回クリックするだけです。

クラスターのプロビジョニングが完了すると、障害が発生したノードは Amazon ElastiCache によって自動的に検出され置き換えられるため、ウェブサイトやアプリケーションの読み込み速度を低下させるデータベースの過負荷リスクが軽減され、回復力のあるシステムを実現できます。Amazon CloudWatch のモニタリングとの統合により、Amazon ElastiCache ではノードに関連する主要パフォーマンスメトリクスの可視性が強化されます。

Amazon ElastiCache は、Redis と Memcached のプロトコルに準拠しているため、既存の Redis または Memcached 環境でお客様が現在使用しているコード、アプリケーション、および一般的なツールは、サービスでシームレスに機能します。 Amazon ElastiCache では、クラスター化された設定をサポートしているため、最も要求の厳しいアプリケーションのニーズを満たす、高速でスケーラブルな使いやすいマネージド型サービスの利点を活用できます。Amazon ElastiCache では、使用した分だけお支払いいただき、最低料金、前払いコスト、長期契約はありません。

Amazon ElastiCache のインメモリキャッシュはアプリケーションにどのように役立ちますか?

インメモリキャッシュは、頻繁にアクセスされるデータ項目をメモリに保存することでアプリケーションのパフォーマンスを向上させます。そのため、その後の読み取りは、デフォルトでディスクベースのストレージになっている場合があるプライマリデータベースからの読み取りよりも大幅に高速になります。Amazon ElastiCache インメモリキャッシュは、多くの読み取り負荷の高いアプリケーションのワークロード (ソーシャルネットワーキング、ゲーム、メディア共有、Q&A ポータルなど) やコンピューティング集約型のワークロード (レコメンデーションエンジンなど) のレイテンシーやスループットを大幅に改善するために使用できます。

インメモリキャッシュは、アクセスのレイテンシーを低くするためにデータの重要な部分をメモリ内に保存することで、アプリケーションのパフォーマンスを向上させます。キャッシュされる情報には、大量の I/O を伴うデータベースクエリの結果や大量の演算を行う計算の結果などが含まれます。

Amazon ElastiCache をキャッシュ以外の用途に使用できますか?

はい。Amazon ElastiCache をインメモリキーバリューストアとして使用すると、データのコピーへのリアルタイムで低コストのアクセスが提供されます。Amazon ElastiCache がどのように役立つかについては、Amazon ElastiCache for Redis のユースケースと Amazon ElastiCache for Memcached のユースケースを参照してください。

Amazon ElastiCache はどのようにセットアップして開始できますか?

Amazon ElastiCache は簡単に利用開始できます。Amazon ElastiCache にまだサインアップしていない場合は、Amazon ElastiCache 概要ページから [開始する] ボタンをクリックして、サインアッププロセスを完了します。その際、Amazon Web Services (AWS) のアカウントが必要です。まだお持ちでない場合は、Amazon ElastiCache サインアッププロセスの開始時に画面の指示に従って作成してください。

新規に AWS をご利用になるお客様には、AWS 無料利用枠の一部として、Amazon ElastiCache cache.t2.micro または cache.t3.micro ノードの 750 時間分の使用が最大 12 か月間無料で提供されます。

Amazon ElastiCache にサインアップした後、AWS マネジメントコンソール、コマンドラインインターフェイス (CLI)、または Amazon ElastiCache API を使用して数分以内にクラスターを起動する方法については、Amazon ElastiCache for Redis の入門ガイドAmazon ElastiCache for Memcached の入門ガイドを参照してください。