Amazon ElastiCacheにEC2から接続できない → 送信中の暗号化が原因だった
やりたいこと
- 毎アクセス実行され、かつ同じ結果を返すクエリを発見
- 結果をredisでキャッシュしたろ
-
FuelPHPのアプリケーションだから、Redis_Db クラスを使ってredisを操作しよ
- redisはElastiCacheで用意しよ
問題発生
- ElastiCacheの設定完了
- アプリから接続してみる→エラーになる
- 原因究明のためアプリを動かしているEC2からredis-cliで接続してみる
$ redis-cli -h (ElastiCacheエンドポイント) -p 6379
(ElastiCacheエンドポイント)> ping
Error: Connection reset by peer
- ElastiCacheの設定完了
- アプリから接続してみる→エラーになる
- 原因究明のためアプリを動かしている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.
「送信中の暗号化」チェックを外したクラスターを作成したら接続できました
2019/12/03 更新:
redis-cli経由で接続したい場合はstunnelを経由すれば良い。
▼参考
https://aws.amazon.com/jp/premiumsupport/knowledge-center/elasticache-connect-redis-node/
Author And Source
この問題について(Amazon ElastiCacheにEC2から接続できない → 送信中の暗号化が原因だった), 我々は、より多くの情報をここで見つけました https://qiita.com/kazuemasaki/items/d53e11628ecf0a5c64c8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .