Amazon ElastiCache は、柔軟なリアルタイムのユースケースをサポートするフルマネージドのインメモリキャッシングサービスです。ElastiCache は、アプリケーションとデータベースパフォーマンスを高速化するキャッシングに使ったり、セッションストア、ゲーミングリーダーボード、ストリーミング、および分析などの耐久性を必要としないユースケースのプライマリデータストアとして使用したりできます。ElastiCache は、Redis および Memcached と互換性があります。 ElastiCache は、Redis や Memcached と互換性があり、要求の厳しいリアルタイムアプリケーションの柔軟なスケーリングをサポートします。ElastiCache では、最低料金がなく、お客様が使用した分に対してのみ料金が発生します。選択したノード数、ノードタイプ、料金モデルに基づいて、1 時間ごとに課金されます。
ElastiCache は、長期契約をせずに時間単位で支払うことができるオンデマンドノードと、1 年または 3 年のいずれかの期間を契約した顧客に割引を提供する予約ノードの両方をサポートしています。また、バックアップストレージ、リージョン内またはリージョン間のデータ転送、AWS Outposts の利用に関連するコストが発生する場合もあります。
無料で Amazon ElastiCache を使用開始
Amazon ElastiCache は AWS 無料利用枠に含まれているので、無料で開始できます。新規に AWS をご利用になるお客様には、ElastiCache cache.t2.micro または cache.t3.micro ノードの 750 時間分の使用が最大 12 か月間無料で提供されます。
AWS 無料利用枠は、グローバルリージョンにおける対象サービスに適用されます。 AWS 無料利用枠に基づく無料の使用量は、毎月全リージョンでの合計量が計算され、自動的に請求額に適用されます。無料利用の繰り越しはできません。AWS 無料利用枠は現在、AWS GovCloud (米国) リージョン または中国 (北京) リージョンではご利用いただけません。
オンデマンドノード
ノードとは、ElastiCache クラスターを構築するときの最小構成要素です。一般的に、現世代のノードタイプは、旧世代のノードタイプと比較して、より多くのメモリと計算能力を低コストで提供します。どのノードサイズを使用するかについては、ノードサイズの選択を参照してください。
オンデマンドノードを使用すると、長期的な契約なしで、時間単位でメモリ容量を支払うことができます。このモデルでは、ハードウェアのプランニング、購入、維持に伴うコストや手間が省け、高額な固定費である運用コストも、より安価な変動費に抑えることができます。オンデマンドノードを使用する場合は、ノードが起動してから終了するまで 1 時間ごとに課金されます。1 時間未満のノード時間は、1 時間分として請求されます。
データ階層化
データ階層化によるノードでは、ソリッドステートドライブ (SSD) を使用し、使用頻度の低いアイテムをメモリから SSD に移動させることで、ElastiCache クラスターのコストを自動的に最適化します。SSD に保存されたデータは、メモリに保存されたデータと比較して、若干レイテンシーが高く、スループットが低くなります。Redis 用 ElastiCacheで利用可能なデータ階層化によるノードは、データの 20% までを定期的にアクセスするワークロードや、アクセス頻度の低いアイテムが初めて必要になったときに追加のレイテンシーを許容できるアプリケーションに最適です。メモリとソリッドステートドライブを搭載した Amazon ElastiCache R6gd ノードは、総ストレージ容量が約 5 倍になり、メモリのみを搭載した ElastiCache R6g ノードと比較して、最大利用率で稼働した場合、お客様は 60% 以上の料金削減を達成することができます。データ階層化がどのようにお客様の費用を削減できるかについての比較は以下の例 4 をご覧ください。
リザーブドノード
リザーブドノードでは、1 年または 3 年単位で予約したノードの時間単位の使用レートが大幅に割り引かれます。リザーブドノードでは、次の選択が可能です。
- 前払いなしで低額な時間単位の料金を支払う
- 一時的に一部を前払いすることで、時間単位の料金を抑えることができます。
- 全額を前払いすることで、さらに安い時間単位の料金で利用できます。
購入 API を呼び出す、あるいは AWS コンソールでリザーブドノードオプションを選択して、リザーブドノードとしてノードを指定できます。予約したノードを購入する際には、リージョン、ノードタイプ、支払条件、数量を指定する必要があります。リザーブドノードは指定したリージョンでのみ使用できます。
リザーブドノード料金は、データ階層化を使用するクラスターノードにも適用されます。
スタンダードリザーブドノード
* これはリザーブドインスタンス期間全体の月別お支払額の平均です。毎月の実際のお支払額は、その月の実際の時間数に時間使用料金を掛けて計算した金額、またはその月の実際の秒数に、3600 で除算した時間使用料金を掛けて計算した金額に相当します。これは、実行する Elasticache インスタンスタイプに応じて決まります。時間単位のご利用単価は、リザーブドインスタンス期間全体の月別お支払額の合計をリザーブドインスタンス期間全体の総時間数 (1 年は 365 日とする) で除算したものに相当します。
** 実効時間単価は、オンデマンドの料金と比較したリザーブドインスタンスのコスト削減額の計算に役立てていただくためのものです。リザーブドインスタンスを購入すると、選択したリザーブドインスタンス期間が終了するまでの間、インスタンスを実行するかどうかにかかわらず 1 時間ごとに料金請求が発生します。実効時間単価は、時間あたりの償却されたインスタンスコストを示します。これにより、前払いを含む全期間にわたるリザーブドインスタンスの合計コストが計算され、リザーブドインスタンス期間の 1 時間ごとに分散されます。
バックアップストレージ
バックアップストレージは、自動スナップショット、およびユーザー開始型のスナップショットに関連するストレージです。Amazon ElastiCache では、アクティブな Redis 用 ElastiCache クラスターごとに、1 つのスナップショットのストレージ領域を無料で利用できます。追加のバックアップストレージは、毎月 0.085 USD/GB (すべてのリージョンで同じ料金) です。スナップショットの作成と復元のためのデータ転送は無料です。バックアップストレージは Redis 用 ElastiCache のみ利用可能です。
データ転送
Outposts
AWS Outposts は、AWS のインフラストラクチャ、サービス、API、およびツールを、お客様側のデータセンター、コロケーションスペース、オンプレミス施設に拡張するフルマネージドサービスです。AWS Outposts は、AWS マネージドインフラストラクチャへのローカルアクセスを提供することで、AWS リージョンと同じプログラミングインターフェイスを使用してオンプレミスでアプリケーションを構築、および実行することができ、低レイテンシーやローカルのデータ処理ニーズに合わせてローカルのコンピューティングリソースやストレージリソースを使用することができます。ElastiCache for Outposts は、M5 および R5 ファミリーノードのみをサポートしています。
オンデマンド
料金の例
例 1: Memcached、シングル AZ、オンデマンド
Memcached の Amazon ElastiCache を利用したシンプルなデータベースキャッシングの
ユースケースがあります。データセットの合計サイズは 25 GB で、アプリケーションは米国東部 (バージニア北部) で稼働する単一のアベイラビリティーゾーン用に設計されています。長期間環境を維持する必要はないので、オンデマンドの料金を選択します。ネットワークパフォーマンスとメモリ容量のバランスをとるために、5 台のノードのクラスターに cache.m6g.large ノードを使用し、
そしてクラスターアーキテクチャではより多くの小さいノードに偏ってノード障害の爆発範囲を制限することにしました。このような場合、お客様のワークロードの合計料金は以下のようになります。
オンデマンドノード料金
cache.m6g.large = 0.149 USD/時間
合計 = 0.149 USD × 5 ノードクラスター = 0.745 USD/時
例 2: 高読み取り、マルチ AZ、1 年間、前払いコストなし (キャッシング)
Amazon ElastiCache for Redis を利用した読み取り負荷の高いワークロードがあります。データセットの総サイズは、200 バイトのオブジェクトで 150 GB です。ワークロードは、20% が書き込み、80% が読み取りで、毎秒約 600,000 トランザクションです。ワークロードは読み取り負荷が高いため、1 台のプライマリノードと 5 台のレプリカノードからなる ElastiCache アーキテクチャを採用し、レプリカがリードトラフィックを処理します。各ノードに作業データセット全体を収めるのに十分なメモリがあるため、ノードタイプとして cache.r6g.8xlarge を選択します (リザーブドメモリの必要性を考慮します)。また、ワークロードを米国の 2 つのアベイラビリティーゾーンにまたがって
デプロイすることを選択した場合。全体のワークロードサイズは安定していると予測されるため、1 年間のリザーブドインスタンスを前払いなしで確保することを選択します。さらに、ElastiCache の無料デイリーバックアップ機能を利用し、毎月追加でバックアップを取ります。合計料金は次のように計算されます。
1 年契約、前払い不要のリザーブドノード料金
プライマリ 1 台 + レプリカ 5 台 = 合計 6 台のノード
cache.r6g.8xlarge 1 年間 前払いなし 効果的な時間単位の料金 = 2.241 USD/時
6 ノード × 2.241 USD = 13.446 USD/時
データ転送料金
600,000 トランザクション/秒 × 200 バイト × 60 分/時 × 60 秒/分 = 432 GB/時
マルチ AZ アーキテクチャにより、データの約 50% が AZ を横断します
432 GB × 50% × 0.01 USD/GB = 2.16 USD/時
バックアップストレージ料金
150 GB のスナップショット 1 枚 × 0.085 USD/GB/月 = 12.75 USD/月
12.75 USD/月間 730 時間 = 0.017 USD/時
合計料金
Amazon ElastiCache ノード料金 = 13.446 USD/時
データ転送料金 = 2.16 USD/時
バックアップストレージの料金 = 0.017 USD/時
合計 = 13.446 USD + 2.16 USD + 0.017 USD = 15.623 USD/時
例 3: Amazon ElastiCache for Redis の Global Datastore による高い書き込み、3 年間のアップフロント (分散型セッションストアのユースケース)
Amazon ElastiCache for Redis を利用した書き込み負荷が高い分散型セッションストアのワークロードがあります。ユーザーが米国内に分散しているため、プライマリリージョンとして米国東部 (バージニア北部)、セカンダリリージョンとして米国西部 (北カリフォルニア) の両方で Global Datastore を活用することを選択します。データセットの総サイズは 200 バイトのオブジェクトで 25 GB、トラフィックパターンはプライマリリージョンで 50,000 回/秒の書き込み、50,000 回/秒の読み取り、セカンダリリージョンで 50,000 回の読み取りです。3 つの AZ に 3 台のシャード、各リージョンにシャード毎に 2 台のレプリカノードというクラスターアーキテクチャをデプロイすることを選択しました。シャードとは、1~6 台の Redis ノードの集合体です。このワークロードは非常に安定しているので、3 年間にわたってリザーブドインスタンスを契約し、全額前払いで購入することを選択しました。バックアップには、付属の無料バックアップを使用しています。この場合、合計料金は以下のように計算されます。
3 年契約のリザーブドノード料金、全額前払い
3 シャード × 3 ノード/シャード × 2 リージョン = 合計 18 ノード
cache.m6g.xlarge 3 年 全額前払い 効果的な時間単位の料金 = 0.134 USD/時
18 ノード × 0.134 USD = 2.412 USD/時
データ転送料金
100,000 読み取り/秒 × 200 バイト × 60 分/時 × 60 秒/分 = 72 GB/時
50,000 書き込み/秒 × 200 バイト × 60 分/時 × 60 秒/分 = 36 GB/時
マルチ AZ アーキテクチャのため、データの約 66% が AZ を横断します。
(72 GB + 36 GB) × 50% × 0.01 USD/GB = 0.475 USD + 0.238 USD = 0.713 USD/時
Global Datastore のレプリケーショントラフィック OUT = 36 GB/時
36 GB × 0.02 USD = 0.72 USD/時
合計 = 0.72 USD + 0.713 USD = 1.433 USD/時
バックアップストレージ料金
クラスター毎に含まれるバックアップ = 無料
合計料金
Amazon ElastiCache ノード料金 = 2.412 USD/時
データ転送料金 = 1.433 USD/時
バックアップストレージ料金 = 無料
合計 = 2.412 USD + 1.433 USD + 0 USD = 3.845 USD/時
例 4: データ階層化を利用してミリ秒単位の低レイテンシーでテラバイト規模のキャッシュをホスティングする場合
お客様はレポートアプリケーションを実行しており、基礎となるデータベースのパフォーマンスを向上させるために ElastiCache を選択しました。このアプリケーションは本質的に一時的なもので、主に先月に生成されたデータにアクセスしますが、コンプライアンスの目的ために 12 か月分のデータを保持する必要があります。このアプリケーションは、毎月 85 GiB、合計 1 TiB のデータを保存します。アプリケーションはほとんどが最新のデータを使用するため、データ階層化を備えたノードタイプとして cache.r6gd.16xlarge を選択します。アプリケーションは、米国東部 (バージニア北部) リージョンで実行されています。リードレプリカ、スナップショット、Global Datastore、その他の有料の ElastiCache 機能を使用していません。 合計料金は次のように計算されます。
オンデマンドノード料金
データセットサイズ: 1 TiB (または 1024 GiB)
cache.r6gd.16xlarge 使用可能なメモリ容量: 419.1 GiB/ノード、25% のリザーブドメモリを差し引いた値: 419.1 × .75 = 314.33 GiB/ノード
cache.r6gd.16xlarge ソリッドステートドライブ (SSD) 容量: 1592.56 GiB
ノードあたりの総容量: 314.33 + 1592.56 = 1906.89 GiB/ノード
データセットに必要なノード: 1024 GiB ÷ 1906.89 GiB/ノード = 1 ノード
cache.r6gd.xlarge オンデマンド料金: 12.477 USD/時
1 時間あたりの料金合計: 1 ノード × 12.477 USD/時 = 12.48 USD
メモリでフル稼働する場合に必要なノード: cache.r6g.16xlarge の場合、1024 GiB ÷ 314.33 GiB/ノード = 4 ノード
cache.r6g.16xlarge オンデマンド料金: 6.567 USD/時
メモリでフル稼働する場合の 1 時間あたりの料金: 4 ノード × 6.567 USD/時 = 26.27 USD
メモリでフル稼働する場合と比べた節約効果: 26.27 USD - (12.48 USD/26.27 USD) = 52.5%
料金に関するその他のリソース
AWS の月額料金を簡単に計算
個別のお見積もりをご希望の場合、AWS のスペシャリストに問い合わせる
AWS のお客様が、どのように Amazon ElastiCache を利用しているかを確認する