Awselasticache-overview
提供:Dev Guides
AWS ElastiCache-概要
ElastiCacheは、クラウドベースのキャッシュを使用してデータへのアクセスを高速化する分散キャッシュ環境です。 データベースから直接、またはリモートAPI呼び出しを介してデータを照会することは、キャッシュからデータを照会するよりもはるかに遅くなります。 AWSは、高いパフォーマンス、スケーラビリティ、費用対効果を備えたElastiCacheサービスを提供します。 分散キャッシュの管理に関連する複雑さを取り除きます。
ElastiCacheの使用例
ElastiCacheを活用して、費用対効果の高い方法でクエリを高速化するユースケースの一部を以下に示します。
- リアルタイム分析-顧客がオンラインショッピングを行うとき、顧客がまだカタログを閲覧しているときに製品の推奨を即座に生成する必要があります。 これには、顧客がすでに選択した既存の製品をキャッシュに保存し、次の製品セットを推奨するためにリアルタイムで分析する必要があります。
- メッセージ管理-メッセージがいくつかのチャネルを介してサブスクライバーに送信されると、常に一部のサブスクライバーがサブスクリプションをキャンセルし、その他のサブスクライバーが特定のチャネルに参加することがあります。 キャッシングメカニズムがないと、メッセージが遅延のために見逃されたり、置き忘れられたりする可能性があります。 そのため、ElastiCacheはサブスクリプションステータスを最新かつ正確に維持するのに役立ちます。
- リーダーボード-ゲーム業界では、ゲーマーが獲得したポイントとリーダーボードでの彼らの位置に関する絶え間ない更新があります。 これには継続的な更新が必要であり、変化するリーダーシップの位置を継続的に表示できるようにするには、ここでキャッシュが非常に必要です。
ElastiCacheコンテンツ
すべてをキャッシュすることはできず、キャッシュする必要もありません。 そのため、どの種類のコンテンツをキャッシュする必要があるかに影響するさまざまな要因について以下で説明します。
- *データベースコンテンツ– *複雑で高価なクエリ処理の後に取得されるコンテンツは、間違いなくキャッシュの候補です。 クエリ処理の繰り返しを回避することで待ち時間を短縮し、データベースディスクの読み取り/書き込みのコストを削減します。
- *頻繁にアクセスされるデータ– *高価なクエリを伴わないタイプのデータがある場合でも、他のデータチャンクより頻繁にアクセスされる場合はキャッシュが必要になる場合があります。
- *アクセスパターン– *データが頻繁に変更される場合、キャッシュには役立ちません。 そのため、アクセスされたデータが比較的静的であるが、ユーザーが頻繁に必要とする方法を探す必要があります。
- *古さの許容範囲-*キャッシュされると、データは再び読み取られるまで古くなってきます。 そのようなシナリオでは、データを必要とするアプリケーションが古いデータに対する許容度が低い場合、キャッシュは役に立ちません。 たとえば、株式を購入する場合、現時点では価格が正確である必要があるため、キャッシュは不要です。 しかし、今日の計算で頻繁に参照される昨日の終値は静的であり、キャッシュする必要があります。
ElastiCacheのコンポーネント
AWSによってプロビジョニングされたElastiCacheには、次の重要なコンポーネントがあります。 これらの構成と使用方法については、以降の章で説明します。
- *ノード-*ノードは、ネットワークに接続された安全なRAMの固定サイズの塊です。 各キャッシュノードには、独自のドメインネームサービス(DNS)名とポートがあります。
- Redisシャード用のElastiCache – 1〜6個の関連ノードのグループです。 クラスターには1〜90個のシャードを含めることができます。
- * RedisクラスターのElastiCache-* Redisクラスターは、Redisシャードの1つ以上のElastiCacheの論理グループです。 データはRedis(クラスターモードが有効)クラスターのシャード間でパーティション分割されます。
- Redisエンドポイント用のElastiCache – これは、アプリケーションがElastiCacheノードまたはクラスターに接続するために使用する一意のアドレスです。
ElastiCacheの機能
ElastiCacheのさまざまな機能は、適切な構成とコストの見積もりを計画するのに役立ちます。 重要な機能は次のとおりです。
- * Redisレプリケーション用のElastiCache-*レプリケーションは、シャード内の2〜6個のノードをグループ化することで実装されます。 これらのノードの1つは、読み取り/書き込みプライマリノードです。 他のすべてのノードは読み取り専用レプリカノードです。
- *リージョンとアベイラビリティーゾーン– *ビジネス要件を満たす任意の場所でキャッシュを構築して使用できます。 AWS ElastiCacheサービスは、世界中の複数のAWSリージョンで利用できます。
- * ElastiCacheパラメーターグループ-* ElastiCacheパラメーターグループは、クラスターに適用できるエンジン固有のパラメーターの名前付きコレクションです。 これらは、メモリ使用量、追い出しポリシー、アイテムサイズなどを制御するために使用されます。
- Redisセキュリティ用のElastiCache-サブネットグループまたはセキュリティグループを使用して、クラスターにアクセスできるAmazon EC2インスタンスを制御できます。