Eine Ressource als Dienstinstanz registrieren AWS Cloud Map - 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.

Eine Ressource als Dienstinstanz registrieren AWS Cloud Map

Sie können die Ressourcen Ihrer Anwendung als Instanzen in einem AWS Cloud Map Dienst registrieren. Nehmen wir beispielsweise an, Sie haben einen Dienst erstellt, der users für alle Anwendungsressourcen aufgerufen wird, die Benutzerdaten verwalten. Anschließend können Sie eine DynamoDB-Tabelle, die zum Speichern von Benutzerdaten verwendet wird, als Instanz in diesem Dienst registrieren.

Anmerkung

Die folgenden Funktionen sind auf der AWS Cloud Map Konsole nicht verfügbar:

  • Wenn Sie eine Service-Instance über die Konsole registrieren, können Sie keinen Aliaseintrag erstellen, der den Traffic an einen Elastic Load Balancing (ELB) -Load Balancer weiterleitet. Wenn Sie eine Instance registrieren, müssen Sie das Attribut AWS_ALIAS_DNS_NAME einschließen. Weitere Informationen finden Sie unter RegisterInstance in der AWS Cloud Map -API-Referenz.

  • Wenn Sie eine Instance mit einem Service registrieren, der eine benutzerdefinierte Zustandsprüfung enthält, können Sie nicht den anfänglichen Status für die benutzerdefinierte Zustandsprüfung angeben. Standardmäßig lautet der anfängliche Status einer benutzerdefinierten Zustandsprüfung Fehlerfrei. Wenn Sie möchten, dass der anfängliche Status Fehlerhaft lautet, registrieren Sie die Instance programmgesteuert und schließen Sie das Attribut AWS_INIT_HEALTH_STATUS ein. Weitere Informationen finden Sie unter RegisterInstance in der AWS Cloud Map -API-Referenz.

Gehen Sie folgendermaßen vor, um eine Instance in einem Service zu registrieren.

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 im Navigationsbereich Namespaces aus.

  3. Wählen Sie auf der Seite Namespaces den Namespace aus, der den Service enthält, den Sie als Vorlage für die Registrierung einer Service-Instance verwenden möchten.

  4. Wählen Sie auf der namespace-name Seite Namespace: den Dienst aus, den Sie verwenden möchten.

  5. Wählen Sie auf der service-name Seite Service: die Option Dienstinstanz registrieren aus.

  6. Wählen Sie auf der Seite Dienstinstanz registrieren einen Instanztyp aus. Abhängig von der Konfiguration der Namespace-Instance Discovery können Sie wählen, ob Sie eine IP-Adresse, eine EC2 Amazon-Instance-ID oder andere identifizierende Informationen für eine Ressource angeben möchten, die keine IP-Adresse hat.

    Anmerkung

    Sie können eine EC2 Instance nur in HTTP-Namespaces auswählen.

  7. Geben Sie für die Dienstinstanz-ID einen Bezeichner an, der der Dienstinstanz zugeordnet ist.

    Anmerkung

    Wenn Sie eine bestehende Instanz aktualisieren möchten, geben Sie die ID an, die der Instanz zugeordnet ist, die Sie aktualisieren möchten. Verwenden Sie dann die nächsten Schritte, um Werte zu aktualisieren und die Instanz erneut zu registrieren.

  8. Führen Sie je nach Wahl des Instanztyps die folgenden Schritte aus.

    Wichtig

    Sie können das AWS_ Präfix (ohne Berücksichtigung von Groß- und Kleinschreibung) nicht in einem Schlüssel verwenden, wenn Sie ein benutzerdefiniertes Attribut angeben.

    Instance-Typ Schritte

    IP-Adresse

    1. Geben Sie unter Standardattribute für IPv4Adresse gegebenenfalls eine IPv4 Adresse an, unter der Ihre Anwendung auf die Ressource zugreifen kann, die dieser Dienstinstanz zugeordnet ist.

    2. Geben Sie als IPv6 Adresse gegebenenfalls eine IPv6 IP-Adresse an, über die Ihre Anwendungen auf die Ressource zugreifen können, die dieser Dienstinstanz zugeordnet ist.

    3. Geben Sie für Port einen beliebigen Port an, den Ihre Anwendung enthalten muss, um auf die Ressource zuzugreifen, die dieser Dienstinstanz zugeordnet ist. Ein Port ist erforderlich, wenn der Service einen SRV-Eintrag oder eine Amazon Route 53-Zustandsprüfung umfasst.

    4. (Optional) Geben Sie unter Benutzerdefinierte Attribute alle Schlüssel-Wert-Paare an, die Sie der Ressource zuordnen möchten.

    EC2 Instanz
    1. Wählen Sie zum EC2 Beispiel Instance-ID die ID der EC2 Amazon-Instance aus, die Sie als AWS Cloud Map Service-Instance registrieren möchten.

    2. (Optional) Geben Sie unter Benutzerdefinierte Attribute alle Schlüssel-Wert-Paare an, die Sie der Ressource zuordnen möchten.

    Identifying information for another resource (Identifizierende Informationen für eine andere Ressource)
    1. Wenn die Dienstkonfiguration einen CNAME-DNS-Eintrag enthält, wird unter Standardattribute ein CNAME-Feld angezeigt. Geben Sie für CNAME den Domainnamen an, den Route 53 als Antwort auf DNS-Abfragen zurückgeben soll (z. B.). example.com

    2. Geben Sie unter Benutzerdefinierte Attribute alle identifizierenden Informationen für eine Ressource, bei der es sich nicht um eine IP-Adresse oder eine EC2 Amazon-Instance-ID handelt, als Schlüssel-Wert-Paar an. Sie können beispielsweise eine Lambda-Funktion registrieren, indem Sie einen aufgerufenen Schlüssel angeben function und den Namen der Lambda-Funktion als Wert angeben. Sie können auch einen Schlüssel angeben, der aufgerufen wird, name und einen Namen angeben, den Sie für die programmatische Instanzerkennung verwenden können.

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

AWS CLI
  • Wenn Sie eine RegisterInstance Anfrage einreichen:

    • Für jeden DNS-Eintrag, den Sie in dem von angegebenen Dienst definierenServiceId, wird ein Eintrag in der Hosting-Zone erstellt oder aktualisiert, der dem entsprechenden Namespace zugeordnet ist.

    • Wenn der Dienst Folgendes umfasstHealthCheckConfig, wird eine Integritätsprüfung auf der Grundlage der Einstellungen in der Integritätsprüfungskonfiguration erstellt.

    • Alle Integritätsprüfungen sind jedem der neuen oder aktualisierten Datensätze zugeordnet.

    Registrieren Sie eine Dienstinstanz mit dem register-instance Befehl (ersetzen Sie die red Werte durch Ihre eigenen).

    aws servicediscovery register-instance \ --service-id srv-xxxxxxxxx \ --instance-id myservice-xx \ --attributes=AWS_INSTANCE_IPV4=172.2.1.3,AWS_INSTANCE_PORT=808
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. Wenn Sie eine RegisterInstance Anfrage einreichen:

    • Für jeden DNS-Eintrag, den Sie in dem von angegebenen Dienst definierenServiceId, wird ein Eintrag in der Hosting-Zone erstellt oder aktualisiert, der dem entsprechenden Namespace zugeordnet ist.

    • Wenn der Dienst Folgendes umfasstHealthCheckConfig, wird eine Integritätsprüfung auf der Grundlage der Einstellungen in der Integritätsprüfungskonfiguration erstellt.

    • Alle Integritätsprüfungen sind jedem der neuen oder aktualisierten Datensätze zugeordnet.

    Registrieren Sie eine Dienstinstanz mit register_instance() (ersetzen Sie die red Werte durch Ihre eigenen).

    response = client.register_instance( Attributes={ 'AWS_INSTANCE_IPV4': '172.2.1.3', 'AWS_INSTANCE_PORT': '808', }, InstanceId='myservice-xx', ServiceId='srv-xxxxxxxxx', ) # If you want to see the response print(response)

    Beispiel für eine Antwortausgabe

    { 'OperationId': '4yejorelbukcjzpnr6tlmrghsjwpngf4-k95yg2u7', 'ResponseMetadata': { '...': '...', }, }