Amazon ElastiCache を使用する理由は?
Amazon ElastiCache は、Valkey、Memcached、Redis OSS 互換のフルマネージドサービスで、コスト最適化されたパフォーマンスをリアルタイムで提供し、モダンアプリケーションのために 99.99% の可用性を実現します。ElastiCache は、データキャッシュ、ウェブ、モバイルアプリ、ヘルスケアアプリケーション、金融アプリケーション、ゲーム、アドテック、IoT、メディアストリーミング、セッションストア、リーダーボード、機械学習 (ML)、マイクロサービスベースのアプリケーションなどのハイパフォーマンスを必要とするユースケースに最適です。ElastiCache がどのように役立つのかについては、Amazon ElastiCache のユースケースをご覧ください。
ElastiCache はデータベースとアプリケーションのパフォーマンスを高速化し、マイクロ秒の応答時間で 1 日あたり数兆回のリクエストにまでスケーリングできます。利点には、オープンソースの代替品と比較して、セキュリティ、信頼性、スケーラビリティ、およびパフォーマンスの強化が含まれます。また、Amazon ElastiCache は読み取り量の多いワークロードのコスト削減を可能にし、メモリを大量に消費するワークロードのデータ階層化などのコスト最適化機能も提供します。
ElastiCache は Valkey のサポートを開始しました。Valkey は Redis OSS に代わるオープンソースプロジェクトで、サポートされている他のエンジンと比較して最大 33% 低い価格で提供されます。
サーバーレス
1 分以内に使用開始
Amazon ElastiCache Serverless では、インフラストラクチャのプロビジョニングや設定なしで、1 分以内に可用性の高いキャッシュを作成できます。AWS マネジメントコンソール、AWS Software Development Kit (AWS SDK)、または AWS コマンドラインインターフェイス (AWS CLI) でキャッシュ名を指定することで、数ステップで ElastiCache Serverless キャッシュを作成できます。
概要については、「Amazon ElastiCache サーバーレスの紹介」をご覧ください。
キャパシティプランニング不要
Amazon ElastiCache サーバーレスは、キャッシュのコンピューティング、メモリ、ネットワークの使用率を継続的に監視し、需要に応じて垂直方向と水平方向に瞬時にスケーリングできるため、キャパシティプランニングの複雑で時間のかかるプロセスを排除します。
従量制料金モデル
従量制料金モデルでは、Amazon ElastiCache サーバーレスがワークロードのスケールダウン後にどれだけ早く容量をスケールバックするかを心配する必要はありません。お支払いいただくのは、保存したデータと、アプリケーションが使用したコンピューティングの分だけです。詳細については、「ElastiCache の料金ページ」をご覧ください。
ElastiCache for Valkey は、他のサポート対象エンジンと比較した場合、ElastiCache Serverless で 33% 安い価格でご利用いただけます。最低料金は月額 6 USD です。
使いやすい
すぐに使用開始できる
ElastiCache Serverless では、インフラストラクチャやキャパシティを管理することなく、コンソール、AWS CLI、または AWS SDK を使用して、1 分未満で新しいサーバーレスキャッシュを簡単に作成できます。独自のクラスターを設計する場合、リソースは適切なパラメータと設定で事前に構成されています。また、キャッシュパラメータグループにより、きめ細かいコントロールが可能となり、環境を微調整できます。
ElastiCache の利用をすぐに開始する方法については、ドキュメントをご覧ください。
フルマネージド
ElastiCache はフルマネージドサービスです。キャパシティプランニング、ソフトウェアのパッチ管理、障害検出と復旧など、時間のかかる管理タスクが自動化されます。これにより、より大きな価値のあるアプリケーション開発に注力できます。基盤となるインメモリデータベース環境へのアクセスが組み込まれているため、ElastiCache を既存の Valkye、Memchached、Redis OSS ツールやアプリケーションとともに簡単に使用できます。ElastiCache Serverless では、すべてのマイナーバージョンアップデート、パフォーマンス強化、セキュリティパッチが自動的に適用されます。設定は不要で、アプリケーションを中断することもありません。
リレーショナルデータベースへのキャッシュの追加
Amazon Relational Database Service (Amazon RDS) および Amazon Aurora でコンソールを使用して 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 は、Valkey と Redis OSS に含まれるデータ構造に加えて、JSON ドキュメントの組み込みサポートを提供します。JSON ドキュメント用に設計および最適化された組み込みコマンドを使用することで、アプリケーションの開発を簡素化できます。ElastiCache は、JSON ドキュメントの一部のアップデートと、JSONPath クエリ言語を使用した高機能な検索およびフィルタリングをサポートしています。JSON サポートは、Valkey 用 ElastiCache バージョン 7.2 および Redis OSS 用 ElastiCache バージョン 6.2 を使用する場合に利用できます。
パフォーマンスとスケーラビリティ
マイクロ秒の応答時間
Amazon ElastiCache を使用すると、頻繁にアクセスされるデータのためにディスクベースのデータベースにアクセスする必要がなくなるため、アプリケーションのパフォーマンスが向上し、読み取りの多いワークロードのスループットが向上します。ElastiCache は、マイクロ秒の応答時間で 1 秒あたり数百万回のオペレーションまでスケールできます。
高可用性およびマルチアベイラビリティーゾーン
Amazon ElastiCache では、マルチ AZ 設定またはサーバーレス設定を使用する場合、99.99% のサービスレベルアグリーメント (SLA) を提供しています。ElastiCache サーバーレスは、ユーザー設定を必要とせずに、複数のアベイラビリティーゾーンにデータを自動的に冗長的に保存します。独自のキャッシュクラスターを設計する場合、複数のアベイラビリティーゾーンにレプリカを作成することで、複数の AWS アベイラビリティーゾーンを活用して高可用性を実現し、読み取りトラフィックをスケールできます。プライマリノードが使用できなくなった場合に、AWS は自動的に障害を検出してリードレプリカにフェイルオーバーし、より高い可用性を提供します。手動で介入する必要ありません。レプリケーショングループを使用した高可用性と、マルチアベイラビリティーゾーンを使用して Elasticache でダウンタイムを最小限に抑える方法についての詳細をお読みください。
需要に合わせてクラスターをスケール
Amazon ElastiCache サーバーレスは、アプリケーションのパフォーマンス要求に合わせて自動的かつ柔軟にスケールします。ElastiCache サーバーレスは、アプリケーションがキャッシュで使用しているメモリ、コンピューティング、ネットワーク帯域幅を継続的に監視します。これにより、キャッシュをその場でスケールアップすると同時に並行してスケールアウトできるため、キャッシュはアプリケーションのトラフィックニーズを確実にサポートできます。ElastiCache クラスターのスケーリングの詳細をご覧ください。
アプリケーションの自動スケーリング
独自のキャッシュを設計する場合、ElastiCache 自動スケーリングを使用すると、必要なシャードまたはレプリカを自動的に増減できるため、可能な限り低いコストで、安定して予測可能なパフォーマンスを維持できます。ElastiCache は、AWS Auto Scaling を使用してスケーリングを管理し、CloudWatch のメトリクスを使用してスケールアップやスケールダウンのタイミングを決定します。
可用性と信頼性
高可用性およびマルチアベイラビリティーゾーン
Amazon ElastiCache では、マルチ AZ 設定またはサーバーレス設定を使用する場合、99.99% のサービスレベルアグリーメント (SLA) を提供しています。ElastiCache サーバーレスは、ユーザー設定を必要とせずに、複数のアベイラビリティーゾーンにデータを自動的に冗長的に保存します。独自のキャッシュクラスターを設計する場合、複数のアベイラビリティーゾーンにレプリカを作成することで、複数の AWS アベイラビリティーゾーンを活用して高可用性を実現し、読み取りトラフィックをスケールできます。プライマリノードが使用できなくなった場合に、AWS は自動的に障害を検出してリードレプリカにフェイルオーバーし、より高い可用性を提供します。手動で介入する必要ありません。レプリケーショングループを使用した高可用性と、マルチアベイラビリティーゾーンを使用して Elasticache でダウンタイムを最小限に抑える方法についての詳細をお読みください。
グローバルデータストアによるクロスリージョンのディザスタリカバリ
ElastiCache の Global Datastore は、AWS リージョン全体で、高速で、信頼性が高く、安全なフルマネージドレプリケーションを提供します。Global Datastore を使用すると、あるリージョンで ElastiCache クラスターに書き込みながら、他の 2 つのクロスリージョンレプリカクラスターからデータを読み取れるようにすることができます。これにより、AWS リージョンをまたいだ低レイテンシーの読み取りおよびディザスタリカバリが可能となります。リージョンレベルの劣化というまれな事由が発生した場合、健全なクロスリージョンレプリカクラスターの 1 つを、完全な読み取りおよび書き込み機能を持つプライマリクラスターに昇格させることができます。
インスタンスのモニタリングと修復
Amazon ElastiCache によってインスタンスの状態が継続的にモニタリングされます。ノードに障害が発生するか、パフォーマンスが低下した状態が続くと、ElastiCache はノードと関連プロセスを自動的に再起動または置換します。
バックアップ、復元、エクスポート
ElastiCache は、クラスターのスナップショットを作成することでデータの保護に役立ちます。コンソールで数回クリックするか、シンプルな API コールを通じて、自動スナップショットを設定したり、手動のバックアップを開始したりできます。これらのスナップショット、または Amazon Simple Storage Service (Amazon S3) に保存された Valkey や 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 は、TLS を使用して、保管中および転送時のデータを常に暗号化します。
また、ElastiCache は AWS Key Management Service (AWS KMS) 統合を提供します。これにより、独自の AWS KMS キーを暗号化に使用できます。さらに、Valkey と Redis OSS AUTH コマンドを認証の追加のレベルに使用できます。ElastiCache は証明書の発行、更新、および有効期限を自動的に管理するため、ユーザーが証明書のライフサイクルを管理する必要はありません。
認証とアクセスコントロール
ElastiCache は、IAM ID、Valkey または Redis OSS AUTH、およびロールベースアクセスコントロール (RBAC) を使用した AWS Identify and Access Management (IAM) 認証による認証をサポートしています。
IAM 認証を使用すると、IAM ID を使用して ElastiCache への接続を認証できるため、セキュリティモデルを強化し、多くの管理セキュリティタスクを簡素化できます。Valkey または Redis OSS 認証トークン (パスワード) を使用すると、Valkey または Redis OSS はクライアントにコマンドの実行を許可する前にパスワードを要求するため、データセキュリティが強化されます。
コンプライアンス
Amazon ElastiCache では、SOC 1、SOC 2、SOC 3、ISO、MTCS、C5、PCI、HIPAA、FedRAMP などのプログラムへの準拠をサポートしています。サポートされているコンプライアンスプログラムの最新のリストについては、コンプライアンスプログラムによる AWS 対象範囲内のサービスを参照してください。
AWS PrivateLink
AWS PrivateLink を使用して、Amazon VPC から Amazon ElastiCache へのプライベートアクセスを行うことができます。PrivateLink を使用すると、インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続がなくても、ElastiCache API オペレーションにプライベートにアクセスできます。ElastiCache API とインターフェイス VPC エンドポイントの詳細をお読みください。
コスト効率性
支払いは実際に使用した分のみ
Amazon ElastiCache では、使用したリソースに対してのみお支払いいただき、前払いコスト、長期契約はありません。 独自のクラスターを設計する際に選択したノード数、ノードタイプ、および料金モデルに基づいて、ElastiCache サーバーレスで保存したデータと消費したコンピューティングに対して、時間単位で料金が発生します。ElastiCache Serverless for Valkey のコストをさらに最適化できます。価格が 33% 引き下げられ、データストレージの下限は 90% 削減されて 100 MB となります。自分で設計したノードベースの ElastiCache for Valkey には、ノードあたりのコストを 20% 削減できるというメリットがあります。詳細については、「ElastiCache の料金ページ」をご覧ください。
リレーショナルワークロードのコストを最適化
Amazon ElastiCache を使用すると、インメモリキャッシュを使用してリレーショナルデータベースのコストを最適化できます。Amazon ElastiCache を Amazon RDS for MySQL と組み合わせて使用すると、コストを最大 55% 節約し、読み取りパフォーマンスを最大 80 倍高速化できます
データ階層化
ElastiCache のデータ階層化を、最大数百 TB のキャパシティまでクラスターをスケールする低コストの方法として利用できます。データ階層化はデータをメモリに保存するだけでなく、各クラスターノードに搭載された低コストの SSD を利用することで、料金パフォーマンスの選択肢を提供します。
データセット全体の最大 20% に定期的にアクセスするワークロードや、SSD 上のデータにアクセスする際に追加のレイテンシーを許容できるアプリケーションに最適です。ElastiCache データ階層化は、AWS Graviton2 ベースの R6gd ノードで、Valkey 用 ElastiCache バージョン 7.2 以降 および Redis OSS 用 ElastiCache バージョン 6.2 以降 を使用する場合に利用できます。R6g ノード (メモリのみ) と比較すると、R6gd ノードは約 5 倍の総キャパシティ (メモリ + SSD) を備えており、最大使用率で稼働させた場合に 60% 超の節約を達成するのに役立ちます。
リザーブドノード
Amazon ElastiCache リザーブドノードは、1 年または 3 年契約を結んでいる場合に、オンデマンドの使用量に応じて大幅な割引を提供します。リザーブドノードでは、前払いなし、一部前払い、または全額前払いを行って、特定のリージョンでノードを実行するための予約を作成することができます。これらの予約は、1 年単位または 3 年単位で利用でき、現在の時間単位の使用料金に対する大幅な割引を受けることができます。ElastiCache リザーブドノードは、ノードと AWS リージョン内におけるサイズの柔軟性を提供します。同じノードファミリーのすべてのサイズの使用には、割引されたリザーブドノード料金が自動的に適用されます。 ElastiCache のリザーブドノードの詳細をお読みください。
よくある質問
ElastiCache は何に使用されていますか?
ElastiCache は、Valkey、Memcached、Redis OSS のプロトコルに準拠するサーバーノードのデプロイと実行をクラウド内で簡単に実行できるようにするウェブサービスです。ElastiCache は、低速のディスクベースのシステムに全面的に依拠することなく、フルマネージド高速インメモリシステムからの情報の取得を可能にすることで、ウェブアプリケーションのパフォーマンスを改善します。
Amazon ElastiCache によって、インメモリ環境の管理、監視、操作がシンプルになり、負荷が軽減されるため、エンジニアリングリソースをアプリケーション開発に集中させることができます。Amazon ElastiCache を使用すると、ユーザーアクションやクエリの読み込みと応答の時間を改善し、ウェブアプリケーションの縮小や拡張に関連したコストを削減することができます。
Amazon ElastiCache サーバーレス
はい。Amazon ElastiCache サーバーレスでは、お客様が 1 分以内にキャッシュを追加でき、アプリケーションのトラフィックパターンに基づいて容量を即座にスケーリングできます。AWS マネジメントコンソール、AWS SDK、または AWS CLI を使用してキャッシュ名を指定することで、開始できます。詳細については、ElastiCache のドキュメントをご覧ください。
ElastiCache にはどのようなメリットがありますか?
Amazon ElastiCache はフルマネージド型で、分散されたインメモリキー値環境の操作に必要な一般的な管理タスクを自動化します。
ElastiCache サーバーレスを使用すると、可用性が高くスケーラブルなキャッシュを 1 分未満で作成できるため、キャッシュクラスター容量のプロビジョニング、計画、管理を行う必要がなくなります。ElastiCache サーバーレスは、データを自動的に 3 つのアベイラビリティーゾーン にわたって冗長的に保存し、99.99% の可用性サービスレベルアグリーメント (SLA) を提供します。CloudWatch のモニタリングとの統合を通じて、ElastiCache は、お客様のキャッシュリソースに関連付けられた主要パフォーマンスメトリクスの可視性を強化します。
ElastiCache は、Valkey、Memcached、Redis OSS のプロトコルに準拠しているため、既存の Valkey、Memcached、Redis OSS 環境で使用しているコード、アプリケーション、よく使用されるツールもシームレスに機能します。ElastiCache では、クラスター化された設定をサポートしているため、極めて要求の厳しいアプリケーションのニーズを満たす、高速でスケーラブルな使いやすいマネージドサービスの利点を活用できます。ElastiCache では、使用した分だけお支払いいただき、最低料金、前払いコスト、長期契約はありません。
Amazon ElastiCache のインメモリキャッシュはアプリケーションにどのように役立ちますか?
インメモリキャッシュは、頻繁にアクセスされるデータ項目をメモリに保存することでアプリケーションのパフォーマンスを向上させます。そのため、その後の読み取りは、デフォルトでディスクベースのストレージになっている場合があるプライマリデータベースからの読み取りよりも大幅に高速になります。Amazon ElastiCache は、多くの読み取りがヘビーなアプリケーションの作業負荷(ソーシャルネットワーキング、ゲーム、メディア共有、Q&A ポータルなど)や莫大な計算処理を必要とする作業負荷(レコメンデーションエンジンなど)における待ち時間やスループットを改善するために使用することができます。
メモリ内キャッシュは、アクセスのレイテンシーを低くするためにデータの重要な部分をメモリ内に保存することで、アプリケーションのパフォーマンスを向上させます。キャッシュされる情報には、大量の I/O を伴うデータベースクエリの結果や大量の演算を行う計算の結果などが含まれます。