2

Ich versuche, meine VPC Lambda-Funktion für ElasticCache auf DynamoDB zugreifen. Ich weiß dafür, ich muss ein NAT-Gateway einrichten. Ich bin jedoch nicht in der Lage, es zum Laufen zu bringen. Mein privates Subnetz ist in 172.31. . Bereich.Wie verbinde ich AWS Lambda-Funktion innerhalb einer VPC mit öffentlichen Ressourcen wie DynamoDB?

Dies sind die Schritte, die ich folgende bin:

  1. in 10.0.0.0 mit IP-Bereich ein öffentliches Subnetz erstellen.
  2. Erstellen Sie eine öffentliche VPC im selben IP-Bereich wie oben erwähnt.
  3. Erstellen Sie ein öffentliches Internet-Gateway in der öffentlichen VPC.
  4. Erstellen Sie eine öffentliche Routentabelle, bei der es sich nicht um die Hauptroute handelt, und fügen Sie das öffentliche Subnetz hinzu. Fügen Sie dann eine Route für 0.0.0.0/0 zu dem oben erstellten öffentlichen Internet-Gateway hinzu.
  5. Erstellen Sie ein NAT-Gateway im öffentlichen Subnetz. Dieses NAT erhält eine elastische IP und eine private IP in 10. .. * Reichweite.

Jetzt habe ich 3 Routing-Tabelle, zwei für meine öffentliche Subnetze (10.0.0.0) und einem für mein privates Subnetz bestehenden (172.31.0.0), den Teil meiner privaten VPC ist.

Meine private Routentabelle hat eine Route für 0.0.0.0/0 zu meinem privaten Internet-Gateway.

Ich denke, dass ich diese Route ändern muss, um auf mein öffentliches NAT-Gateway zu verweisen, jedoch kann ich dies nicht tun, da die private IP meines NAT im Bereich 10.0.0.0 liegt. Ich bin an dieser Stelle verwirrt, wie es weitergeht. Ich habe versucht, ein NAT-Gateway in einem privaten Subnetz zu erstellen und die Route dorthin zu senden, aber es funktioniert auch nicht. Was ich verpasse?

+2

Die Standardroute Ihres privaten Subnetzes sollte auf die [NAT Gateway ID] verweisen (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html#nat-gateway-create- Route), nicht das Internet-Gateway. –

+0

Wie bereits erwähnt, zeigt mein privates Subnetz mein NAT nicht in der Liste der Optionen an, an die weitergeleitet werden soll. – Adi

+0

Verwenden Sie ElastiCache nicht zusammen mit DynamoDB, bis Amazon eine gute Lösung dafür veröffentlicht hat, da es unglaublich mühsam ist, es jetzt richtig zu konfigurieren. Wir verwendeten redislabs.com für unsere Lambdas. –

Antwort

0

Der Fehler, den ich machte, war die Erstellung von zwei VPC, eine für private Subnetz und eine für die Öffentlichkeit. AWS VPC kann nur dann miteinander kommunizieren, wenn Peering aktiviert ist.

Der Begriff des privaten und öffentlichen Subnetzes ist zunächst für eine Person aus dem Netzwerkhintergrund mehrdeutig. Alles, was es tatsächlich bedeutet, ist das logische Subnetz, über das Ressourcen aus dem Internet (wie Webserver) und lokale Ressourcen wie der Datenbankserver (der vor dem Internet geschützt sein sollte) verfügbar sein sollen.

0

Dumm, aber vermischst du zufällig die Standard-VPC (172.31 ...) und die VPC, die du erstellt hast (10.0 ...). Wenn Sie also die Routentabelle für die Standard-VPCs sehen, handelt es sich eigentlich um die Standard-Subnetze, die übrigens öffentlich sind!

Verwandte Themen