質問編集履歴
10
質問内容を更新
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
【AWS ElasticCache】EC2からredisサーバ
|
1
|
+
【AWS ElasticCache】EC2からElasticCacheのredisサーバに暗号化で接続たい
|
body
CHANGED
@@ -1,16 +1,15 @@
|
|
1
|
-
曖昧な質問で申し訳ありません。
|
2
|
-
もし、情報が不足していたらご指摘をお願いいたします。
|
3
|
-
|
4
1
|
AWSのコンテナでlaravelのアプリケーションを動かしていて、キャッシュとセッションをRedisサーバにしようと思います。
|
5
2
|
RedisサーバーはElasticCacheで作成しました。
|
3
|
+
|
6
4
|
実際にサーバーへアップロードしたプログラムからRedisサーバに接続したとこタイムアウトを起こして接続できませんでした。
|
5
|
+
暗号化やパスワードを指定しない設定であれば接続する事はできるのですが、
|
6
|
+
(セキュリティのために)暗号化とAuth認証(パスワード)を設定すると接続できません。
|
7
7
|
|
8
8
|
開発環境では、Dockerのredisコンテナを使っているのですが、REDIS_HOSTとDRIVERを設定するだけで接続できていましたので、
|
9
9
|
プロジェクトのプログラムが起因している可能性は少ないと考えています。
|
10
10
|
|
11
|
-
原因を調査したいのですが、ElasticCacheのログを見つけられませんでした。
|
12
|
-
曖昧な質問で恐縮ですが、ログや考えられる問題はないでしょうか?
|
13
11
|
|
12
|
+
|
14
13
|
## サーバー構成イメージ
|
15
14
|
10.0.0.0/24の内にあるEC2から、10.0.1.0/24内のredisサーバーに接続したいと考えています。
|
16
15
|
|
9
状況追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -64,5 +64,8 @@
|
|
64
64
|
(cache名).apne1.cache.amazonaws.com:6379>
|
65
65
|
```
|
66
66
|
|
67
|
+
この状態であればアプリケーションからの接続が可能ですが、
|
68
|
+
最終的にはパスワードを設定したいので、本件の原因を解決したいです。
|
69
|
+
|
67
70
|
## 参考にしているページ
|
68
71
|
[https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/GettingStarted.html](https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/GettingStarted.html)
|
8
状況追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,5 +50,19 @@
|
|
50
50
|
|
51
51
|
```
|
52
52
|
|
53
|
+
### 暗号化をしない状態で作った場合
|
54
|
+
redisを作るときに、送受信の暗号化を外した状態で作ってみました。
|
55
|
+
セキュリティグループも同じです。
|
56
|
+
この状態では接続できました。
|
57
|
+
|
58
|
+
そのため、下記の状態だと推測できます。
|
59
|
+
- redisサーバーは接続できる場所、同じVPCに設定されており、接続許可の設定にも問題ない
|
60
|
+
- 暗号化に必要な設定が抜けているのかもしれない
|
61
|
+
|
62
|
+
```sh
|
63
|
+
redis-cli -h (cache名).cache.amazonaws.com -p 6379
|
64
|
+
(cache名).apne1.cache.amazonaws.com:6379>
|
65
|
+
```
|
66
|
+
|
53
67
|
## 参考にしているページ
|
54
68
|
[https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/GettingStarted.html](https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/GettingStarted.html)
|
7
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -48,4 +48,7 @@
|
|
48
48
|
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Name or service not known
|
49
49
|
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Name or service not known
|
50
50
|
|
51
|
-
```
|
51
|
+
```
|
52
|
+
|
53
|
+
## 参考にしているページ
|
54
|
+
[https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/GettingStarted.html](https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/GettingStarted.html)
|
6
追記調整
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
```
|
43
43
|
|
44
44
|
関係が無いと思いますが、masterを外した状態でも確認しました。
|
45
|
-
|
45
|
+
暗号化する設定なのでか、サーバが見つかりませんでした。
|
46
46
|
```sh
|
47
47
|
$ redis-cli -h (cache名).cache.amazonaws.com -p 6379
|
48
48
|
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Name or service not known
|
5
試した事修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,14 +36,16 @@
|
|
36
36
|
やはりタイムアウトしてしまうため、もしかしたらネットワークの設定かもしれません。
|
37
37
|
|
38
38
|
```sh
|
39
|
-
$ redis-cli -h (cache名).cache.amazonaws.com -p 6379
|
39
|
+
$ redis-cli -h master.(cache名).cache.amazonaws.com -p 6379
|
40
40
|
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Connection timed out
|
41
41
|
|
42
42
|
```
|
43
|
-
また、masterをつけた状態で確認してみましたが、やはり同じでした。
|
44
43
|
|
44
|
+
関係が無いと思いますが、masterを外した状態でも確認しました。
|
45
|
+
やはり、サーバが見つかりませんでした。
|
45
46
|
```sh
|
46
|
-
$ redis-cli -h
|
47
|
+
$ redis-cli -h (cache名).cache.amazonaws.com -p 6379
|
47
|
-
Could not connect to Redis at (cache名).cache.amazonaws.com:6379:
|
48
|
+
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Name or service not known
|
49
|
+
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Name or service not known
|
48
50
|
|
49
51
|
```
|
4
試した事追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -39,4 +39,11 @@
|
|
39
39
|
$ redis-cli -h (cache名).cache.amazonaws.com -p 6379
|
40
40
|
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Connection timed out
|
41
41
|
|
42
|
+
```
|
43
|
+
また、masterをつけた状態で確認してみましたが、やはり同じでした。
|
44
|
+
|
45
|
+
```sh
|
46
|
+
$ redis-cli -h master.(cache名).cache.amazonaws.com -p 6379
|
47
|
+
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Connection timed out
|
48
|
+
|
42
49
|
```
|
3
質問内容調整
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
【AWS ElasticCache】redisに接続できない
|
1
|
+
【AWS ElasticCache】EC2からredisサーバーに接続できない
|
body
CHANGED
@@ -5,35 +5,31 @@
|
|
5
5
|
RedisサーバーはElasticCacheで作成しました。
|
6
6
|
実際にサーバーへアップロードしたプログラムからRedisサーバに接続したとこタイムアウトを起こして接続できませんでした。
|
7
7
|
|
8
|
-
|
8
|
+
開発環境では、Dockerのredisコンテナを使っているのですが、REDIS_HOSTとDRIVERを設定するだけで接続できていましたので、
|
9
9
|
プロジェクトのプログラムが起因している可能性は少ないと考えています。
|
10
10
|
|
11
11
|
原因を調査したいのですが、ElasticCacheのログを見つけられませんでした。
|
12
12
|
曖昧な質問で恐縮ですが、ログや考えられる問題はないでしょうか?
|
13
13
|
|
14
|
-
##
|
14
|
+
## サーバー構成イメージ
|
15
|
-
|
15
|
+
10.0.0.0/24の内にあるEC2から、10.0.1.0/24内のredisサーバーに接続したいと考えています。
|
16
16
|
|
17
|
-
```
|
18
|
-
CACHE_DRIVER=redis
|
19
|
-
|
17
|
+

|
20
18
|
|
21
|
-
|
19
|
+
ご共有までに、RDSへの接続はできます。
|
22
20
|
|
23
|
-
#
|
21
|
+
## elasticcacheの設定
|
22
|
+
### redisサーバーの設定
|
24
|
-
|
23
|
+
1台構成(バックアップやクラスターの設定はしていません)のredisサーバーを用意しました。
|
25
|
-
|
24
|
+
Redis認証(Redis Auth)は設定していないので、tlsやパスワードの指定は不要な状態です。
|
26
|
-
REDIS_PORT=6379
|
27
|
-
```
|
28
25
|
|
29
|
-
## Laravelのログ
|
30
|
-
|
26
|
+

|
31
|
-
そもそも接続情報が悪いのか、それとも、AWSの構成(セキュリティグループや、VPCの設定)が悪いのか詳しく調べていきたいのですがLaravelのログではこれ以上原因を調べる事ができません。
|
32
27
|
|
33
|
-
|
34
|
-
|
35
|
-
```
|
28
|
+
### redisのセキュリティグループ
|
29
|
+
とりあえず接続確認したいので、6379ポートであれば接続できるようにしています。
|
36
30
|
|
31
|
+

|
32
|
+
|
37
33
|
## 試した事
|
38
34
|
### EC2インスタンスから直接接続してみる
|
39
35
|
インスタンスから、接続できるかredis-cliで接続してみました。
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,4 +32,15 @@
|
|
32
32
|
|
33
33
|
```
|
34
34
|
[2019-08-22 00:50:24] develop.ERROR: Connection timed out [tcp://(cacheの名前).cache.amazonaws.com:6379] {"exception":"[object] (Predis\Connection\ConnectionException(code: 110): Connection timed out [tcp://(cacheの名前).cache.amazonaws.com:6379] at /var/www/vendor/predis/predis/src/Connection/AbstractConnection.php:155)
|
35
|
+
```
|
36
|
+
|
37
|
+
## 試した事
|
38
|
+
### EC2インスタンスから直接接続してみる
|
39
|
+
インスタンスから、接続できるかredis-cliで接続してみました。
|
40
|
+
やはりタイムアウトしてしまうため、もしかしたらネットワークの設定かもしれません。
|
41
|
+
|
42
|
+
```sh
|
43
|
+
$ redis-cli -h (cache名).cache.amazonaws.com -p 6379
|
44
|
+
Could not connect to Redis at (cache名).cache.amazonaws.com:6379: Connection timed out
|
45
|
+
|
35
46
|
```
|
1
追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
【AWS ElasticCache】エラー
|
1
|
+
【AWS ElasticCache】redisに接続できないエラー原因の絞り方を教えてください。
|
body
CHANGED
@@ -1,11 +1,15 @@
|
|
1
|
+
曖昧な質問で申し訳ありません。
|
2
|
+
もし、情報が不足していたらご指摘をお願いいたします。
|
3
|
+
|
1
4
|
AWSのコンテナでlaravelのアプリケーションを動かしていて、キャッシュとセッションをRedisサーバにしようと思います。
|
5
|
+
RedisサーバーはElasticCacheで作成しました。
|
6
|
+
実際にサーバーへアップロードしたプログラムからRedisサーバに接続したとこタイムアウトを起こして接続できませんでした。
|
2
7
|
|
3
|
-
ローカルでは、Dockerで環境を構築しており、REDIS_HOSTを設定するだけで接続できました
|
8
|
+
ローカルでは、Dockerで環境を構築しており、REDIS_HOSTとDRIVERを設定するだけで接続できていましたので、
|
4
|
-
実際のサーバーにアップロードして、Awsで作成したredisに接続する設定をしたところ、
|
5
|
-
|
9
|
+
プロジェクトのプログラムが起因している可能性は少ないと考えています。
|
6
10
|
|
7
|
-
原因を調査したいのですが、ElasticCacheのログ
|
11
|
+
原因を調査したいのですが、ElasticCacheのログを見つけられませんでした。
|
8
|
-
曖昧な質問で恐縮ですが、ログ
|
12
|
+
曖昧な質問で恐縮ですが、ログや考えられる問題はないでしょうか?
|
9
13
|
|
10
14
|
## laravelの.envの設定
|
11
15
|
REDIS_HOSTとエンドポイントを変更しました。
|