복붙노트

[REDIS] 당신은 아마존의 아마존 Elasticache 레디 스의 외부로 연결할 수

REDIS

당신은 아마존의 아마존 Elasticache 레디 스의 외부로 연결할 수

나는 EC2 인스턴스에서 VPC에 Elasticache 레디 스 인스턴스에 연결할 수 있어요,하지만 난 그런 내 로컬 dev에 설치 또는에서와 같은 아마존의 EC2 인스턴스의 Elasticache 레디 스 노드 외부로 연결하는 방법이 있는지 알고 싶습니다 다른 공급 업체에서 제공하는 VPS 인스턴스.

현재 내 로컬 설정부터하려고 할 때 :

redis-cli -h my-node-endpoint -p 6379

난 단지 몇 시간 후 제한 시간을 얻는다.

해결법

  1. ==============================

    1.아니, 할 수 없습니다에 의존하지 않고 같은 오버 헤드 / 추가 대기 시간 초고속 캐시를 사용하여 실제 혜택을 죽일 테스트 어쩌면 OK하지만, 터널 등의 '트릭'.

    아니, 할 수 없습니다에 의존하지 않고 같은 오버 헤드 / 추가 대기 시간 초고속 캐시를 사용하여 실제 혜택을 죽일 테스트 어쩌면 OK하지만, 터널 등의 '트릭'.

    여기에서 : http://aws.amazon.com/elasticache/faqs/#Can_I_access_Amazon_ElastiCache_from_outside_AWS

    편집 2018 : 액세스 일부 접속과 운전 약 1/2 방법이 페이지 아래의 지침을 사용하여 외부에서 캐시 레디 스 위에서 작성 할 때 정확이 답변은, 그러나 지금은 가능하다 : https://docs.aws.amazon.com/AmazonElastiCache /latest/red-ug/accessing-elasticache.html

  2. ==============================

    2.SSH 포트 포워딩 트릭을 할해야합니다. 당신이 클라이언트에서이를 실행 해보십시오.

    SSH 포트 포워딩 트릭을 할해야합니다. 당신이 클라이언트에서이를 실행 해보십시오.

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

    그런 다음 클라이언트에서

    redis-cli -h 127.0.0.1 -p 6379
    

    그것은 나를 위해 작동합니다.

    레디 스에 대한 그 기본 포트는 또한 확실히 당신은 당신의 캐시 보안 그룹으로 레디 스 인스턴스에 연결하기 위해 사용하는 것을 EC2 노드의 보안 그룹을 허용 허용하지 6739. 6379주의하시기 바랍니다.

    또한, AWS는 지금 여기 클러스터 더 많은 정보를 액세스 지원

  3. ==============================

    3.이 대답은 유효 기간이 있습니다.

    이 대답은 유효 기간이 있습니다.

    다음 단계에 따라 AWS의 탄성 캐시 외부에 액세스 할 수 있습니다 :

    더 자세한 설명을 위해 AWS 가이드를 참조하십시오

    https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/accessing-elasticache.html#access-from-outside-aws

  4. ==============================

    4.그리 오래된 질문, 저도 같은 문제로 자신을 실행하고 그것을 해결 :

    그리 오래된 질문, 저도 같은 문제로 자신을 실행하고 그것을 해결 :

    때로는 이유를 개발하기 위해 당신은 외부에서 접근 할 필요가 (어쩌면 단순한 버그 수정을위한 멀티 - 배포가 피하기 위해?)

    아마존은 외부 세계에 대한 프록시로 EC2를 사용하는 새로운 가이드를 발표했다 :

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

    행운을 빕니다!

  5. ==============================

    5.우리는 예약 프록시 서버로 HAProxy를 사용하고 있습니다.

    우리는 예약 프록시 서버로 HAProxy를 사용하고 있습니다.

    시스템 외부의 AWS ---> 인터넷 -> HAProxy 공용 IP와 -> 아마존 레디 스 (Elasticache)

    (그 시간에) 그렇게하는 또 다른 좋은 이유가 있다고 공지 사항

    우리가 아마존 DNS는 장애 조치를 지원하지 않는 Node.js를 클라이언트를 사용할 때, 클라이언트 드라이버는 DNS를 다시 찾아 지원하지 않습니다. 레디 스가 실패하면 클라이언트 드라이버는 장애 후 노예 이전 마스터에 연결 유지합니다.

    HAProxy를 사용함으로써, 그 문제를 해결했다.

    이제 최신 ioredis 드라이버를 사용, 그것은 아마존 DNS 장애 조치를 지원합니다.

  6. ==============================

    6.사람이 윈도우 EC2 솔루션을 원하는 BTW 경우, (밝혔다 창 EC2 기계에) 도스 프롬프트에서 다음을 시도하십시오

    사람이 윈도우 EC2 솔루션을 원하는 BTW 경우, (밝혔다 창 EC2 기계에) 도스 프롬프트에서 다음을 시도하십시오

    C : \ 사용자 \ 관리자> netsh를 인터페이스 portproxy 추가 v4tov4 listenport = 6379 대하여 ListenAddress = 10.xxx.64.xxx connectport = 6379 connectaddress = xxx.xxxxxx.ng.0001.use1.cache.amazonaws.com

    C : \ 사용자 \ 관리자> netsh를 인터페이스 portproxy 모두 표시

    IPv4의에 연결 : IPv4의에 들어 :

    주소 포트 주소 포트

    10.xxx.128.xxx 6379 xxx.xxxxx.ng.0001.use1.cache.amazonaws.com 6379

    C : \ 사용자 \ 관리자> netsh를 인터페이스 portproxy 삭제 v4tov4 listenport = 6379 대하여 ListenAddress = 10.xxx.128.xxx

  7. ==============================

    7.이것은 당신에 대한 모든 더러운 일을 할 것입니다 고체 노드 스크립트입니다. 테스트 및 확인 일했다.

    이것은 당신에 대한 모든 더러운 일을 할 것입니다 고체 노드 스크립트입니다. 테스트 및 확인 일했다.

    https://www.npmjs.com/package/uzys-elasticache-tunnel

    사용하는 방법   사용법 : uzys-elasticache 터널 [옵션] [명령]

    명령 :

    start [filename]  start tunneling with configuration file (default: config.json)
    stop              stop tunneling
    status            show tunneling status
    

    옵션 :

    -h, --help     output usage information
    -V, --version  output the version number
    

    사용 예

  8. ==============================

    8.그것의 직접 VPC 인스턴스에서 고전 클러스터에 액세스 할 수 없습니다. 해결 방법은 고전적인 예에 ​​NAT를 구성 할 것이다.

    그것의 직접 VPC 인스턴스에서 고전 클러스터에 액세스 할 수 없습니다. 해결 방법은 고전적인 예에 ​​NAT를 구성 할 것이다.

    간단한의 TCP 프록시를 가지고 NAT 필요

    YourIP=1.2.3.4
    YourPort=80
    TargetIP=2.3.4.5
    TargetPort=22
    
    iptables -t nat -A PREROUTING --dst $YourIP -p tcp --dport $YourPort -j DNAT \
    --to-destination $TargetIP:$TargetPort
    iptables -t nat -A POSTROUTING -p tcp --dst $TargetIP --dport $TargetPort -j SNAT \
    --to-source $YourIP
    iptables -t nat -A OUTPUT --dst $YourIP -p tcp --dport $YourPort -j DNAT \
    --to-destination $TargetIP:$TargetPort
    
  9. ==============================

    9.나는 당신이 당신의 다른 EC2 기계에 stunnel로 설치해야 할 것이다라고이 아마존 문서를 사용하여 해결.

    나는 당신이 당신의 다른 EC2 기계에 stunnel로 설치해야 할 것이다라고이 아마존 문서를 사용하여 해결.

    https://aws.amazon.com/premiumsupport/knowledge-center/elasticache-connect-redis-node/

  10. from https://stackoverflow.com/questions/21917661/can-you-connect-to-amazon-elasticache-redis-outside-of-amazon by cc-by-sa and MIT license