2017-10-17 4 views
0

Ich erhalte diesen Fehler, wenn ich Redisson zu konfigurieren versuche.Redisson mit AWS Elasticache

Ist es nicht möglich, Elasticache w/Redisson auf meinem lokalen Rechner zu verwenden? Welche anderen Alternativen habe ich? Ermöglicht Azure dies?

Antwort

0

Wenn Sie versuchen, von Ihrem lokalen Rechner außerhalb von AWS eine Verbindung mit ElastiCache herzustellen, müssen Sie in derselben VPC wie der ElastiCache-Cluster eine NAT-Instanz erstellen und von Ihrer Anwendung aus eine Verbindung zur NAT-Instanz herstellen . Die NAT-Instanz fungiert als Proxy zwischen Ihrer Anwendung und dem Elasticache-Cluster. Dies sind die Schritte -

  1. Erstellen Sie eine NAT-Instanz in der gleichen VPC wie Ihr Cache-Cluster, aber in einem öffentlichen Subnetz. Eine Elastic IP Address (EIP) muss mit der NAT-Instanz verknüpft sein. Die Portweiterleitungsfunktion von iptables wird verwendet, um einen Port der NAT-Instanz an den Cache-Node-Port innerhalb der Amazon VPC weiterzuleiten.
  2. Erstellen Sie die folgende Sicherheitsgruppe Regeln für die NAT-Instanz und ElastiCache Cluster -

    • NAT-Instanz Sicherheitsgruppe - Inbound - Zugriff auf den Cluster-Port aus Ihrer Anwendung IP (zB 6379 bei Redis.)
    • NAT-Instanz Sicherheitsgruppe - Inbound - SSH Zugriff von einem vertrauenswürdigen IP (Port 22)
    • NAT-Instanz Sicherheitsgruppe - Outbound - (. B. 6379 im Fall von Redis) Zugang zu ElastiCache cluster Port Ziel als ElastiCache Spezifizierungs Sicherheitsgruppe
    • E lasticache Sicherheitsgruppe - Inbound - (. zB 6379 bei Redis) Zugriff von NAT-Instanz Sicherheitsgruppe auf Cluster-Port von Quelle als NAT-Instanz Sicherheitsgruppe
  3. Angabe hinzufügen Eine iptables zum NAT-Instanz entscheiden. Eine iptables-Regel muss hinzugefügt werden, um den Cache-Port von der NAT-Instanz an den Cluster-Knoten weiterzuleiten. Für jeden Knoten im Cluster sollte eine Regel gelten. Ein Beispiel für Redis könnte wie folgt aussehen:

    • iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to <cluster-node-ip>:6379
  4. Die Anwendung außerhalb AWS jetzt wohnhaft in den EastiCache Cluster verbinden kann den EIP der NAT-Instanz und den Cluster-Port.

Weitere Informationen finden Sie hier - http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Access.Outside.html

Eine Alternative ist die Anwendung mit dem redisson-Client auf einem EC2-Instanz (vorzugsweise innerhalb derselben VPC wie ElastiCache) zu implementieren. Sie können dann von dieser Anwendung aus eine Verbindung mit ElastiCache herstellen.

+0

Während dies theoretisch die Frage beantworten könnte, [wäre es vorzuziehen] (// meta.stackoverflow.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Unter [hier] (https://meta.stackexchange.com/a/94027/285661) finden Sie Anweisungen, wie Sie * bessere * "linkbasierte" Antworten schreiben können. Vielen Dank! – GhostCat

Verwandte Themen