13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon ElastiCacheにEC2から接続できない → 送信中の暗号化が原因だった

Last updated at Posted at 2018-07-01

やりたいこと

  • 毎アクセス実行され、かつ同じ結果を返すクエリを発見
  • 結果をredisでキャッシュしたろ
  • FuelPHPのアプリケーションだから、Redis_Db クラスを使ってredisを操作しよ
  • redisはElastiCacheで用意しよ

問題発生

  1. ElastiCacheの設定完了
  2. アプリから接続してみる→エラーになる:bomb:
  3. 原因究明のためアプリを動かしているEC2からredis-cliで接続してみる
$ redis-cli -h (ElastiCacheエンドポイント) -p 6379
(ElastiCacheエンドポイント)> ping
Error: Connection reset by peer

:question::question:接続はできるけど、コマンド実行しようとするとエラーになる:confused::question::question:  
(当たり前だけど、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.

「送信中の暗号化」チェックを外したクラスターを作成したら接続できました :thumbsup:

2019/12/03 更新:
redis-cli経由で接続したい場合はstunnelを経由すれば良い。
▼参考
https://aws.amazon.com/jp/premiumsupport/knowledge-center/elasticache-connect-redis-node/

13
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?