Einen AWS Cloud Map Namespace zur Gruppierung von Anwendungsdiensten erstellen - AWS Cloud Map

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.

Einen AWS Cloud Map Namespace zur Gruppierung von Anwendungsdiensten erstellen

Sie können einen Namespace erstellen, um Dienste für Ihre Anwendung unter einem benutzerfreundlichen Namen zu gruppieren, der die Erkennung von Anwendungsressourcen über API-Aufrufe oder DNS-Abfragen ermöglicht.

Optionen für die Instanzensuche

In der folgenden Tabelle sind die verschiedenen Optionen zur Instanzerkennung AWS Cloud Map und der entsprechende Namespace-Typ zusammengefasst, den Sie je nach den Diensten und der Konfiguration Ihrer Anwendung erstellen können.

Namespace-Typ Methode zur Erkennung von Instanzen Funktionsweise Zusätzliche Informationen
HTTP API-Aufrufe Ressourcen in Ihrer Anwendung können andere Ressourcen nur ermitteln, indem sie die DiscoverInstances API aufrufen.
Privates DNS API-Aufrufe und DNS-Abfragen in einer VPC

Ressourcen in Ihrer Anwendung können andere Ressourcen ermitteln, indem sie die DiscoverInstances API aufrufen und die Nameserver in der privaten Route 53-Hosting-Zone abfragen, die automatisch erstellt wird. AWS Cloud Map

Die von erstellte gehostete Zone AWS Cloud Map hat denselben Namen wie der Namespace und enthält DNS-Einträge mit Namen im Format Dienstname. Namespace-Name.

Anmerkung

Route 53 Resolver löst DNS-Abfragen, die ihren Ursprung in der VPC haben, mithilfe von Datensätzen in der privaten Hosting-Zone auf. Wenn die private gehostete Zone keinen Datensatz enthält, der dem Domänennamen in einer DNS-Abfrage entspricht, antwortet Route 53 auf die Anfrage mit NXDOMAIN (nicht vorhandene Domäne).

Öffentliches DNS API-Aufrufe und öffentliche DNS-Abfragen

Ressourcen in Ihrer Anwendung können andere Ressourcen ermitteln, indem sie die DiscoverInstances API aufrufen und die Nameserver in der öffentlichen Route 53-Hosting-Zone abfragen, AWS Cloud Map die automatisch erstellt wird.

Die öffentlich gehostete Zone hat denselben Namen wie der Namespace und enthält DNS-Einträge mit Namen im Format Dienstname. Namespace-Name.

Anmerkung

Der Namespace-Name muss in diesem Fall ein Domainname sein, den Sie registriert haben.

Verfahren

Sie können diesen Schritten folgen, um einen Namespace mit dem AWS CLI AWS Management Console, oder dem SDK für Python zu erstellen.

AWS Management Console
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Cloud Map Konsole unter https://console.aws.amazon.com/cloudmap/.

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

  3. Geben Sie als Namespace-Name einen Namen ein, der zur Erkennung von Instances verwendet wird.

    Anmerkung
    • Namespaces, die für öffentliche DNS-Abfragen konfiguriert sind, müssen mit einer Top-Level-Domain enden. z. B. .com.

    • Sie können einen internationalisierten Domänennamen (IDN) angeben, wenn Sie den Namen zuerst in Punycode umwandeln. Informationen zu Onlinekonvertern erhalten Sie, indem Sie eine Internetsuche nach „punycode converter“ durchführen.

      Sie können auch einen internationalisierten Domänennamen in Punycode konvertieren, wenn Sie Namespaces programmgesteuert erstellen. Wenn Sie z. B. mit Java arbeiten, können Sie einen Unicode-Wert in Punycode umwandeln, indem Sie die Methode toASCII der java.net.IDN-Bibliothek verwenden.

  4. (Optional) Geben Sie für die Namespace-Beschreibung Informationen über den Namespace ein, die auf der Seite Namespaces und unter Namespace-Informationen angezeigt werden. Sie können diese Informationen verwenden, um einen Namespace einfach zu identifizieren.

  5. Bei der Instanzerkennung können Sie zwischen API-Aufrufen, API-Aufrufen und DNS-Abfragen in VPCs und API-Aufrufen und öffentlichen DNS-Abfragen wählen, um jeweils einen HTTP-, privaten DNS- oder öffentlichen DNS-Namespace zu erstellen. Weitere Informationen finden Sie unter Optionen für die Instanzensuche.

    Gehen Sie je nach Ihrer Auswahl wie folgt vor.

    • Wenn Sie API-Aufrufe und DNS-Abfragen in VPCs wählen, wählen Sie für VPC eine Virtual Private Cloud (VPC), der Sie den Namespace zuordnen möchten.

    • Wenn Sie API-Aufrufe und DNS-Abfragen in VPCs oder API-Aufrufe und öffentliche DNS-Abfragen wählen, geben Sie für TTL einen numerischen Wert in Sekunden an. Der Wert Time to Live (TTL) bestimmt, wie lange der DNS-Resolver die Informationen für den SOA-DNS-Eintrag (Start of Authority) der Route 53-Hosting-Zone zwischenspeichert, die mit Ihrem Namespace erstellt wurde. Weitere Informationen zu TTL finden Sie unter TTL (Sekunden) im Amazon Route 53 Developer Guide.

  6. (Optional) Wählen Sie unter Tags die Option Tags hinzufügen aus und geben Sie dann einen Schlüssel und einen Wert an, um Ihren Namespace zu kennzeichnen. Sie können ein oder mehrere Tags angeben, die Ihrem Namespace hinzugefügt werden sollen. Mithilfe von Tags können Sie Ihre AWS Ressourcen kategorisieren, sodass Sie sie einfacher verwalten können. Weitere Informationen finden Sie unter Verschlagworten Sie Ihre Ressourcen AWS Cloud Map.

  7. Wählen Sie Create namespace (Namespace erstellen) aus. Sie können den Status des Vorgangs mithilfe ListOperationsvon anzeigen. Weitere Informationen finden Sie ListOperationsin der AWS Cloud Map API-Referenz

AWS CLI
  • Erstellen Sie einen Namespace mit dem Befehl für den Instance-Discovery-Typ, den Sie bevorzugen (ersetzen Sie die roten Werte durch Ihre eigenen).

    • Erstellen Sie einen HTTP-Namespace mit. create-http-namespace Dienstinstanzen, die mit einem HTTP-Namespace registriert wurden, können mithilfe einer DiscoverInstances Anfrage ermittelt werden, sie können jedoch nicht mithilfe von DNS ermittelt werden.

      aws servicediscovery create-http-namespace --name name-of-namespace
    • Erstellen Sie einen privaten Namespace, der auf DNS basiert und nur innerhalb einer bestimmten Amazon VPC sichtbar ist, indem Sie. create-private-dns-namespace Sie können Instances, die in einem privaten DNS-Namespace registriert wurden, entweder mithilfe einer DiscoverInstances Anfrage oder mithilfe von DNS ermitteln

      aws servicediscovery create-private-dns-namespace --name name-of-namespace --vpc vpc-xxxxxxxxx
    • Erstellen Sie einen öffentlichen Namespace, der auf DNS basiert und im Internet sichtbar ist, indem Sie. create-public-dns-namespace Sie können Instances erkennen, die bei einem öffentlichen DNS-Namespace registriert wurden, indem Sie entweder eine DiscoverInstances-Anforderung oder DNS verwenden.

      aws servicediscovery create-public-dns-namespace --name name-of-namespace
AWS SDK for Python (Boto3)
  1. Falls Sie es noch nicht Boto3 installiert haben, finden Sie Boto3 hier Anweisungen zur Installation, Konfiguration und Verwendung.

  2. Importieren Boto3 und servicediscovery als Ihren Service verwenden.

    import boto3 client = boto3.client('servicediscovery')
  3. Erstellen Sie einen Namespace mit dem Befehl für den Instance-Discovery-Typ, den Sie bevorzugen (ersetzen Sie die roten Werte durch Ihre eigenen):

    • Erstellen Sie einen HTTP-Namespace mit. create_http_namespace() Dienstinstanzen, die mit einem HTTP-Namespace registriert wurden, können mithilfe von discover_instances() DNS ermittelt werden, sie können jedoch nicht ermittelt werden.

      response = client.create_http_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • Erstellen Sie einen privaten Namespace, der auf DNS basiert und nur innerhalb einer bestimmten Amazon VPC sichtbar ist, indem Sie. create_private_dns_namespace() Sie können Instances, die in einem privaten DNS-Namespace registriert wurden, entweder mithilfe von oder discover_instances() mithilfe von DNS ermitteln

      response = client.create_private_dns_namespace( Name='name-of-namespace', Vpc='vpc-1c56417b', ) # If you want to see the response print(response)
    • Erstellen Sie einen öffentlichen Namespace, der auf DNS basiert und im Internet sichtbar ist, indem Sie. create_public_dns_namespace() Sie können Instanzen, die in einem öffentlichen DNS-Namespace registriert wurden, entweder mithilfe von discover_instances() oder mithilfe von DNS ermitteln.

      response = client.create_public_dns_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • Beispiel für eine Antwortausgabe

      { 'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd', 'ResponseMetadata': { '...': '...', }, }

Nächste Schritte

Nachdem Sie einen Namespace erstellt haben, können Sie Dienste im Namespace erstellen, um Anwendungsressourcen zu gruppieren, die zusammen einem bestimmten Zweck in Ihrer Anwendung dienen. Ein Dienst dient als Vorlage für die Registrierung von Anwendungsressourcen als Instanzen. Weitere Informationen zum Erstellen von AWS Cloud Map Diensten finden Sie unterAWS Cloud Map Dienst für eine Anwendungskomponente erstellen.