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.
AWS Cloud Map Dienst für eine Anwendungskomponente erstellen
Nachdem Sie einen Namespace erstellt haben, können Sie Dienste erstellen, um verschiedene Komponenten Ihrer Anwendung darzustellen, die bestimmten Zwecken dienen. Sie können beispielsweise einen Dienst für Ressourcen in Ihrer Anwendung erstellen, die Zahlungen verarbeiten.
Anmerkung
Sie können nicht mehrere Dienste erstellen, auf die über DNS-Abfragen zugegriffen werden kann, deren Namen sich nur in der Groß- und Kleinschreibung unterscheiden (wie EXAMPLE und example). Der Versuch, dies zu tun, führt dazu, dass diese Dienste denselben DNS-Namen haben. Wenn Sie einen Namespace verwenden, auf den nur über API-Aufrufe zugegriffen werden kann, können Sie Dienste mit Namen erstellen, die sich nur durch Groß- und Kleinschreibung unterscheiden.
Gehen Sie wie folgt vor, um einen Service mit dem AWS Management Console AWS CLI, und SDK für Python zu erstellen.
- 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, dem Sie den Service hinzufügen möchten.
-
Wählen Sie auf der Seite Namespace:
Namespace-Name
die Option Create service (Service erstellen) aus. -
Geben Sie unter Dienstname einen Namen ein, der die Instanzen beschreibt, die Sie registrieren, wenn Sie diesen Dienst verwenden. Der Wert wird verwendet, um AWS Cloud Map Dienstinstanzen entweder in API-Aufrufen oder in DNS-Abfragen zu ermitteln.
Anmerkung
Wenn Sie bei der Registrierung einer Instanz einen SRV-Eintrag erstellen möchten AWS Cloud Map und ein System verwenden, das ein bestimmtes SRV-Format erfordert (z. B. HAProxy
), geben Sie Folgendes für den Dienstnamen an: -
Beginnen Sie den Namen mit einem Unterstrich (_), zum Beispiel _exampleservice.
-
Beenden Sie den Namen mit.
_protocol, zum Beispiel. _tcp.
Wenn Sie eine Instanz registrieren, AWS Cloud Map erstellt sie einen SRV-Eintrag und weist ihnen einen Namen zu, indem der Dienstname und der Namespace-Name verkettet werden, zum Beispiel:
_exampleservice. _tcp.beispiel.com
-
-
(Optional) Geben Sie unter Dienstbeschreibung eine Beschreibung für den Dienst ein. Die Beschreibung, die Sie hier eingeben, wird auf der Seite Dienste und auf der Detailseite für jeden Dienst angezeigt.
-
Wenn der Namespace DNS-Abfragen unterstützt, können Sie unter Konfiguration der Diensterkennung die Auffindbarkeit auf Dienstebene konfigurieren. Wählen Sie, ob Sie sowohl API-Aufrufe als auch DNS-Abfragen oder nur API-Aufrufe für die Erkennung von Instanzen in diesem Service zulassen möchten.
Anmerkung
Wenn Sie API-Aufrufe wählen, AWS Cloud Map werden bei der Registrierung einer Instanz keine SRV-Einträge erstellt.
Wenn Sie API und DNS wählen, gehen Sie wie folgt vor, um DNS-Einträge zu konfigurieren. Sie können DNS-Einträge hinzufügen oder entfernen.
-
Wählen Sie unter Routing-Richtlinie die Amazon Route 53-Routing-Richtlinie für die DNS-Einträge aus, die bei der Registrierung von Instances AWS Cloud Map erstellt werden. Sie können zwischen gewichtetem Routing und mehrwertigem Antwort-Routing wählen. Weitere Informationen finden Sie unter Routing-Richtlinie.
Anmerkung
Sie können die Konsole nicht verwenden, um AWS Cloud Map zu konfigurieren, dass bei der Registrierung einer Instanz ein Route 53-Aliaseintrag erstellt wird. Wenn Sie Aliaseinträge für einen Elastic Load Balancing Load Balancer erstellen möchten AWS Cloud Map , wenn Sie Instances programmgesteuert registrieren, wählen Sie Weighted Routing für die Routing-Richtlinie.
-
Wählen Sie unter Datensatztyp den DNS-Eintragstyp aus, der bestimmt, welche Route 53 als Antwort auf DNS-Abfragen zurückgibt. AWS Cloud Map Weitere Informationen finden Sie unter Datensatztyp.
-
Geben Sie für TTL einen numerischen Wert an, um den TTL-Wert (Time to Live) in Sekunden auf Service-Ebene zu definieren. Der Wert von TTL bestimmt, wie lange DNS-Resolver Informationen für diesen Datensatz zwischenspeichert, bevor die Resolver eine weitere DNS-Anfrage an Amazon Route 53 weiterleiten, um die Einstellungen zu aktualisieren.
-
-
Wählen Sie unter Konfiguration der Integritätsprüfung für Optionen zur Integritätsprüfung die Art der Zustandsprüfung aus, die für Dienstinstanzen gilt. Sie können wählen, ob Sie keine Zustandsprüfungen konfigurieren möchten, oder Sie können zwischen einer Route 53-Zustandsprüfung oder einer externen Zustandsprüfung für Ihre Instances wählen. Weitere Informationen finden Sie unter AWS Cloud Map Konfiguration der Service-Integritätsprüfung.
Anmerkung
Route 53-Zustandsprüfungen können nur für Dienste in öffentlichen DNS-Namespaces konfiguriert werden.
Wenn Sie Route 53-Zustandsprüfungen wählen, geben Sie die folgenden Informationen an.
-
Geben Sie für den Schwellenwert für Fehler eine Zahl zwischen 1 und 10 ein, die die Anzahl der aufeinanderfolgenden Route 53-Zustandsprüfungen definiert, die eine Dienstinstanz bestehen oder nicht bestehen muss, damit sich ihr Integritätsstatus ändert.
-
Wählen Sie für Health Check Protocol die Methode aus, mit der Route 53 den Zustand der Dienstinstanzen überprüft.
-
Wenn Sie das HTTP - oder HTTPS-Zustandsprüfungsprotokoll wählen, geben Sie für Health Check Path einen Pfad an, den Amazon Route 53 bei der Durchführung von Zustandsprüfungen anfordern soll. Der Pfad kann ein beliebiger Wert sein, z. B. die Datei
/docs/route53-health-check.html
. Wenn die Ressource fehlerfrei ist, ist der zurückgegebene Wert ein HTTP-Statuscode im 2xx- oder 3xx-Format. Sie können auch Abfragezeichenfolgenparameter einschließen, z. B./welcome.html?language=jp&login=y
. Die AWS Cloud Map -Konsole fügt automatisch einen vorangestellten Schrägstrich (/) hinzu.
Weitere Informationen zu Route 53-Zustandsprüfungen finden Sie unter So bestimmt Amazon Route 53, ob eine Zustandsprüfung fehlerfrei ist im Amazon Route 53-Entwicklerhandbuch.
-
-
(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.
-
Wählen Sie Create service.
- AWS CLI
-
-
Erstellen Sie einen Dienst mit dem
create-service
Befehl. Ersetzen Sie dieroten
Werte durch Ihre eigenen.aws servicediscovery create-service \ --name
service-name
\ --namespace-idns-xxxxxxxxxxx
\ --dns-config "NamespaceId=ns-xxxxxxxxxxx
,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A
,TTL=60
}]"Ausgabe:
{ "Service": { "Id": "srv-xxxxxxxxxxx", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx", "Name": "service-name", "NamespaceId": "ns-xxxxxxxxxxx", "DnsConfig": { "NamespaceId": "ns-xxxxxxxxxxx", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "CreateDate": 1587081768.334, "CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25" } }
-
- AWS SDK for Python (Boto3)
-
Falls Sie es noch nicht
Boto3
installiert haben, finden SieBoto3
hierAnweisungen zur Installation, Konfiguration und Verwendung. -
Importieren
Boto3
undservicediscovery
als Ihren Service verwenden.import boto3 client = boto3.client('servicediscovery')
-
Erstellen Sie einen Dienst mit
create_service()
. Ersetzen Sie dieroten
Werte durch Ihre eigenen. Weitere Informationen finden Sie unter create_service. response = client.create_service( DnsConfig={ 'DnsRecords': [ { 'TTL':
60
, 'Type': 'A
', }, ], 'NamespaceId': 'ns-xxxxxxxxxxx
', 'RoutingPolicy': 'MULTIVALUE
', }, Name='service-name
', NamespaceId='ns-xxxxxxxxxxx
', )Beispiel für eine Antwortausgabe
{ 'Service': { 'Arn': 'arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx', 'CreateDate': 1587081768.334, 'DnsConfig': { 'DnsRecords': [ { 'TTL': 60, 'Type': 'A', }, ], 'NamespaceId': 'ns-xxxxxxxxxxx', 'RoutingPolicy': 'MULTIVALUE', }, 'Id': 'srv-xxxxxxxxxxx', 'Name': 'service-name', 'NamespaceId': 'ns-xxxxxxxxxxx', }, 'ResponseMetadata': { '...': '...', }, }
-
Nächste Schritte
Nachdem Sie einen Service erstellt haben, können Sie Ihre Anwendungsressourcen als Dienstinstanzen registrieren, die Informationen darüber enthalten, wie Ihre Anwendung die Ressource finden kann. Weitere Informationen zur Registrierung von AWS Cloud Map Dienstinstanzen finden Sie unterEine Ressource als Dienstinstanz registrieren AWS Cloud Map.