ElastiCache Serverless for Redis and Memcachedがリリースされましたので、ドキュメントページの翻訳と合わせて紹介となります!

20231127_200543924.jpg

本日、ElastiCache Serverlessが発表されました。
これは、顧客が 1 分以内にキャッシュを作成し、アプリケーションのトラフィック パターンに基づいて容量を即座に拡張できる新しいサーバーレス オプションです。 ElastiCache Serverless は、2 つの一般的なオープンソース キャッシュ ソリューション、Redis および Memcached と互換性があります。

ElastiCache Serverless を使用すると、キャパシティ プランニングに時間を費やしたり、キャッシュの専門知識を必要とせずに、最も要求の厳しいワークロードに対してもキャッシュを運用できます。 ElastiCache Serverless は、アプリケーションのメモリ、CPU、ネットワーク リソースの使用率を常に監視し、サービスを提供するワークロードのアクセス パターンの変更に対応するために即座にスケーリングします。 複数のアベイラビリティーゾーンにわたって自動的にレプリケートされたデータと、すべてのワークロードに対して最大 99.99% の可用性サービス レベル アグリーメント (SLA) を備えた高可用性キャッシュを作成できるため、時間とコストを節約できます。

カスタマーは、キャッシュの導入と運用を大幅に簡素化したい課題を持っています。
ElastiCache Serverless は、基盤となるクラスター トポロジとキャッシュ インフラストラクチャを抽象化したシンプルなエンドポイント エクスペリエンスを提供します。 再接続やノードの再検出を処理することなく、アプリケーションの複雑さを軽減し、優れた運用性を実現できます。

ElastiCache Serverlessを使用すると、初期費用はかからず、使用したリソースに対してのみお支払いいただきます。 アプリケーションによって消費されるキャッシュ データ ストレージと ElastiCache Processing Unit (ECPU) リソースの量に対して料金を支払います。

ElastiCache Serverlessの使用を開始する

開始するには、ElastiCache コンソールに移動し、左側のナビゲーション ペインで Redis キャッシュまたは Memcached キャッシュを選択します。 ElastiCache Serverless は、Redis 7.1 以降および Memcached 1.6 以降のエンジン バージョンをサポートします。

たとえば、Redis キャッシュの場合は、[Create Redis Cache] を選択します。

image.png

2 つのデプロイ方法が表示されます。
サーバーレスまたは独自のキャッシュを設計してノードベースのキャッシュ クラスターを作成します。 [サーバーレス] オプション、[New cache] を選択し、名前を指定します。

image.png

デフォルト設定を使用して、デフォルトの VPC、アベイラビリティーゾーン、サービス所有の暗号化キー、およびセキュリティグループにキャッシュを作成します。 推奨されるベスト プラクティスが自動的に設定されます。 追加の設定を入力する必要はありません。

デフォルト設定をカスタマイズする場合は、独自のセキュリティ グループを設定するか、自動バックアップを有効にすることができます。 コンピューティングとメモリの使用量に最大制限を設定して、キャッシュが特定のサイズを超えないようにすることもできます。 キャッシュがメモリ制限に達すると、有効期限 (TTL) のあるキーは、最も最近使用されていない (LRU) ロジックに従って削除されます。 コンピューティング制限に達すると、ElastiCache によってリクエストが調整され、リクエストのレイテンシーが増加します。

image.png

新しいサーバーレス キャッシュを作成すると、エンドポイントやネットワーク環境など、接続とデータ保護の設定の詳細を確認できます。

これで、アプリケーションで ElastiCache Serverless エンドポイントを設定し、クラスター モードで Redis をサポートする任意の Redis クライアント (redis-cli など) を使用して接続できるようになります。

$ redis-cli -h channy-redis-serverless.elasticache.amazonaws.com --tls -c -p 6379
set x Hello
OK
get x
"Hello"

キャッシュは、AWS コマンドラインインターフェイス (AWS CLI) または AWS SDK を使用して管理できます。 詳細については、AWS ドキュメントの「Redis 用 Amazon ElastiCache の開始方法」を参照してください。
https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html

既存の Redis クラスターがある場合は、ElastiCache Serverless キャッシュを作成するときに、標準 Redis rdb ファイル形式で ElastiCache バックアップまたはバックアップ ファイルの Amazon S3 の場所を指定することで、データを ElastiCache Serverlessに移行できます。

image.png

Memcached キャッシュの場合、Redis と同じ方法で新しいサーバーレス キャッシュを作成して使用できます。

ElastiCache Serverless for Memcached を使用する場合、高可用性とインスタント スケーリングは Memcached エンジンではネイティブに利用できないため、大きな利点があります。 Memcached で高可用性を実現するために、カスタム ビジネス ロジックを作成したり、複数のキャッシュを管理したり、サードパーティのプロキシ レイヤーを使用してデータを複製したりする必要はもうありません。 複数のアベイラビリティーゾーン間で最大 99.99% の可用性 SLA とデータレプリケーションを実現できるようになりました。

image.png

Memcached エンドポイントに接続するには、次の出力例に示すように openssl クライアントと Memcached コマンドを実行します。

$ /usr/bin/openssl s_client -connect channy-memcached-serverless.cache.amazonaws.com:11211 -crlf
set a 0 0 5
hello
STORED
get a
VALUE a 0 5
hello
END

詳細については、AWS ドキュメントの「Memcached 用 Amazon ElastiCache Serverless の開始方法」を参照してください。
https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/GettingStarted.html

スケーリングとパフォーマンス

ElastiCache Serverlessは、キャッシュのスケールアップとスケールアウトの開始を並行して可能にし、容量のニーズにジャストインタイムで対応することで、ダウンタイムやアプリケーションのパフォーマンス低下を引き起こすことなくスケールします。

ElastiCache Serverless のパフォーマンスを示すために、簡単なスケーリング テストを実施しました。 私たちは、読み取りと書き込みの比率が 80/20、キー サイズが 512 バイトの典型的な Redis ワークロードから開始しました。 最適な読み取りパフォーマンスを実現するために、Redis クライアントは READONLY Redis コマンドを使用してレプリカから読み取り (RFR) を行うように構成されました。 私たちの目標は、レイテンシーに影響を与えることなく、ElastiCache Serverless上でワークロードをいかに高速にスケールできるかを示すことです。

image.png

上のグラフからわかるように、テストの目標リクエスト レートである 100 万 RPS まで、10 分ごとに 1 秒あたりのリクエスト (RPS) を 2 倍にすることができました。 このテスト中、p50 GET 待ち時間は約 751 マイクロ秒のままであり、常に 860 マイクロ秒未満であることが観察されました。 同様に、p50 SET 待ち時間は約 1,050 マイクロ秒のままで、スループットが急速に増加している間でも 1,200 マイクロ秒を超えないことが観察されました。

知っておくべきこと: Things to know

エンジン バージョンのアップグレード

details

ElastiCache Serverlessは、キャッシュ上の新しいマイナー バージョンやパッチ エンジン バージョンを含む、新機能、バグ修正、セキュリティ アップデートを透過的に適用します。 新しいメジャー バージョンが利用可能になると、ElastiCache Serverless はコンソールに通知を送信し、Amazon EventBridge にイベントを送信します。 ElastiCache Serverlessのメジャー バージョン アップグレードは、アプリケーションが中断されないように設計されています。

 

パフォーマンスとモニタリング

details

ElastiCache Serverless は、メモリ使用量 (Bytes UsedForCache)、CPU 使用量 (ElastiCacheProcessingUnits)、および CacheMissRate、CacheHitRate、CacheHits、CacheMisses、ThrottledRequests などのキャッシュ メトリクスを含む一連のメトリクスを Amazon CloudWatch に公開します。 ElastiCache Serverless は、キャッシュの作成、削除、制限更新などの重要なイベントの Amazon EventBridge イベントも発行します。 利用可能なメトリクスとイベントの完全なリストについては、ドキュメントを参照してください。

 

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

details

ElastiCache Serverless キャッシュは VPC 内からアクセスできます。 AWS Identity and Access Management (IAM) を使用してデータ プレーンにアクセスできます。 デフォルトでは、ElastiCache Serverless キャッシュを作成する AWS アカウントのみがアクセスできます。 ElastiCache Serverlessは、ElastiCache Serverlessへの各接続を暗号化するトランスポート層セキュリティ (TLS) によって、保存時および転送中のすべてのデータを暗号化します。 オプションで、VPC 内のキャッシュ、サブネット、IAM アクセス、および暗号化用の AWS Key Management Service (AWS KMS) キーへのアクセスを制限することを選択できます。 ElastiCache Serverlessは PCI-DSS、SOC、ISO に準拠しており、HIPAA に準拠しています。

 

Now available

Amazon ElastiCache Serverless は、中国を含むすべての商用 AWS リージョンで利用できるようになりました。 ElastiCache Serverless を使用すると、初期費用はかからず、使用したリソースに対してのみお支払いいただきます。 キャッシュされたデータの料金は GB 時間単位、消費された ECPU 数、およびスナップショット ストレージの料金は GB 月単位で支払います。

詳細については、ElastiCache Serverless ページ
https://aws.amazon.com/elasticache/features/#Serverless

料金ページ
https://aws.amazon.com/elasticache/pricing/#Serverless
を参照してください。 試してみて、Amazon ElastiCache の AWS re:Post にフィードバックを送信するか、通常の AWS サポート連絡先を通じてフィードバックを送信してください。

終わりに

これだけserverlessを推してきたAmazonですが、ここにきてElasticCacheのサーバーレス化はビッグニュースと思います。
ただでさえwebサイトにおけるキャッシュ戦略は、難解でそれだけで飯を食べられる人もいる領域です。
それに加えてサーバーの運用はできるだけ避けたいと思っている人が多数ではないでしょうか。
このサーバーレスサービスを使いこなし、
元々サーバーレスのようなもののCloudFrontとElasticCacheを掛け合わせて、
キャッシュ戦略に専念しユーザー体験をあげるキャッシュマスターになりましょう!

原文:

https://aws.amazon.com/jp/blogs/aws/amazon-elasticache-serverless-for-redis-and-memcached-now-generally-available/