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

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 Serverless では、インフラストラクチャやキャパシティを管理することなく、コンソール、AWS CLI、または AWS SDK を使用して、1 分未満で新しいサーバーレスキャッシュを簡単に作成できます。独自のクラスターを設計する場合、リソースは適切なパラメータと設定で事前に構成されています。また、キャッシュパラメータグループにより、きめ細かいコントロールが可能となり、環境を微調整できます。

ElastiCache の利用をすぐに開始する方法については、ドキュメントをご覧ください。

フルマネージド

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

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

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

モニタリング

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

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

タグ付け

追跡および請求の目的で ElastiCache リソースやスナップショットにタグ付けする機能の恩恵を受けることができます。AWS Cost Explorer を利用して、リソースやリソースグループにコストを帰属させ、共通のタグセットを共有するリソースのコレクションを作成および維持できます。ElastiCache リソースのタグ付けの詳細については、ElastiCache のタグ付けに関するドキュメントをご覧ください。

JSON サポート

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

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

マイクロ秒の応答時間

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

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

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

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

ElastiCache (Redis OSS) バージョン 7.1 の使用を開始するには、ElastiCache コンソールを使用して新しいクラスターを作成するか、既存のクラスターをアップグレードしてください。追加コストはかかりません。詳細については、ElastiCache のサポート対象バージョンのドキュメントにアクセスするか、または ElastiCache (Redis OSS) バージョン 7.1 のブログ記事をお読みください。

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

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

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

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

可用性と信頼性

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

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

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

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

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

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

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

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

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

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

ネットワークの隔離

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

転送中と保管時の暗号化

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

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

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

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

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

コンプライアンス

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 接続がなくても、ElastiCache API オペレーションにプライベートにアクセスできます。ElastiCache API とインターフェイス VPC エンドポイントの詳細をお読みください。

高い費用対効果

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

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

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

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

データ階層化

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

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

リザーブドノード

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

よくある質問

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

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

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

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

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

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

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

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

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