Beispiele für die Verwendung der AWS CLI mit App Mesh
Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit App Mesh nutzen.
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, wie create-mesh verwendet wird.
- 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.
-
API-Details finden Sie unter CreateMesh
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-route verwendet wird.
- 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 von create-route-tcp.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.
-
API-Details finden Sie unter CreateRoute
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-virtual-gateway verwendet wird.
- 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.
-
API-Details finden Sie unter CreateVirtualGateway
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-virtual-node verwendet wird.
- 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
Im folgenden Beispiel für
create-virtual-nodewird eine JSON-Eingabedatei verwendet, um einen virtuellen Knoten zu erstellen, der AWS Cloud Map für die Serviceerkennung 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.
-
API-Details finden Sie unter CreateVirtualNode
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-virtual-router verwendet wird.
- 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.
-
API-Details finden Sie unter CreateVirtualRouter
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-virtual-service verwendet wird.
- 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 Virtuelle Services<https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html> im Benutzerhandbuch zu AWS App Mesh.
-
API-Details finden Sie unter CreateVirtualService
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-mesh verwendet wird.
- 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.
-
API-Details finden Sie unter DeleteMesh
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-route verwendet wird.
- 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.
-
API-Details finden Sie unter DeleteRoute
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-virtual-node verwendet wird.
- AWS CLI
-
So löschen Sie einen virtuellen Knoten
Im folgenden
delete-virtual-node-Beispiel wird 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.
-
API-Details finden Sie unter DeleteVirtualNode
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-virtual-router verwendet wird.
- 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.
-
API-Details finden Sie unter DeleteVirtualRouter
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-virtual-service verwendet wird.
- 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.
-
API-Details finden Sie unter DeleteVirtualService
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-mesh verwendet wird.
- 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.
-
API-Details finden Sie unter DescribeMesh
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-route verwendet wird.
- 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.
-
API-Details finden Sie unter DescribeRoute
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-virtual-node verwendet wird.
- 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.
-
API-Details finden Sie unter DescribeVirtualNode
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-virtual-router verwendet wird.
- 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.
-
API-Details finden Sie unter DescribeVirtualRouter
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-virtual-service verwendet wird.
- 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.
-
API-Details finden Sie unter DescribeVirtualService
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-meshes verwendet wird.
- AWS CLI
-
So listen Sie Service Meshes auf
Im folgenden Beispiel für
list-mesheswerden alle Service Meshes in der aktuellen AWS-Region aufgelistet.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.
-
API-Details finden Sie unter ListMeshes
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-routes verwendet wird.
- 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.
-
API-Details finden Sie unter ListRoutes
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.
- 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" } ] }-
API-Details finden Sie unter ListTagsForResource
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-virtual-nodes verwendet wird.
- 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.
-
API-Details finden Sie unter ListVirtualNodes
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-virtual-routers verwendet wird.
- 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.
-
API-Details finden Sie unter ListVirtualRouters
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-virtual-services verwendet wird.
- 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.
-
API-Details finden Sie unter ListVirtualServices
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.
- 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.
-
API-Details finden Sie unter TagResource
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.
- 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.
-
API-Details finden Sie unter UntagResource
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-mesh verwendet wird.
- 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.
-
API-Details finden Sie unter UpdateMesh
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-route verwendet wird.
- 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.
-
API-Details finden Sie unter UpdateRoute
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-virtual-node verwendet wird.
- 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.
-
API-Details finden Sie unter UpdateVirtualNode
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-virtual-router verwendet wird.
- 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.
-
API-Details finden Sie unter UpdateVirtualRouter
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-virtual-service verwendet wird.
- 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.
-
API-Details finden Sie unter UpdateVirtualService
in der AWS CLI-Befehlsreferenz.
-