Amazon ElastiCache无法从EC2进行连接 → 原因是正在进行的加密传输

我想做的事情

    • 毎アクセス実行され、かつ同じ結果を返すクエリを発見

 

    • 結果をredisでキャッシュしたろ

FuelPHPのアプリケーションだから、Redis_Db クラスを使ってredisを操作しよ
redisはElastiCacheで用意しよ

出了问题

    1. 完成ElastiCache的配置

 

    1. 從應用程式連接→出錯

 

    為了找出原因,從正在運行應用程式的EC2上使用redis-cli嘗試連接
$ redis-cli -h (ElastiCacheエンドポイント) -p 6379
(ElastiCacheエンドポイント)> ping
Error: Connection reset by peer

尽管连接可以建立,但当尝试执行命令时会出现错误。
(当然,在无法连接时,比如在不同的VPC中,从最初的”redis-cli -h -p”命令开始就会出现错误。)

查明了原因

如果在创建ElastiCache集群的选项中勾选了“传输中加密”,似乎只能通过SDK进行操作。
参考链接:
https://forums.aws.amazon.com/thread.jspa?threadID=160851#jive-message-832075

Please could you confirm if redis encryption in-transit is not enabled for your cluster. If it is enabled, then you would be unable to connect using redis-cli as it does not support SSL encryption. The only way to connect in redis with in-transit encyption enabled is using a SDK.

创建了一个取消了「发送中的加密」检查的集群,然后就可以连接了。

如果想通过redis-cli进行连接,只需通过stunnel即可。
▼参考
https://aws.amazon.com/jp/premiumsupport/knowledge-center/elasticache-connect-redis-node/

bannerAds