从零开始构建ElastiCache for Redis
经过
由于在业务中接触AWS的机会越来越多,所以作为输入备忘录,我将记录概述和基本设计的构建步骤!
ElastiCache指的是什么?
这是一个可以轻松搭建和管理分散内存缓存服务,并实现扩展的服务。它对AWS所提出的11个最佳实践之一——缓存的利用和选择最合适的数据库有影响。
1. 什么是内存处理?
内存处理是指在内存中运行数据的机制,相比于在磁盘上运行数据,它可以实现更快速的处理。
2.什么是缓存?
缓存是一种机制,用于存储已经访问过的数据,以便下次访问时可以更快地进行访问。
内存缓存是一种利用内存高速存取缓存的数据库机制,通过1 + 2的方式实现。
通过从缓存中获取数据,可以实现对第二次访问以及之后的访问速度快。同时减轻了对数据库的访问负载,提高了可用性。
ElastiCache的特点
-
- キャッシュクラスタを数クリックで起動すること
-
- フルマネージド型でモニタリング、自動障害検出、復旧、拡張
-
- バックアップに対応して、高可用性を実現している。
-
- スケーラブルで変化するアプリケーションニーズに応じて、スケールイン、スケールアウト、スケールアップできる。
-
- 高スループットかつ低レイテンシーなインメモリデータストアからデータを取得して、大量のデータを扱うアプリケーションを構築したり、既存のアプリケーションのパフォーマンスを改善したりすることが可能
- 2種類のオープンソースのmemcahed,redisから選択することができる。
Redis和Memcached的不同之处是什么?
如果你想要简单且可扩展的缓存层构建方式,可以使用Memcached。否则就使用Redis的缓存层。
以下是对所提供文本的汉语释义:
共同点
– 可以快速读写的内存缓存型数据库
相异之处
Redis
– 单线程运作
– 具有快照功能
– 能够持久化数据
– 需要对内存数据集进行排序和排名
– 能够使用发布/订阅功能
– 能够利用位置信息查询
Memoched:
– 能够以多线程方式运行
– 没有快照功能
– 无法持久化数据
– 无法进行故障转移或恢复
– 可根据需求的增减进行扩展或缩小规模
使用示例
将数据实时反映用于需要的应用场景等进行利用。
具体的基本使用模式如下所示。
创建 Redis 的步骤 (ElasticCach for Redis)。
简单地构建ElasticCache。省略EC2和RDS的说明。
1. 创建ElasticCache的Redis集群。
2. 从EC2实例连接到Redis并进行数据注册。
请点击“立即开始”。
2. Redis的配置步骤
※利用したことがなければ、無料枠を使用できるので、料金はかからない。
2-1 今回はRedisを選択し、クラスターモード(並列処理を行い高性能にする)を選択する
2-2 エンジンバージョンから、ポート、パラメーターグループはデフォルトを選択
2-3 t2microの最小サイズを選択、アルファベットは世代、数字がメモリサイズを表してる
2-4 シャードの数、シャードないのレプリカ数を決めて、性能を調整する。今回はデフォルト
2-5 複数のAZ(アベイラビリティーゾーン)を設定し、冗長性の確保できる。
今回はサブネットグループを新規作成して、publicの1aと1cに配置する。
2-6 詳細の設定でより詳細にredisの設定をすることができる。
今回は設定を変更せず、デフォルトで作成する
・ スロット及びキースペース 処理の分散方法を指定。均等分散が通常
・ アベイラビリティーゾーンの配置 AZごとにシャードを分散配置できる
・ セキュリティ SG、暗号化の設定
・ クラスターへのデータのインポート S3からのデータインポート
2-7 起動をクリックし、redisの構築完了
・什么是集群?
集群是将分片组合成一个逻辑组。启用集群模式后,一个集群可以拥有多个分片。
如果未启用,则一个集群只能拥有一个分片。
・シャードとは
ノードをまとめるグループ。2つのノードを使用することで、レプリケーションを作成できる。
シャードはプライマリーノード(read/write)を1つ、セカンダリーノード(read)を5つ持つことができる。
节点是ElasticCach的最小单位。
クラスタが最大単位でその中にシャード、シャードの中にノードがあるイメージ
クラスタ > シャード > ノード
(参考)Memcachedの方が選択項目が少なく、単純なキャッシングなどシンプルなケーズで利用される。
创建 EC2 实例
在同一个子网组中进行创建。
本次将省略创建EC2实例的步骤。
设定 SG(安全组)
登录EC2并进行连通性检查
登录EC2,安装Redis客户端。
从端点访问Redis,执行测试数据的注册并进行确认。
#ec2にssh接続
ssh -i [pemキー] ec2-user@[publicIP]
#yumのアップデート
yum update
#管理者権限にログイン
sudo su
#Redisクライアントのインストール
amazon-linux-extras install redis5.0
#Redisへの接続
redis-cli -c -h [エンドポイント名をコピー] -p 6379
#データを登録する
set test hogehoge
#データを取得する
get test
最后
由于忘记删除ElastiCache并超出了免费配额,导致费用变得很高。所以,如果是为了学习目的创建的话,我认为在确认通信后删除是更好的选择。