

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
<a name="tutorial-private-namespace"></a>

Das folgende 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**  
Die Ressourcendetails, wie Domainnamen und IP-Adressen, dienen nur zu Simulationszwecken. Sie können nicht über das Internet gelöst werden.

Eine end-to-end AWS CLI Version dieses Tutorials finden Sie unter[Erfahren Sie, wie Sie AWS Cloud Map Service Discovery mit DNS-Abfragen und API-Aufrufen verwenden können, indem Sie AWS CLI](tutorial-private-namespace-cli.md).

## Voraussetzungen
<a name="getting-started-prerequisites"></a>

Die folgenden Voraussetzungen müssen erfüllt sein, um das Tutorial erfolgreich abschließen zu können.
+ Bevor Sie beginnen, führen Sie die Schritte in [Zur Verwendung eingerichtet AWS Cloud Map](setting-up-cloud-map.md) 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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), 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](https://learn.microsoft.com/en-us/windows/wsl/install).
+ Für das Tutorial ist eine lokale Umgebung mit dem Befehl `dig` DNS Lookup Utility erforderlich.

## Schritt 1: Erstellen Sie einen AWS Cloud Map Namespace
<a name="tutorial-microservices-step1"></a>

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.

1. Melden Sie sich bei an AWS-Managementkonsole und öffnen Sie die AWS Cloud Map Konsole unter [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Wählen Sie **Create namespace (Namespace erstellen)** aus.

1. 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.

1. (Optional) Geben Sie **unter Namespace-Beschreibung** eine Beschreibung dafür an, wofür Sie den Namespace verwenden möchten.

1. Wählen Sie für die **Instanzerkennung** **API-Aufrufe und öffentliche DNS-Abfragen** aus.

1. Behalten Sie die restlichen Standardwerte bei und wählen Sie **Create Namespace**.

## Schritt 2: Erstellen Sie die Dienste AWS Cloud Map
<a name="tutorial-microservices-step2"></a>

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.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Cloud Map Konsole unter [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Wählen Sie im linken Navigationsbereich Namespaces aus, um die **Namespaces** aufzulisten, die Sie erstellt haben.

1. **Wählen Sie aus der Liste der Namespaces den Namespace aus und klicken Sie auf Details anzeigen. `cloudmap-tutorial.com`**

1. Wählen Sie im Abschnitt **Dienste** die Option **Dienst erstellen** aus und gehen Sie wie folgt vor, um den ersten Dienst zu erstellen.

   1. 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>`.

   1. Wählen Sie für **Service Discovery-Konfiguration** die Optionen **API und DNS** aus.

   1. 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](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) im *Route 53-Entwicklerhandbuch*.

   1. Behalten Sie die restlichen Standardwerte bei und wählen Sie **Dienst erstellen** aus, um zur Seite mit den Namespace-Details zurückzukehren.

1. Wählen Sie im Abschnitt **Dienste** die Option **Dienst erstellen** aus und gehen Sie wie folgt vor, um den zweiten Dienst zu erstellen.

   1. Geben Sie unter **Servicename** `backend-service` ein.

   1. Wählen Sie für **Service Discovery-Konfiguration** die Option **Nur API** aus.

   1. Behalten Sie die restlichen Standardwerte bei und wählen Sie **Service erstellen** aus.

## Schritt 3: Registrieren Sie die AWS Cloud Map Dienstinstanzen
<a name="tutorial-microservices-step3"></a>

In diesem Schritt erstellen Sie zwei Dienstinstanzen, eine für jeden Dienst in unserem Namespace.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Cloud Map Konsole unter [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. **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.**

1. **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.**

1. Wählen Sie im Abschnitt **Dienstinstanzen** die Option **Dienstinstanz registrieren** aus und gehen Sie wie folgt vor, um die erste Dienstinstanz zu erstellen.

   1. Geben Sie als **Dienstinstanz-ID** Folgendes an`first`.

   1. Geben Sie als **IPv4 Adresse** an`192.168.2.1`.

   1. Behalten Sie die restlichen Standardwerte bei und wählen Sie **Dienstinstanz registrieren** aus.

1. Wählen Sie mithilfe des Breadcrumbs oben auf der Seite **cloudmap-tutorial.com** aus, um zurück zur Namespace-Detailseite zu navigieren.

1. ****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.****

1. Wählen Sie im Abschnitt **Dienstinstanzen** die Option **Dienstinstanz registrieren aus und gehen Sie wie folgt vor, um die zweite Dienstinstanz** zu erstellen.

   1. Geben Sie **unter Dienstinstanz-ID** `second` an, dass dies die zweite Dienstinstanz ist.

   1. Wählen Sie als **Instanztyp** die Option **Identifizierungsinformationen für eine andere Ressource** aus.

   1. Fügen Sie für **benutzerdefinierte Attribute** ein Schlüssel-Wert-Paar mit `service-name` als Schlüssel und `backend` als Wert hinzu.

   1. Wählen Sie **Register service instance (Service-Instance registrieren)** aus.

## Schritt 4: Entdecken Sie die Dienstinstanzen AWS Cloud Map
<a name="tutorial-microservices-step4"></a>

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](https://downloads.isc.org/isc/bind9/cur/9.19/doc/arm/html/manpages.html#dig-dns-lookup-utility).

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Route 53-Konsole unter [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/).

1. Wählen Sie in der linken Navigation **Hosted Zones (Gehostete Zonen)**.

1. 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.

1. Fragen Sie mit dem Befehl dig und einem der Route 53-Nameserver für Ihre gehostete Zone die DNS-Einträge für Ihre Dienstinstanz ab.

   ```
   dig @hosted-zone-nameserver public-service.cloudmap-tutorial.com
   ```

   `ANSWER SECTION`In der Ausgabe sollte die IPv4 Adresse angezeigt werden, die Sie mit Ihrem `public-service` Service verknüpft haben.

   ```
   ;; ANSWER SECTION:
   public-service.cloudmap-tutorial.com. 300 IN A	192.168.2.1
   ```

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
<a name="tutorial-microservices-step5"></a>

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.

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Cloud Map Konsole unter [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. **Wählen Sie aus der Liste der Namespaces den `cloudmap-tutorial.com` Namespace aus und klicken Sie auf Details anzeigen.**

1. **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.**

1. Wählen Sie im Abschnitt **Dienstinstanzen** die `first` Instanz aus und klicken Sie auf Abmelden**.**

1. Wählen Sie mithilfe des Breadcrumbs oben auf der Seite **cloudmap-tutorial.com** aus, um zur Namespace-Detailseite zurückzukehren.

1. ****Wählen Sie auf der Namespace-Detailseite aus der Liste der Dienste den öffentlichen Dienst aus und klicken Sie auf Löschen.****

1. Wiederholen Sie die Schritte 3-6 für die. `backend-service`

1. Wählen Sie in der linken Navigationsleiste **Namespaces** aus.

1. **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.