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.
App Mesh Mesh-Beispiele mit AWS CLI
Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Command Line Interface with App Mesh Aktionen ausführen und allgemeine Szenarien implementieren.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt die Verwendung voncreate-mesh.
- AWS CLI
-
Beispiel 1: So erstellen Sie ein neues Service Mesh
Im folgenden Beispiel für
create-meshwird ein Service Mesh erstellt.aws appmesh create-mesh \ --mesh-nameapp1Ausgabe:
{ "mesh":{ "meshName":"app1", "metadata":{ "arn":"arn:aws:appmesh:us-east-1:123456789012:mesh/app1", "createdAt":1563809909.282, "lastUpdatedAt":1563809909.282, "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version":1 }, "spec":{}, "status":{ "status":"ACTIVE" } } }Beispiel 2: So erstellen Sie ein neues Service Mesh mit mehreren Tags
Im folgenden Beispiel für
create-meshwird ein Service Mesh mit mehreren Tags erstellt.aws appmesh create-mesh \ --mesh-nameapp2\ --tagskey=key1,value=value1key=key2,value=value2key=key3,value=value3Ausgabe:
{ "mesh":{ "meshName":"app2", "metadata":{ "arn":"arn:aws:appmesh:us-east-1:123456789012:mesh/app2", "createdAt":1563822121.877, "lastUpdatedAt":1563822121.877, "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version":1 }, "spec":{}, "status":{ "status":"ACTIVE" } } }Weitere Informationen finden Sie unter Service Meshes im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie CreateMesh
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcreate-route.
- AWS CLI
-
So erstellen Sie eine neue gRPC-Route
Im folgenden Beispiel für
create-routewird eine JSON-Eingabedatei für die Erstellung einer gRPC-Route verwendet. GRPC-Datenverkehr mit Metadaten, die mit 123 beginnen, wird an einen virtuellen Knoten namens serviceBgrpc weitergeleitet. Wenn beim Versuch, mit dem Ziel der Route zu kommunizieren, bestimmte gRPC-, HTTP- oder TCP-Fehler auftreten, wird die Route dreimal wiederholt. Zwischen jedem Wiederholungsversuch liegt eine Verzögerung von 15 Sekunden.aws appmesh create-route \ --cli-input-jsonfile://create-route-grpc.jsonInhalt von
create-route-grpc.json:{ "meshName" : "apps", "routeName" : "grpcRoute", "spec" : { "grpcRoute" : { "action" : { "weightedTargets" : [ { "virtualNode" : "serviceBgrpc", "weight" : 100 } ] }, "match" : { "metadata" : [ { "invert" : false, "match" : { "prefix" : "123" }, "name" : "myMetadata" } ], "methodName" : "GetColor", "serviceName" : "com.amazonaws.services.ColorService" }, "retryPolicy" : { "grpcRetryEvents" : [ "deadline-exceeded" ], "httpRetryEvents" : [ "server-error", "gateway-error" ], "maxRetries" : 3, "perRetryTimeout" : { "unit" : "s", "value" : 15 }, "tcpRetryEvents" : [ "connection-error" ] } }, "priority" : 100 }, "virtualRouterName" : "serviceBgrpc" }Ausgabe:
{ "route": { "meshName": "apps", "metadata": { "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/apps/virtualRouter/serviceBgrpc/route/grpcRoute", "createdAt": 1572010806.008, "lastUpdatedAt": 1572010806.008, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "routeName": "grpcRoute", "spec": { "grpcRoute": { "action": { "weightedTargets": [ { "virtualNode": "serviceBgrpc", "weight": 100 } ] }, "match": { "metadata": [ { "invert": false, "match": { "prefix": "123" }, "name": "mymetadata" } ], "methodName": "GetColor", "serviceName": "com.amazonaws.services.ColorService" }, "retryPolicy": { "grpcRetryEvents": [ "deadline-exceeded" ], "httpRetryEvents": [ "server-error", "gateway-error" ], "maxRetries": 3, "perRetryTimeout": { "unit": "s", "value": 15 }, "tcpRetryEvents": [ "connection-error" ] } }, "priority": 100 }, "status": { "status": "ACTIVE" }, "virtualRouterName": "serviceBgrpc" } }So erstellen Sie eine neue HTTP- oder HTTP/2-Route
Im folgenden Beispiel für
create-routewird eine JSON-Eingabedatei für die Erstellung einer HTTP/2-Route verwendet. Um eine HTTP-Route zu erstellen, ersetzen Sie http2Route unter „spec“ durch httpRoute. Der gesamte HTTP/2-Datenverkehr, der an ein URL-Präfix adressiert ist, dessen Header-Wert mit 123 beginnt, wird an einen virtuellen Knoten namens serviceBhttp2 weitergeleitet. Wenn beim Versuch, mit dem Ziel der Route zu kommunizieren, bestimmte HTTP- oder TCP-Fehler auftreten, wird die Route dreimal wiederholt. Zwischen jedem Wiederholungsversuch liegt eine Verzögerung von 15 Sekunden.aws appmesh create-route \ --cli-input-jsonfile://create-route-http2.jsonInhalt von
create-route-http2.json:{ "meshName": "apps", "routeName": "http2Route", "spec": { "http2Route": { "action": { "weightedTargets": [ { "virtualNode": "serviceBhttp2", "weight": 100 } ] }, "match": { "headers": [ { "invert": false, "match": { "prefix": "123" }, "name": "clientRequestId" } ], "method": "POST", "prefix": "/", "scheme": "http" }, "retryPolicy": { "httpRetryEvents": [ "server-error", "gateway-error" ], "maxRetries": 3, "perRetryTimeout": { "unit": "s", "value": 15 }, "tcpRetryEvents": [ "connection-error" ] } }, "priority": 200 }, "virtualRouterName": "serviceBhttp2" }Ausgabe:
{ "route": { "meshName": "apps", "metadata": { "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/apps/virtualRouter/serviceBhttp2/route/http2Route", "createdAt": 1572011008.352, "lastUpdatedAt": 1572011008.352, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "routeName": "http2Route", "spec": { "http2Route": { "action": { "weightedTargets": [ { "virtualNode": "serviceBhttp2", "weight": 100 } ] }, "match": { "headers": [ { "invert": false, "match": { "prefix": "123" }, "name": "clientRequestId" } ], "method": "POST", "prefix": "/", "scheme": "http" }, "retryPolicy": { "httpRetryEvents": [ "server-error", "gateway-error" ], "maxRetries": 3, "perRetryTimeout": { "unit": "s", "value": 15 }, "tcpRetryEvents": [ "connection-error" ] } }, "priority": 200 }, "status": { "status": "ACTIVE" }, "virtualRouterName": "serviceBhttp2" } }So erstellen Sie eine neue TCP-Route
Im folgenden Beispiel für
create-routewird eine JSON-Eingabedatei verwendet, um eine TCP-Route zu erstellen. 75 Prozent des Datenverkehrs werden an einen virtuellen Knoten namens serviceBtcp weitergeleitet, und 25 Prozent des Datenverkehrs werden an einen virtuellen Knoten namens serviceBv2tcp weitergeleitet. Die Angabe unterschiedlicher Gewichtungen für verschiedene Ziele ist eine effektive Methode zur Bereitstellung einer neuen Version einer Anwendung. Sie können die Gewichtungen so anpassen, dass letztendlich 100 Prozent des gesamten Datenverkehrs an ein Ziel weitergeleitet werden, auf dem die neue Version einer Anwendung vorhanden ist.aws appmesh create-route \ --cli-input-jsonfile://create-route-tcp.jsonInhalt create-route-tcp von.json:
{ "meshName": "apps", "routeName": "tcpRoute", "spec": { "priority": 300, "tcpRoute": { "action": { "weightedTargets": [ { "virtualNode": "serviceBtcp", "weight": 75 }, { "virtualNode": "serviceBv2tcp", "weight": 25 } ] } } }, "virtualRouterName": "serviceBtcp" }Ausgabe:
{ "route": { "meshName": "apps", "metadata": { "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/apps/virtualRouter/serviceBtcp/route/tcpRoute", "createdAt": 1572011436.26, "lastUpdatedAt": 1572011436.26, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "routeName": "tcpRoute", "spec": { "priority": 300, "tcpRoute": { "action": { "weightedTargets": [ { "virtualNode": "serviceBtcp", "weight": 75 }, { "virtualNode": "serviceBv2tcp", "weight": 25 } ] } } }, "status": { "status": "ACTIVE" }, "virtualRouterName": "serviceBtcp" } }Weitere Informationen finden Sie unter Routen im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie CreateRoute
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcreate-virtual-gateway.
- AWS CLI
-
So erstellen Sie ein neues virtuelles Gateway
Im folgenden Beispiel für
create-virtual-gatewaywird eine JSON-Eingabedatei verwendet, um ein virtuelles Gateway mit einem Listener für HTTP über Port 9080 zu erstellen.aws appmesh create-virtual-gateway \ --mesh-namemeshName\ --virtual-gateway-namevirtualGatewayName\ --cli-input-jsonfile://create-virtual-gateway.jsonInhalt von
create-virtual-gateway.json:{ "spec": { "listeners": [ { "portMapping": { "port": 9080, "protocol": "http" } } ] } }Ausgabe:
{ "virtualGateway": { "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName", "createdAt": "2022-04-06T10:42:42.015000-05:00", "lastUpdatedAt": "2022-04-06T10:42:42.015000-05:00", "meshOwner": "123456789012", "resourceOwner": "123456789012", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "listeners": [ { "portMapping": { "port": 9080, "protocol": "http" } } ] }, "status": { "status": "ACTIVE" }, "virtualGatewayName": "virtualGatewayName" } }Weitere Informationen finden Sie unter Virtuelle Gateways im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie CreateVirtualGateway
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcreate-virtual-node.
- AWS CLI
-
Beispiel 1: So erstellen Sie einen neuen virtuellen Knoten, der DNS für die Erkennung verwendet
Im folgenden Beispiel für
create-virtual-nodewird eine JSON-Eingabedatei verwendet, um einen virtuellen Knoten zu erstellen, der DNS für die Serviceerkennung verwendet.aws appmesh create-virtual-node \ --cli-input-jsonfile://create-virtual-node-dns.jsonInhalt von
create-virtual-node-dns.json:{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "virtualNodeName": "vnServiceBv1" }Ausgabe:
{ "virtualNode": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/vnServiceBv1", "createdAt": 1563810019.874, "lastUpdatedAt": 1563810019.874, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "status": { "status": "ACTIVE" }, "virtualNodeName": "vnServiceBv1" } }Beispiel 2: So erstellen Sie einen neuen virtuellen Knoten, der AWS Cloud Map für die Erkennung verwendet
Das folgende
create-virtual-nodeBeispiel verwendet eine JSON-Eingabedatei, um einen virtuellen Knoten zu erstellen, der AWS Cloud Map für die Diensterkennung verwendet.aws appmesh create-virtual-node \ --cli-input-jsonfile://create-virtual-node-cloud-map.jsonInhalt von
create-virtual-node-cloud-map.json:{ "meshName": "app1", "spec": { "backends": [ { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } ], "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "awsCloudMap": { "attributes": [ { "key": "Environment", "value": "Testing" } ], "namespaceName": "namespace1", "serviceName": "serviceA" } } }, "virtualNodeName": "vnServiceA" }Ausgabe:
{ "virtualNode": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/vnServiceA", "createdAt": 1563810859.465, "lastUpdatedAt": 1563810859.465, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "backends": [ { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } ], "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "awsCloudMap": { "attributes": [ { "key": "Environment", "value": "Testing" } ], "namespaceName": "namespace1", "serviceName": "serviceA" } } }, "status": { "status": "ACTIVE" }, "virtualNodeName": "vnServiceA" } }Weitere Informationen finden Sie unter Virtuelle Knoten im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie CreateVirtualNode
unter AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcreate-virtual-router.
- AWS CLI
-
So erstellen Sie einen neuen virtuellen Router
Im folgenden Beispiel für
create-virtual-routerwird eine JSON-Eingabedatei verwendet, um einen virtuellen Router mit einem Listener für HTTP über Port 80 zu erstellen.aws appmesh create-virtual-router \ --cli-input-jsonfile://create-virtual-router.jsonInhalt von
create-virtual-router.json:{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ] }, "virtualRouterName": "vrServiceB" }Ausgabe:
{ "virtualRouter": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB", "createdAt": 1563810546.59, "lastUpdatedAt": 1563810546.59, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ] }, "status": { "status": "ACTIVE" }, "virtualRouterName": "vrServiceB" } }Weitere Informationen finden Sie unter Virtuelle Router im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie CreateVirtualRouter
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcreate-virtual-service.
- AWS CLI
-
Beispiel 1: So erstellen Sie einen neuen virtuellen Service mit einem Anbieter für virtuelle Knoten
Im folgenden Beispiel für
create-virtual-servicewird eine JSON-Eingabedatei verwendet, um einen virtuellen Service mit einem Anbieter für virtuelle Knoten zu erstellen.aws appmesh create-virtual-service \ --cli-input-jsonfile://create-virtual-service-virtual-node.jsonInhalt von
create-virtual-service-virtual-node.json:{ "meshName": "app1", "spec": { "provider": { "virtualNode": { "virtualNodeName": "vnServiceA" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }Ausgabe:
{ "virtualService": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualService/serviceA.svc.cluster.local", "createdAt": 1563810859.474, "lastUpdatedAt": 1563810967.179, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "provider": { "virtualNode": { "virtualNodeName": "vnServiceA" } } }, "status": { "status": "ACTIVE" }, "virtualServiceName": "serviceA.svc.cluster.local" } }Weitere Informationen finden Sie unter Virtueller Knoten im Benutzerhandbuch zu AWS App Mesh.
Beispiel 2: So erstellen Sie einen neuen virtuellen Service mit einem Anbieter für virtuelle Router
Im folgenden Beispiel für
create-virtual-servicewird eine JSON-Eingabedatei verwendet, um einen virtuellen Service mit einem Anbieter für virtuelle Router zu erstellen.aws appmesh create-virtual-service \ --cli-input-jsonfile://create-virtual-service-virtual-router.jsonInhalt von
create-virtual-service-virtual-router.json:{ "meshName": "app1", "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceB" } } }, "virtualServiceName": "serviceB.svc.cluster.local" }Ausgabe:
{ "virtualService": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualService/serviceB.svc.cluster.local", "createdAt": 1563908363.999, "lastUpdatedAt": 1563908363.999, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceB" } } }, "status": { "status": "ACTIVE" }, "virtualServiceName": "serviceB.svc.cluster.local" } }Weitere Informationen finden Sie unter Virtual Services< https://docs.aws.amazon.com/app-mesh/ latest/userguide/virtual _services.html> im App Mesh Mesh-Benutzerhandbuch AWS
-
Einzelheiten zur API finden Sie in der Befehlsreferenz. CreateVirtualService
AWS CLI
-
Das folgende Codebeispiel zeigt die Verwendungdelete-mesh.
- AWS CLI
-
So löschen Sie ein Service Mesh
Im folgenden Beispiel für
delete-meshwird das angegebene Service Mesh gelöscht.aws appmesh delete-mesh \ --mesh-nameapp1Ausgabe:
{ "mesh": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1", "createdAt": 1563809909.282, "lastUpdatedAt": 1563824981.248, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "egressFilter": { "type": "ALLOW_ALL" } }, "status": { "status": "DELETED" } } }Weitere Informationen finden Sie unter Service Meshes im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DeleteMesh
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-route.
- AWS CLI
-
So löschen Sie eine Route
Im folgenden Beispiel für
delete-routewird die angegebene Route gelöscht.aws appmesh delete-route \ --mesh-nameapp1\ --virtual-router-namevrServiceB\ --route-nametoVnServiceB-weightedAusgabe:
{ "route": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB/route/toVnServiceB-weighted", "createdAt": 1563811384.015, "lastUpdatedAt": 1563823915.936, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 3 }, "routeName": "toVnServiceB-weighted", "spec": { "httpRoute": { "action": { "weightedTargets": [ { "virtualNode": "vnServiceBv1", "weight": 80 }, { "virtualNode": "vnServiceBv2", "weight": 20 } ] }, "match": { "prefix": "/" } } }, "status": { "status": "DELETED" }, "virtualRouterName": "vrServiceB" } }Weitere Informationen finden Sie unter Routen im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DeleteRoute
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-virtual-node.
- AWS CLI
-
So löschen Sie einen virtuellen Knoten
Im folgenden Beispiel für
delete-virtual-nodewird der angegebene virtuelle Knoten gelöscht.aws appmesh delete-virtual-node \ --mesh-nameapp1\ --virtual-node-namevnServiceBv2Ausgabe:
{ "virtualNode": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/vnServiceBv2", "createdAt": 1563810117.297, "lastUpdatedAt": 1563824700.678, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "backends": [], "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv2.svc.cluster.local" } } }, "status": { "status": "DELETED" }, "virtualNodeName": "vnServiceBv2" } }Weitere Informationen finden Sie unter Virtuelle Knoten im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DeleteVirtualNode
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-virtual-router.
- AWS CLI
-
So löschen Sie einen virtuellen Router
Im folgenden Beispiel für
delete-virtual-routerwird der angegebene virtuelle Router gelöscht.aws appmesh delete-virtual-router \ --mesh-nameapp1\ --virtual-router-namevrServiceBAusgabe:
{ "virtualRouter": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB", "createdAt": 1563810546.59, "lastUpdatedAt": 1563824253.467, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 3 }, "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ] }, "status": { "status": "DELETED" }, "virtualRouterName": "vrServiceB" } }Weitere Informationen finden Sie unter Virtuelle Router im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DeleteVirtualRouter
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-virtual-service.
- AWS CLI
-
So löschen Sie einen virtuellen Service
Im folgenden Beispiel für
delete-virtual-servicewird der angegebene virtuelle Service gelöscht.aws appmesh delete-virtual-service \ --mesh-nameapp1\ --virtual-service-nameserviceB.svc.cluster.localAusgabe:
{ "virtualService": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualService/serviceB.svc.cluster.local", "createdAt": 1563908363.999, "lastUpdatedAt": 1563913940.866, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 3 }, "spec": {}, "status": { "status": "DELETED" }, "virtualServiceName": "serviceB.svc.cluster.local" } }Weitere Informationen finden Sie unter Virtueller Service im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DeleteVirtualService
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-mesh.
- AWS CLI
-
So beschreiben Sie ein Service Mesh
Im folgenden Beispiel für
describe-meshwerden Details zum angegebenen Service Mesh zurückgegeben.aws appmesh describe-mesh \ --mesh-nameapp1Ausgabe:
{ "mesh": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1", "createdAt": 1563809909.282, "lastUpdatedAt": 1563809909.282, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": {}, "status": { "status": "ACTIVE" } } }Weitere Informationen finden Sie unter Service Meshes im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DescribeMesh
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-route.
- AWS CLI
-
So beschreiben Sie eine Route
Im folgenden Beispiel für
describe-routewerden Details zur angegebenen Route zurückgegeben.aws appmesh describe-route \ --mesh-nameapp1\ --virtual-router-namevrServiceB\ --route-nametoVnServiceB-weightedAusgabe:
{ "route": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB/route/toVnServiceB-weighted", "createdAt": 1563811384.015, "lastUpdatedAt": 1563811384.015, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "routeName": "toVnServiceB-weighted", "spec": { "httpRoute": { "action": { "weightedTargets": [ { "virtualNode": "vnServiceBv1", "weight": 90 }, { "virtualNode": "vnServiceBv2", "weight": 10 } ] }, "match": { "prefix": "/" } } }, "status": { "status": "ACTIVE" }, "virtualRouterName": "vrServiceB" } }Weitere Informationen finden Sie unter Routen im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DescribeRoute
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-virtual-node.
- AWS CLI
-
So beschreiben Sie einen virtuellen Knoten
Im folgenden Beispiel für
describe-virtual-nodewerden Details zum angegebenen virtuellen Knoten zurückgegeben.aws appmesh describe-virtual-node \ --mesh-nameapp1\ --virtual-node-namevnServiceBv1Ausgabe:
{ "virtualNode": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/vnServiceBv1", "createdAt": 1563810019.874, "lastUpdatedAt": 1563810019.874, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "backends": [], "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "status": { "status": "ACTIVE" }, "virtualNodeName": "vnServiceBv1" } }Weitere Informationen finden Sie unter Virtuelle Knoten im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DescribeVirtualNode
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-virtual-router.
- AWS CLI
-
So beschreiben Sie einen virtuellen Router
Im folgenden Beispiel für
describe-virtual-routerwerden Details zum angegebenen virtuellen Router zurückgegeben.aws appmesh describe-virtual-router \ --mesh-nameapp1\ --virtual-router-namevrServiceBAusgabe:
{ "virtualRouter": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB", "createdAt": 1563810546.59, "lastUpdatedAt": 1563810546.59, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ] }, "status": { "status": "ACTIVE" }, "virtualRouterName": "vrServiceB" } }Weitere Informationen finden Sie unter Virtuelle Router im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DescribeVirtualRouter
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-virtual-service.
- AWS CLI
-
So beschreiben Sie einen virtuellen Service
Im folgenden Beispiel für
describe-virtual-servicewerden Details zum angegebenen virtuellen Service zurückgegeben.aws appmesh describe-virtual-service \ --mesh-nameapp1\ --virtual-service-nameserviceB.svc.cluster.localAusgabe:
{ "virtualService": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualService/serviceB.svc.cluster.local", "createdAt": 1563908363.999, "lastUpdatedAt": 1563908363.999, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceB" } } }, "status": { "status": "ACTIVE" }, "virtualServiceName": "serviceB.svc.cluster.local" } }Weitere Informationen finden Sie unter Virtuelle Services im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie DescribeVirtualService
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-meshes.
- AWS CLI
-
So listen Sie Service Meshes auf
Das folgende
list-meshesBeispiel listet alle Service Meshes in der aktuellen AWS Region auf.aws appmesh list-meshesAusgabe:
{ "meshes": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1", "meshName": "app1" } ] }Weitere Informationen finden Sie unter Service Meshes im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie ListMeshes
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-routes.
- AWS CLI
-
So listen Sie Routen auf
Im folgenden Beispiel für
list-routeswerden alle Routen für den angegebenen virtuellen Router aufgelistet.aws appmesh list-routes \ --mesh-nameapp1\ --virtual-router-namevrServiceBAusgabe:
{ "routes": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB/route/toVnServiceB", "meshName": "app1", "routeName": "toVnServiceB-weighted", "virtualRouterName": "vrServiceB" } ] }Weitere Informationen finden Sie unter Routen im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie ListRoutes
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-tags-for-resource.
- AWS CLI
-
So listen Sie Tags für eine Ressource auf
Im folgenden Beispiel für
list-tags-for-resourcewerden alle Tags aufgelistet, die der angegebenen Ressource zugewiesen sind.aws appmesh list-tags-for-resource \ --resource-arnarn:aws:appmesh:us-east-1:123456789012:mesh/app1Ausgabe:
{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }-
Einzelheiten zur API finden Sie ListTagsForResource
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-virtual-nodes.
- AWS CLI
-
So listen Sie virtuelle Knoten auf
Im folgenden Beispiel für
list-virtual-nodeswerden alle virtuellen Knoten im angegebenen Service Mesh aufgelistet.aws appmesh list-virtual-nodes \ --mesh-nameapp1Ausgabe:
{ "virtualNodes": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/vnServiceBv1", "meshName": "app1", "virtualNodeName": "vnServiceBv1" }, { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/vnServiceBv2", "meshName": "app1", "virtualNodeName": "vnServiceBv2" } ] }Weitere Informationen finden Sie unter Virtuelle Knoten im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie ListVirtualNodes
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-virtual-routers.
- AWS CLI
-
So listen Sie virtuelle Router auf
Im folgenden Beispiel für
list-virtual-routerswerden alle virtuellen Router im angegebenen Service Mesh aufgelistet.aws appmesh list-virtual-routers \ --mesh-nameapp1Ausgabe:
{ "virtualRouters": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB", "meshName": "app1", "virtualRouterName": "vrServiceB" } ] }Weitere Informationen finden Sie unter Virtuelle Router im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie ListVirtualRouters
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-virtual-services.
- AWS CLI
-
So listen Sie virtuelle Services auf
Im folgenden Beispiel für
list-virtual-serviceswerden alle virtuellen Services im angegebenen Service Mesh aufgelistet.aws appmesh list-virtual-services \ --mesh-nameapp1Ausgabe:
{ "virtualServices": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualService/serviceA.svc.cluster.local", "meshName": "app1", "virtualServiceName": "serviceA.svc.cluster.local" }, { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualService/serviceB.svc.cluster.local", "meshName": "app1", "virtualServiceName": "serviceB.svc.cluster.local" } ] }Weitere Informationen finden Sie unter Virtuelle Services im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie ListVirtualServices
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungtag-resource.
- AWS CLI
-
So markieren Sie eine Ressource
Im folgenden Beispiel für
tag-resourcewird der angegebenen Ressource das Tagkey1mit dem Wertvalue1hinzugefügt.aws appmesh tag-resource \ --resource-arnarn:aws:appmesh:us-east-1:123456789012:mesh/app1\ --tagskey=key1,value=value1Mit diesem Befehl wird keine Ausgabe zurückgegeben.
-
Einzelheiten zur API finden Sie TagResource
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunguntag-resource.
- AWS CLI
-
So entfernen Sie Tags von einer Ressource
Im folgenden Beispiel für
untag-resourcewird ein Tag mit dem Schlüsselkey1aus der angegebenen Ressource entfernt.aws appmesh untag-resource \ --resource-arnarn:aws:appmesh:us-east-1:123456789012:mesh/app1\ --tag-keyskey1Mit diesem Befehl wird keine Ausgabe zurückgegeben.
-
Einzelheiten zur API finden Sie UntagResource
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungupdate-mesh.
- AWS CLI
-
So aktualisieren Sie ein Service Mesh
Im folgenden Beispiel für
update-meshwird eine JSON-Eingabedatei verwendet, um ein Service Mesh zu aktualisieren, sodass der gesamte externe Ausgangsdatenverkehr unverändert über den Envoy-Proxy weitergeleitet werden kann.aws appmesh update-mesh \ --cli-input-jsonfile://update-mesh.jsonInhalt von
update-mesh.json:{ "meshName": "app1", "spec": { "egressFilter": { "type": "ALLOW_ALL" } } }Ausgabe:
{ "mesh": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1", "createdAt": 1563809909.282, "lastUpdatedAt": 1563812829.687, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "egressFilter": { "type": "ALLOW_ALL" } }, "status": { "status": "ACTIVE" } } }Weitere Informationen finden Sie unter Service Meshes im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie UpdateMesh
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungupdate-route.
- AWS CLI
-
So aktualisieren Sie eine Route
Im folgenden Beispiel für
update-routewird eine JSON-Eingabedatei verwendet, um die Gewichtungen für eine Route zu aktualisieren.aws appmesh update-route \ --cli-input-jsonfile://update-route-weighted.jsonInhalt von
update-route-weighted.json:{ "meshName": "app1", "routeName": "toVnServiceB-weighted", "spec": { "httpRoute": { "action": { "weightedTargets": [ { "virtualNode": "vnServiceBv1", "weight": 80 }, { "virtualNode": "vnServiceBv2", "weight": 20 } ] }, "match": { "prefix": "/" } } }, "virtualRouterName": "vrServiceB" }Ausgabe:
{ "route": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB/route/toVnServiceB-weighted", "createdAt": 1563811384.015, "lastUpdatedAt": 1563819600.022, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "routeName": "toVnServiceB-weighted", "spec": { "httpRoute": { "action": { "weightedTargets": [ { "virtualNode": "vnServiceBv1", "weight": 80 }, { "virtualNode": "vnServiceBv2", "weight": 20 } ] }, "match": { "prefix": "/" } } }, "status": { "status": "ACTIVE" }, "virtualRouterName": "vrServiceB" } }Weitere Informationen finden Sie unter Routen im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie UpdateRoute
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungupdate-virtual-node.
- AWS CLI
-
So aktualisieren Sie einen virtuellen Knoten
Im folgenden Beispiel für
update-virtual-nodewird eine JSON-Eingabedatei verwendet, um einem virtuellen Knoten eine Zustandsprüfung hinzuzufügen.aws appmesh update-virtual-node \ --cli-input-jsonfile://update-virtual-node.jsonInhalt von
update-virtual-node.json:{ "clientToken": "500", "meshName": "app1", "spec": { "listeners": [ { "healthCheck": { "healthyThreshold": 5, "intervalMillis": 10000, "path": "/", "port": 80, "protocol": "http", "timeoutMillis": 3000, "unhealthyThreshold": 3 }, "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "virtualNodeName": "vnServiceBv1" }Ausgabe:
{ "virtualNode": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/vnServiceBv1", "createdAt": 1563810019.874, "lastUpdatedAt": 1563819234.825, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "listeners": [ { "healthCheck": { "healthyThreshold": 5, "intervalMillis": 10000, "path": "/", "port": 80, "protocol": "http", "timeoutMillis": 3000, "unhealthyThreshold": 3 }, "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "status": { "status": "ACTIVE" }, "virtualNodeName": "vnServiceBv1" } }Weitere Informationen finden Sie unter Virtuelle Knoten im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie UpdateVirtualNode
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungupdate-virtual-router.
- AWS CLI
-
So aktualisieren Sie einen virtuellen Router
Im folgenden Beispiel für
update-virtual-routerwird eine JSON-Eingabedatei verwendet, um den Listener-Port eines virtuellen Routers zu aktualisieren.aws appmesh update-virtual-router \ --cli-input-jsonfile://update-virtual-router.jsonInhalt von
update-virtual-router.json:{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 8080, "protocol": "http" } } ] }, "virtualRouterName": "vrServiceB" }Ausgabe:
{ "virtualRouter": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB", "createdAt": 1563810546.59, "lastUpdatedAt": 1563819431.352, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "listeners": [ { "portMapping": { "port": 8080, "protocol": "http" } } ] }, "status": { "status": "ACTIVE" }, "virtualRouterName": "vrServiceB" } }Weitere Informationen finden Sie unter Virtuelle Router im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie UpdateVirtualRouter
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungupdate-virtual-service.
- AWS CLI
-
So aktualisieren Sie einen virtuellen Service
Im folgenden Beispiel für
update-virtual-servicewird eine JSON-Eingabedatei verwendet, um einen virtuellen Service so zu aktualisieren, dass er einen Anbieter für virtuelle Router verwendet.aws appmesh update-virtual-service \ --cli-input-jsonfile://update-virtual-service.jsonInhalt von
update-virtual-service.json:{ "meshName": "app1", "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceA" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }Ausgabe:
{ "virtualService": { "meshName": "app1", "metadata": { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualService/serviceA.svc.cluster.local", "createdAt": 1563810859.474, "lastUpdatedAt": 1563820257.411, "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 3 }, "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceA" } } }, "status": { "status": "ACTIVE" }, "virtualServiceName": "serviceA.svc.cluster.local" } }Weitere Informationen finden Sie unter Virtuelle Services im Benutzerhandbuch zu AWS App Mesh.
-
Einzelheiten zur API finden Sie UpdateVirtualService
in der AWS CLI Befehlsreferenz.
-