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.
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
-
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 Navigationsbereich Namespaces aus.
-
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.
-
Wählen Sie auf der namespace-name
Seite Namespace: den Dienst aus, den Sie verwenden möchten.
-
Wählen Sie auf der service-name
Seite Service: die Option Dienstinstanz registrieren aus.
-
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.
Sie können eine EC2 Instance nur in HTTP-Namespaces auswählen.
-
Geben Sie für die Dienstinstanz-ID einen Bezeichner an, der der Dienstinstanz zugeordnet ist.
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.
-
Führen Sie je nach Wahl des Instanztyps die folgenden Schritte aus.
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
|
-
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.
-
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.
-
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.
-
(Optional) Geben Sie unter Benutzerdefinierte Attribute alle Schlüssel-Wert-Paare an, die Sie der Ressource zuordnen möchten.
|
EC2 Instanz |
-
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.
-
(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) |
-
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
-
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.
|
-
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)
-
-
Falls Sie es noch nicht Boto3
installiert haben, finden Sie Boto3
hier Anweisungen zur Installation, Konfiguration und Verwendung.
-
Importieren Boto3
und servicediscovery
als Ihren Service verwenden.
import boto3
client = boto3.client('servicediscovery')
-
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': {
'...': '...',
},
}