Kann ich festlegen, HTTP-Endpunkt in einer VPC, die als Ressourcen in der AWS-API-Gateway?
Habe ich die situation, wenn mein Produkt(einige Web-API), ist das Leben innerhalb von VPC, D. H. ohne irgendeinen externen Zugriff. Ich würde gerne, um das Teil freizulegen dieser APIs(nur ein paar von HTTP-Methoden) werden aus dem internet erreichbar. Ich bin versucht, dies zu erreichen über die AWS-API-Gateway, aber wie es aussieht, kann ich nicht machen interne ELB Endpunkt der API-Gateway-Ressource. Irgendwelche Ideen, wie kann ich dies tun?
Dank,
--Vovan
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies war ursprünglich nicht möglich, und dann gelöst wurde mit Unterstützung für client-Zertifikate, die API-Gateway verwenden könnte, um authentifizieren zu Ihren Diensten. Dies war eine gute Lösung, und ist noch erhältlich, aber immer noch erforderlich, Ihre Dienste werden ausgesetzt-zumindest in gewissem Sinne-an das Internet.
Im November 2017, AWS veröffentlicht eine neue Funktion, mit der Sie eigentlich die Bereitstellung eines Netzwerk-Pfades zwischen API Gateway und internen Dienstleistungen.
Historischen Kontext folgt.
Wie jetzt, es gibt keine einfache und sichere Weg, dies zu tun, weil Sie Ihre Dienste, die zugänglich zu API-Gateway zugänglich sein müssen, über/für die öffentlichkeit ausgesetzt Internet und gibt es keinen eingebauten Mechanismus Vertrauen, indem Sie die können Sie versichert sein, dass solch eine Anfrage eigentlich stammt aus alle API-Gateway-Implementierung, viel weniger Ihre API-Gateway-Bereitstellung.Amazon scheint das Problem gelöst, der die Authentifizierung anfordert, um Ihre back-end-Dienste als gewiss kommen, nicht nur aus der API-Gateway, aber von Ihre API-Gateway-Instanz. Wie vor, Endpunkte noch aus dem Internet ausgesetzt, da die Quell-IP-Adresse ist nicht vorhersehbar-aber API-gateway unterstützt jetzt SSL-client-Zertifikate, die die back-Seite von API-Gateway authentifizieren sich der front-side-back-end-Dienst, die API-gateway aufrufen.
Wenn Sie erzeugen ein client-Zertifikat in die API-Gateway-Konsole, sind Sie mit dem öffentlichen Schlüssel für das Zertifikat. Für die Sicherheit, der private Schlüssel verbleibt API-Gateway und ist für Sie nicht zugänglich. API-Gateway wird den öffentlichen Schlüssel, um Ihre back-end bei der Aushandlung von SSL. Jeder peer nicht präsentiert, die gleichen öffentlichen Schlüssel ist nicht API-gateway, und Ihre back-end ist, soll verweigern SSL-Aushandlung.
Wenn eine schädliche Schauspieler, der jemals in den Besitz des öffentlichen Schlüssels, würden Sie nicht immer noch in der Lage zu kommunizieren mit Ihren back-end über SSL, weil Sie würde fehlen die gesteckten privaten Schlüssel, der nur bekannt API-Gateway. (Ihre Seite der Interaktion wäre verschlüsselt unter Verwendung des SSL-Zertifikats und es ist verpaart privaten Schlüssel, das ist selbstverständlich nur Ihnen bekannt ist.)
Diese Fähigkeit-Adressen, was bisher zu sein schien, eine erhebliche Einschränkung der utility-API-Gateway, HTTP-proxy-Funktionalität... eine Beschränkung dieser Bedeutung, in der Tat, dass, als ich entdeckte, die überarbeiteten Informationen vor, begann ich zu zweifeln: Hatte diese schon immer da gewesen, und ich hatte es irgendwie geschafft, es zu übersehen? Die Wayback Machine sagt, Nein, es ist neu. Diese information wurde Hinzugefügt im September 2015.
Es ist eher ein Umweg, aber Sie können Ihre proxy-Web-service Endpunkte, die in einer VPC, die durch eine Lambda-Funktion. Das Lambda-Funktion kann direkt aufgerufen werden von der API-Gateway. Dieser blog post gibt details, wie das zu tun.