Zum einrichten einer Benutzerdefinierten Domäne für die AWS-API-Gateway

0
215

AWS-API-Gateway ist ideal als front-end für Lambda-Funktionen und andere AWS-services. Allerdings, die Standard-endpoint ist eine subdomain von amazonaws.com,, das ist nicht benutzerfreundlich. Wir werden Ihnen zeigen, wie zu reparieren und einrichten einer benutzerdefinierten Domäne.

Anfordern eines Zertifikats von ACM und Link-API-Gateway

Sie müssen Eigentümer der domain-Namen, die Sie verwenden möchten, für die API. Sie werden wahrscheinlich wollen, um diese auf eine sub-Domain wie api.example.com. Um dies zu tun, müssen Sie zwei Dinge tun: verlangen Sie ein SSL-Zertifikat von AWS Zertifikat-Manager (ACM) zu sichern, die Anfragen an die API, und aktualisieren Sie Ihre DNS-Konfiguration Punkt-zu-API-Gateway.

Anmelden und den Kopf über die ACM-Konsole. Von hier aus, wählen Sie “Zertifikat Anfordern” und geben Sie “Öffentlich” als der Typ.

Als Nächstes geben Sie den domain-Namen Sie verwenden möchten, für die dieses Zertifikat. Sie können mehrere domains hier, aber eines ist wahrscheinlich genug, als API Phasen aufgeteilt werden, die durch sub-URLs sowieso.

Sie haben zwei Optionen für die Validierung. Die erste erfordert, dass Sie aktualisieren Sie Ihre DNS-Konfiguration mit einem CNAME-Eintrag. Die zweite schickt eine Bestätigungs-E-Mail, um die E-Mail haben Sie auf Ansprechpartner für die domain. Das wird nicht funktionieren, wenn Sie Ihre E-Mail Adresse ist nicht sichtbar, die.ist, was passieren wird, wenn Sie haben WhoisGuard Schutz.

Die DNS-Konfiguration ist ziemlich einfach, so gehen wir mit, dass. Der nächste Bildschirm zeigt Ihnen den Namen und Wert für den Datensatz, den Sie schreiben müssen. Wenn Sie mit Route 53, Amazon den eigenen domain-registrar und DNS-Dienst, wird dieser Vorgang automatisch, und Sie können einfach drücken Sie “Datensatz Erstellen” In der Route 53″ um dies für Sie tun.

Es kann einige Minuten dauern, für die änderungen zu übernehmen, wenn Sie mit third-party-registrar. Einmal validiert, wird Ihr Zertifikat sollte sich ändern in den status “Ausgestellt”, und wird bereit sein, einen link zu der API-Gateway.

Wechseln Sie über die API-Gateway-Konsole, und klicken Sie auf “Benutzerdefinierte Domain-Namen” in der Seitenleiste. Erstellen Sie eine neue, geben Sie Ihren domain-Namen ein, und wählen Sie das Zertifikat, das Sie gerade erstellt haben. Sie müssen auch sicherstellen, dass Sie die richtige API-Typ ausgewählt.

Klicken Sie auf erstellen, und eine neue domain sollte zeigen, bis in der Liste. Klicken Sie auf “Bearbeiten”, um eine Pfad-Zuordnung hinzuzufügen. Dieser link wird eine bestimmte subdomain (z.B. api.example.com/v1/) auf der API und der Bühne, die Sie wählen.

Es wäre wahrscheinlich eine gute Idee, um verschiedene Pfade für verschiedene API-Stadien, wie ein Entwicklungspfad für den $Standard der Bühne, und eine Produktions-Pfad für den Benutzer gerichteten Phase.

Einmal erstellt, kopieren Sie die “Target Domain” Wert. Dies ist, was brauchen Sie zum aktualisieren der DNS-Konfiguration (nicht die API-Endpunkt selbst).

Verknüpfen Sie Ihre DNS-API-Gateway

Sie werden bemerken in dieser Phase, dass wenn Sie besuchen Sie die URL in Ihren browser ein, wird nichts passieren. API-Gateway konfiguriert ist Ihre domain sicher, aber es ist nicht erhalten den Verkehr, weil die DNS nicht zeigen jedermann überall.

Für Drittanbieter-DNS -, müssen Sie einen CNAME-Eintrag. Dieser ordnet einen domain-Namen zu einem anderen domain-Namen, erfordert aber einen zusätzlichen DNS-lookup. Fügen Sie in der “Target Domain-Name” Wert für die benutzerdefinierte Domäne, die Sie einrichten in der API-Gateway.

api.example.com CNAME api-id.execute-api.region.amazonaws.com/stage

Wenn Sie mit Route 53, die Konfiguration ist einfacher. Sie können den gleichen Effekt erzielen, in einem lookup über Einen a-record auf “Alias” – Modus, einem speziellen record-Typ, ermöglicht Ihnen das anzeigen der Datensatz direkt in einer AWS-Ressource-Namen. Wählen Sie einfach die API aus der dropdown-Liste, und klicken Sie auf erstellen.

Änderungen ein bisschen zu propagieren, aber Ihre API sollte nun von Ihrem domain-Namen. Wenn es nicht funktioniert, überprüfen Sie, um sicherzustellen, dass Sie eine Verbindung über HTTPS, wie es nicht akzeptieren, nicht sichere verbindungen.