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

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

サーバーレス

1 分以内に使用開始

Amazon ElastiCache Serverless では、インフラストラクチャのプロビジョニングや設定なしで、1 分以内に可用性の高いキャッシュを作成できます。AWS マネジメントコンソール、AWS Software Development Kit (SDK)、または AWS コマンドラインインターフェイス (CLI) でキャッシュ名を指定することで、数ステップで ElastiCache Serverless キャッシュを作成できます。

キャパシティプランニング不要

Amazon ElastiCache サーバーレスは、キャッシュのコンピューティング、メモリ、ネットワークの使用率を継続的に監視し、需要に応じて垂直方向と水平方向に瞬時にスケーリングできるため、キャパシティプランニングの複雑で時間のかかるプロセスを排除します。

Amazon ElastiCache サーバーレスのご紹介 (1:30)

従量制料金モデル

従量制料金モデルでは、Amazon ElastiCache サーバーレスがワークロードのスケールダウン後にどれだけ早く容量をスケールバックするかを心配する必要はありません。お支払いいただくのは、保存したデータと、アプリケーションが使用したコンピューティングの分だけです。詳細については、「Amazon ElastiCache の料金ページ」をご覧ください。

使いやすい

すぐに使用開始できる

ElastiCache サーバーレスでは、インフラストラクチャや容量を管理することなく、コンソール、AWS CLI、または AWS SDK を使用して、1 分以内に新しいサーバーレスキャッシュを簡単に作成できます。独自のクラスターを設計する場合、リソースは適切なパラメータと設定で事前に構成されています。また、キャッシュパラメータグループにより、制御をきめ細かく行うことで Redis または Memcached 環境を微調整することができます。

すばやく ElastiCache for Redis を開始する方法と ElastiCache for Memcached を開始する方法については、ドキュメントを参照してください。

フルマネージド型の Redis と Memcached

Amazon ElastiCache はフルマネージド型サービスです。キャパシティプランニング、ソフトウェアのパッチ管理、障害検出と復旧など、時間のかかる管理タスクが自動化されます。これにより、より大きな価値のあるアプリケーション開発を追求できます。基盤となるのインメモリデータベース環境へのアクセスが組み込まれていることで、Amazon ElastiCache を既存の Redis と Memcached ツールやアプリケーションと共に簡単に使用できます。ElastiCache Serverless では、すべてのマイナーバージョンアップデート、パフォーマンス強化、セキュリティパッチが自動的に適用されます。設定は不要で、アプリケーションを中断することもありません。

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

Amazon Relational Database Service (Amazon RDS) と Amazon Aurora のコンソールを使用して、Amazon ElastiCache クラスターを作成し、それをリレーショナルデータベースにアタッチできます。そうすることで、読み込みを高速化してアプリケーションのパフォーマンスを向上させ、コストを削減できます。Amazon RDS での ElastiCache クラスターの作成とアタッチの詳細と Aurora のドキュメントをご覧ください。

モニタリング

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

Amazon ElastiCache は注目すべきイベントに関するメッセージを発行します。新しいキャッシュの作成、削除、キャッシュ設定の更新などの ElastiCache サーバーレスイベントは、Amazon EventBridge に送信されます。自分で設計したキャッシュクラスターを使用する場合、Amazon ElastiCache は Amazon Simple Notification Service (Amazon SNS) にイベントを送信します。

タグ付け

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

JSON サポート

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

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

マイクロ秒の応答時間

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

高いスループットとレイテンシー

Redis 用 ElastiCache バージョン 7.1 では、Redis 用 ElastiCache バージョン 7.0 と比較して、スループットが最大 100% 向上し、P99 レイテンシーが 50% 低下しています。r7g.4xlarge ノード以上では、ノードあたり毎秒 100 万を超える要求、またはクラスターあたり毎秒 5 億を超える要求を実現できます。

ElastiCache for Redis バージョン 7.1 では、I/O スレッドが強化されており、多重化やプレゼンテーションレイヤーのオフロードなどにより、大規模なスループットと待機時間を大幅に改善します。拡張 I/O スレッドは、複数のクライアント接続を持つスループット制限のあるワークロードに最適で、その利点は、ワークロードの同時実行性のレベルに応じてスケールします。これらの改善点は、作業を専用スレッドにプッシュする図に示されています。

Redis バージョン 7.1 用 ElastiCache を使い始めるには、追加費用なしで、Amazon ElastiCache コンソールを使用して新しいクラスターを作成するか、既存のクラスターをアップグレードしてください。詳細については、ElastiCache for Redis のサポート対象バージョン のドキュメントをご覧になるか、ElastiCache for Redis バージョン 7.1 のブログ投稿をご覧ください。

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

Amazon ElastiCache サーバーレスは、アプリケーションのパフォーマンス要求に合わせて自動的かつ柔軟にスケールします。ElastiCache サーバーレスは、アプリケーションがキャッシュで使用しているメモリ、コンピューティング、ネットワーク帯域幅を継続的に監視します。これにより、キャッシュをその場でスケールアップすると同時に並行してスケールアウトできるため、キャッシュがアプリケーションのトラフィックニーズに対応できるようになります。ElastiCache for Redis クラスターのスケーリングElastiCache for Memcached クラスターのスケーリングについての詳細をご覧ください。

アプリケーションの自動スケーリング

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

可用性と信頼性

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

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

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

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

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

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

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

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

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

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

ネットワークの隔離

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

転送中と保管時の暗号化

Amazon ElastiCache は転送中の暗号化をサポートしています。これにより、ElastiCache サービスの境界内だけでなく、クライアントと ElastiCache サーバー間のすべての通信を暗号化できます。ElastiCache は保管中の暗号化をサポートしており、それにより Amazon S3 のディスク使用量とバックアップを暗号化できます。暗号化および ElastiCache for Redis データセキュリティElasticache for Memcached データセキュリティについての詳細をご覧ください。ElastiCache サーバーレスは、Transport Layer Security (TLS) を使用して、保管中および転送時のデータを常に暗号化します。 

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

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

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

IAM 認証を使用すると、AWS IAM ID を使用して ElastiCache for Redis への接続を認証できるため、セキュリティモデルを強化し、多くの管理セキュリティタスクを簡素化できます。Redis 認証トークン (パスワード) を使用すると、Redis はクライアントにコマンドの実行を許可する前にパスワードを要求できるため、データセキュリティが向上します。

コンプライアンス

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

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

高い費用対効果

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

Amazon ElastiCache では、使用したリソースに対してのみお支払いいただき、前払いコスト、長期契約はありません。 独自のクラスターを設計する際に選択したノード数、ノードタイプ、および料金モデルに基づいて、ElastiCache サーバーレスで保存したデータと消費したコンピューティングに対して、時間単位で料金が発生します。 詳細については、「Amazon ElastiCache の料金ページ」をご覧ください。

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

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

データ階層化

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

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

リザーブドノード

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

よくある質問

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

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

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

Amazon ElastiCache サーバーレス

はい。Amazon ElastiCache サーバーレスでは、お客様が 1 分以内にキャッシュを追加でき、アプリケーションのトラフィックパターンに基づいて容量を即座にスケーリングできます。AWS マネジメントコンソール、SDK、または AWS CLI を使用してキャッシュ名を指定することで、簡単に開始できます。詳細については、ElastiCache のドキュメントをご覧ください。

ElastiCache にはどのようなメリットがありますか?

Amazon ElastiCache はフルマネージド型で、分散されたインメモリキー値環境の操作に必要な一般的な管理タスクを自動化します。

ElastiCache サーバーレスを使用すると、可用性が高くスケーラブルなキャッシュを 1 分未満で作成できるため、キャッシュクラスター容量のプロビジョニング、計画、管理を行う必要がなくなります。ElastiCache サーバーレスは、データを自動的に 3 つのアベイラビリティーゾーン にわたって冗長的に保存し、99.99% の可用性サービスレベルアグリーメント (SLA) を提供します。CloudWatch のモニタリングとの統合により、 ElastiCache はお客様のキャッシュリソースに関連付けられた主要パフォーマンスメトリクスの可視性を強化します。

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

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

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

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

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

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

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

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