Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erfahren Sie, wie Sie AWS Cloud Map Service Discovery mit DNS-Abfragen und API-Aufrufen verwenden
Dieses Tutorial simuliert eine Microservice-Architektur mit zwei Backend-Diensten. Der erste Dienst wird mithilfe einer DNS-Abfrage auffindbar sein. Der zweite Dienst wird nur über die AWS Cloud Map API auffindbar sein.
Anmerkung
Für die Zwecke dieses Tutorials dienen die Ressourcendetails, wie Domainnamen und IP-Adressen, nur zu Simulationszwecken. Sie können nicht über das Internet gelöst werden.
Voraussetzungen
Die folgenden Voraussetzungen müssen erfüllt sein, um dieses Tutorial erfolgreich abzuschließen.
-
Bevor Sie beginnen, führen Sie die Schritte in Zur Verwendung eingerichtet AWS Cloud Map aus.
-
Wenn Sie das noch nicht installiert haben AWS Command Line Interface, folgen Sie den Schritten unter Installieren oder Aktualisieren der neuesten Version von AWS CLI, um es zu installieren.
Das Tutorial erfordert zum Ausführen von Befehlen ein Befehlszeilenterminal oder eine Shell. Verwenden Sie unter Linux und macOS Ihre bevorzugte Shell und Ihren bevorzugten Paketmanager.
Anmerkung
In Windows werden einige Bash-CLI-Befehle, die Sie häufig mit Lambda verwenden (z. B.
zip
), von den integrierten Terminals des Betriebssystems nicht unterstützt. Um eine in Windows integrierte Version von Ubuntu und Bash zu erhalten, installieren Sie das Windows-Subsystem für Linux. Für das Tutorial ist eine lokale Umgebung mit dem Befehl
dig
DNS Lookup Utility erforderlich. Weitere Informationen zu diesemdig
Befehl finden Sie unter dig — DNS lookup utility.
Schritt 1: Erstellen Sie einen AWS Cloud Map Namespace
In diesem Schritt erstellen Sie einen öffentlichen AWS Cloud Map Namespace. AWS Cloud Map erstellt in Ihrem Namen eine Route 53-Hosting-Zone mit demselben Namen. Auf diese Weise können Sie die in diesem Namespace erstellten Dienstinstanzen entweder mithilfe von öffentlichen DNS-Einträgen oder mithilfe von AWS Cloud Map API-Aufrufen ermitteln.
Melden Sie sich bei an AWS Management Console und öffnen Sie die AWS Cloud Map Konsole unter https://console.aws.amazon.com/cloudmap/
. -
Wählen Sie Create namespace (Namespace erstellen) aus.
-
Geben
cloudmap-tutorial.com
Sie als Namespace-Name an.Anmerkung
Wenn Sie dies in der Produktion verwenden möchten, sollten Sie sicherstellen, dass Sie den Namen einer Domain angegeben haben, die Sie besitzen oder auf die Sie Zugriff hatten. Für die Zwecke dieses Tutorials ist es jedoch nicht erforderlich, dass es sich um eine tatsächliche Domain handelt, die verwendet wird.
-
(Optional) Geben Sie unter Namespace-Beschreibung eine Beschreibung dafür an, wofür Sie den Namespace verwenden möchten.
-
Wählen Sie für die Instanzerkennung API-Aufrufe und öffentliche DNS-Abfragen aus.
-
Behalten Sie die restlichen Standardwerte bei und wählen Sie Create Namespace.
Schritt 2: Erstellen Sie die Dienste AWS Cloud Map
In diesem Schritt erstellen Sie zwei Dienste. Der erste Dienst wird über öffentliche DNS- und API-Aufrufe auffindbar sein. Der zweite Dienst wird nur über API-Aufrufe auffindbar sein.
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Cloud Map Konsole unter https://console.aws.amazon.com/cloudmap/
. -
Wählen Sie im linken Navigationsbereich Namespaces aus, um die Namespaces aufzulisten, die Sie erstellt haben.
-
Wählen Sie aus der Liste der Namespaces den Namespace aus und klicken Sie auf Details anzeigen.
cloudmap-tutorial.com
-
Wählen Sie im Abschnitt Dienste die Option Dienst erstellen aus und gehen Sie wie folgt vor, um den ersten Dienst zu erstellen.
-
Geben Sie unter Servicename
public-service
ein. Der Dienstname wird auf die DNS-Einträge angewendet, die AWS Cloud Map erstellt werden. Das verwendete Format ist
.<service-name>
.<namespace-name>
-
Wählen Sie für Service Discovery-Konfiguration die Optionen API und DNS aus.
-
Wählen Sie im Abschnitt DNS-Konfiguration für Routing-Richtlinie die Option Mehrwertiges Antwort-Routing aus.
Anmerkung
Die Konsole übersetzt dies nach der Auswahl in MULTIVALUE. Weitere Informationen zu den verfügbaren Routing-Optionen finden Sie unter Auswahl einer Routing-Richtlinie im Route 53-Entwicklerhandbuch.
-
Behalten Sie die restlichen Standardwerte bei und wählen Sie Dienst erstellen aus, um zur Seite mit den Namespace-Details zurückzukehren.
-
-
Wählen Sie im Abschnitt Dienste die Option Dienst erstellen aus und gehen Sie wie folgt vor, um den zweiten Dienst zu erstellen.
-
Geben Sie unter Servicename
backend-service
ein. -
Wählen Sie für Service Discovery-Konfiguration die Option Nur API aus.
-
Behalten Sie die restlichen Standardwerte bei und wählen Sie Service erstellen aus.
-
Schritt 3: Registrieren Sie die AWS Cloud Map Dienstinstanzen
In diesem Schritt erstellen Sie zwei Dienstinstanzen, eine für jeden Dienst in unserem Namespace.
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Cloud Map Konsole unter https://console.aws.amazon.com/cloudmap/
. -
Wählen Sie aus der Liste der Namespaces den Namespace aus, den Sie in Schritt 1 erstellt haben, und wählen Sie Details anzeigen aus.
-
Wählen Sie auf der Seite mit den Namespace-Details aus der Liste der Dienste den
public-service
Dienst aus und klicken Sie auf Details anzeigen. -
Wählen Sie im Abschnitt Dienstinstanzen die Option Dienstinstanz registrieren aus und gehen Sie wie folgt vor, um die erste Dienstinstanz zu erstellen.
-
Geben Sie als Dienstinstanz-ID Folgendes an
first
. -
Geben Sie als IPv4 Adresse an
192.168.2.1
. -
Behalten Sie die restlichen Standardwerte bei und wählen Sie Dienstinstanz registrieren aus.
-
-
Wählen Sie mithilfe des Breadcrumbs oben auf der Seite cloudmap-tutorial.com aus, um zurück zur Namespace-Detailseite zu navigieren.
-
Wählen Sie auf der Seite mit den Namespace-Details aus der Liste der Dienste den Backend-Service aus und klicken Sie auf Details anzeigen.
-
Wählen Sie im Abschnitt Dienstinstanzen die Option Dienstinstanz registrieren aus und gehen Sie wie folgt vor, um die zweite Dienstinstanz zu erstellen.
-
Geben Sie unter Dienstinstanz-ID
second
an, dass dies die zweite Dienstinstanz ist. -
Wählen Sie als Instanztyp die Option Identifizierungsinformationen für eine andere Ressource aus.
-
Fügen Sie für benutzerdefinierte Attribute ein Schlüssel-Wert-Paar mit
service-name
als Schlüssel undbackend
als Wert hinzu. -
Wählen Sie Register service instance (Service-Instance registrieren) aus.
-
Schritt 4: Entdecken Sie die Dienstinstanzen AWS Cloud Map
Nachdem der AWS Cloud Map Namespace, die Dienste und die Dienstinstanzen erstellt wurden, können Sie überprüfen, ob alles funktioniert, indem Sie die Instanzen ermitteln. Verwenden Sie den dig
Befehl, um die öffentlichen DNS-Einstellungen zu überprüfen, und die AWS Cloud Map API, um den Back-End-Dienst zu verifizieren. Weitere Informationen zu diesem dig
Befehl finden Sie unter dig — DNS-Suchprogramm
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Route 53-Konsole unter https://console.aws.amazon.com/route53/
. -
Wählen Sie in der linken Navigation Hosted Zones (Gehostete Zonen).
-
Wählen Sie die gehostete Zone cloudmap-tutorial.com aus. Dadurch werden die Details der gehosteten Zone in einem separaten Bereich angezeigt. Notieren Sie sich die Nameserver, die mit Ihrer Hosting-Zone verknüpft sind, da wir diese im nächsten Schritt verwenden werden.
-
Fragen Sie mit dem Befehl dig und einem der Route 53-Nameserver für Ihre gehostete Zone die DNS-Einträge für Ihre Service-Instanz ab.
dig @
hosted-zone-nameserver
public-service.cloudmap-tutorial.comANSWER SECTION
In der Ausgabe sollte die IPv4 Adresse angezeigt werden, die Sie mit Ihrempublic-service
Service verknüpft haben.;; ANSWER SECTION: public-service.cloudmap-tutorial.com. 300 IN A 192.168.2.1
-
Fragen Sie mithilfe von die AWS CLI Attribute für Ihre zweiten Dienstinstanzen ab.
aws servicediscovery discover-instances --namespace-name cloudmap-tutorial.com --service-name backend-service --region
region
In der Ausgabe werden die Attribute, die Sie dem Service zugeordnet haben, als Schlüssel-Wert-Paare angezeigt.
{ "Instances": [ { "InstanceId": "second", "NamespaceName": "cloudmap-tutorial.com", "ServiceName": "backend-service", "HealthStatus": "UNKNOWN", "Attributes": { "service-name": "backend" } } ], "InstancesRevision": 71462688285136850 }
Schritt 5: Bereinigen Sie die Ressourcen
Sobald Sie das Tutorial abgeschlossen haben, können Sie die Ressourcen löschen. AWS Cloud Map erfordert, dass Sie sie in umgekehrter Reihenfolge bereinigen, zuerst die Dienstinstanzen, dann die Dienste und schließlich den Namespace. AWS Cloud Map bereinigt die Route 53-Ressourcen in Ihrem Namen, wenn Sie diese Schritte ausführen.
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Cloud Map Konsole unter https://console.aws.amazon.com/cloudmap/
. -
Wählen Sie aus der Liste der Namespaces den
cloudmap-tutorial.com
Namespace aus und klicken Sie auf Details anzeigen. -
Wählen Sie auf der Seite mit den Namespace-Details aus der Liste der Dienste den
public-service
Dienst aus und klicken Sie auf Details anzeigen. -
Wählen Sie im Abschnitt Dienstinstanzen die
first
Instanz aus und klicken Sie auf Abmelden. -
Wählen Sie mithilfe des Breadcrumbs oben auf der Seite cloudmap-tutorial.com aus, um zur Namespace-Detailseite zurückzukehren.
-
Wählen Sie auf der Namespace-Detailseite aus der Liste der Dienste den öffentlichen Dienst aus und klicken Sie auf Löschen.
-
Wiederholen Sie die Schritte 3-6 für die.
backend-service
-
Wählen Sie in der linken Navigationsleiste Namespaces aus.
-
Wählen Sie den
cloudmap-tutorial.com
Namespace aus und wählen Sie Löschen.Anmerkung
Obwohl die Route 53-Ressourcen in Ihrem Namen AWS Cloud Map bereinigt werden, können Sie zur Route 53-Konsole navigieren, um zu überprüfen, ob die
cloudmap-tutorial.com
gehostete Zone gelöscht wurde.