web-dev-qa-db-ja.com

ElastiCacheにリモートで接続する-Redis

私たちのサイトではElastiCache-Redisを使用しています。Redisキャッシュをフラッシュする必要があります。また、任意のPCからこのコマンドを使用してElastiCache-Redisにリモートで接続しようとすると、

redis-cli -h example-redis-1.example.0001.euw1.cache.amazonaws.com -p 6379

それは常に言う:

Example-redis-1.example.0001.euw1.cache.amazonaws.com:6379でRedisに接続できませんでした:接続が拒否されました>

インバウンドルールが任意のIPからの6379を許可することを確認し、/ etc/redis.confを編集してbind example-redis-1.example.0001.euw1.cache.amazonaws.comを追加しようとしましたが、エラーよりも残っています同じ。

8
Farmi

ElastiCacheクラスターには、それが存在するVPC内からのみ直接アクセスできます。これは、ElastiCacheが安全なサービスではないためです。

ElastiCacheにリモートで接続するには、要塞サーバーまたはNATを経由する必要があります。 AWSはここに指示を作成しました:

http://docs.aws.Amazon.com/AmazonElastiCache/latest/UserGuide/Access.Outside.html

要塞を使用するには、VPCにある要塞EC2インスタンスにSSHで接続します。接続したら、PCからElastiCache接続をトンネリングするか、要塞のコマンドプロンプトからキャッシュに接続できます。

7
Matt Houser

ステップ1:

ssh -f -N -L6379:<your redis node endpoint>:6379 <your EC2 node that you use to connect to redis>

例:ssh -f -N -L6379:redis.aps1.cache.amazonaws.com:6379 [email protected]

ステップ2:

redis-cli -h 127.0.0.1 -p 6379
3
anuj pradhan

そのVPCでOpenVPNアクセスサーバーを起動することもできます。詳細は VPNサーバーを使用してAWSに接続する の記事にあります

問題を追跡して修正する最も簡単な方法。
1。ポート6379でredis instanceにtelnetできますか?.
2。そうでない場合は、セキュリティグループの受信を確認します。
3。はいの場合、Redisのセットアップ中にencryption at restおよびencryption in transitがオンになっているかどうかを確認します
4。その場合、redis-cliはSSLで機能しません。stunnelをセットアップする必要があります。

以下のAWSのガイドに従ってstunnelをセットアップし、Redisインスタンスに接続します。

https://docs.aws.Amazon.com/AmazonElastiCache/latest/red-ug/in-transit-encryption.html#connect-tls

0
Prashanth

Elasticacheノードに接続できない理由は、DNS名またはエンドポイントがVPC CIDRに属するIP(パブリックIPまたはElastic IPではない)にのみ解決されるためです。これらのIPは公的にルーティング可能ではないため、インターネット経由で接続を確立することはできません。

ノードにアクセスできるようにするには、インターネットへのルートを確立する方法が必要です。これは、VPNを使用するか、NAT設定を@ "Matt Houser"の指示に従って使用することで)実行できます。

私はsshトンネリングを試しませんでしたが、うまくいくはずです。ただし、この場合のEncryption-In-Transitの動作については不明なので、試してみる必要があります。

0
S Square