Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS CLI を使用した App Mesh の例

フォーカスモード

このページの内容

AWS CLI を使用した App Mesh の例 - AWS Command Line Interface

このドキュメントはバージョン 1 の AWS CLI のみを対象としています。AWS CLI のバージョン 2 に関連するドキュメントについては、バージョン 2 用ユーザーガイドを参照してください。

このドキュメントはバージョン 1 の AWS CLI のみを対象としています。AWS CLI のバージョン 2 に関連するドキュメントについては、バージョン 2 用ユーザーガイドを参照してください。

次のコード例は、App Mesh で AWS Command Line Interfaceを使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次の例は、create-mesh を使用する方法を説明しています。

AWS CLI

例 1: 新しいサービスメッシュを作成するには

次の create-mesh の例では、サービスメッシュを作成します。

aws appmesh create-mesh \ --mesh-name app1

出力:

{ "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" } } }

例 2: 複数のタグの付いた新しいサービスメッシュを作成するには

次の create-mesh の例は、複数のタグを含むサービスメッシュを作成します。

aws appmesh create-mesh \ --mesh-name app2 \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateMesh」を参照してください。

次の例は、create-mesh を使用する方法を説明しています。

AWS CLI

例 1: 新しいサービスメッシュを作成するには

次の create-mesh の例では、サービスメッシュを作成します。

aws appmesh create-mesh \ --mesh-name app1

出力:

{ "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" } } }

例 2: 複数のタグの付いた新しいサービスメッシュを作成するには

次の create-mesh の例は、複数のタグを含むサービスメッシュを作成します。

aws appmesh create-mesh \ --mesh-name app2 \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateMesh」を参照してください。

次の例は、create-route を使用する方法を説明しています。

AWS CLI

新しい gRPC ルートを作成するには

次の create-route の例では、JSON 入力ファイルを使用して gRPC ルートを作成します。123 で始まるメタデータを持つ GRPC トラフィックは、serviceBgrpc という名前の仮想ノードにルーティングされます。ルートのターゲットと通信しようとしたときに特定の gRPC、HTTP、または TCP の障害が発生した場合、ルートは 3 回再試行されます。再試行するたびに 15 秒の遅延が発生します。

aws appmesh create-route \ --cli-input-json file://create-route-grpc.json

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" }

出力:

{ "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" } }

新しい HTTP または HTTP/2 ルートを作成するには

次の create-route の例では、JSON 入力ファイルを使用して HTTP/2 ルートを作成します。HTTP ルートを作成するには、仕様に基づいて http2Route を httpRoute に置き換えます。123 で始まるヘッダー値を持つ URL プレフィックス宛てのすべての HTTP/2 トラフィックは、serviceBhttp2 という名前の仮想ノードにルーティングされます。ルートのターゲットと通信しようとしたときに特定の HTTP または TCP の障害が発生した場合、ルートは 3 回再試行されます。再試行するたびに 15 秒の遅延が発生します。

aws appmesh create-route \ --cli-input-json file://create-route-http2.json

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" }

出力:

{ "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" } }

新しい TCP ルートを作成するには

次の create-route の例では、JSON 入力ファイルを使用して TCP ルートを作成します。トラフィックの 75% は serviceBtcp という名前の仮想ノードにルーティングされ、トラフィックの 25% は serviceBv2tcp という名前の仮想ノードにルーティングされます。ターゲットごとに異なる重みを指定することは、アプリケーションの新しいバージョンのデプロイを実行する効果的な方法です。重みを調整して、最終的にすべてのトラフィックの 100% がアプリケーションの新しいバージョンを持つターゲットにルーティングされるようにできます。

aws appmesh create-route \ --cli-input-json file://create-route-tcp.json

create-route-tcp.json の内容:

{ "meshName": "apps", "routeName": "tcpRoute", "spec": { "priority": 300, "tcpRoute": { "action": { "weightedTargets": [ { "virtualNode": "serviceBtcp", "weight": 75 }, { "virtualNode": "serviceBv2tcp", "weight": 25 } ] } } }, "virtualRouterName": "serviceBtcp" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateRoute」を参照してください。

次の例は、create-route を使用する方法を説明しています。

AWS CLI

新しい gRPC ルートを作成するには

次の create-route の例では、JSON 入力ファイルを使用して gRPC ルートを作成します。123 で始まるメタデータを持つ GRPC トラフィックは、serviceBgrpc という名前の仮想ノードにルーティングされます。ルートのターゲットと通信しようとしたときに特定の gRPC、HTTP、または TCP の障害が発生した場合、ルートは 3 回再試行されます。再試行するたびに 15 秒の遅延が発生します。

aws appmesh create-route \ --cli-input-json file://create-route-grpc.json

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" }

出力:

{ "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" } }

新しい HTTP または HTTP/2 ルートを作成するには

次の create-route の例では、JSON 入力ファイルを使用して HTTP/2 ルートを作成します。HTTP ルートを作成するには、仕様に基づいて http2Route を httpRoute に置き換えます。123 で始まるヘッダー値を持つ URL プレフィックス宛てのすべての HTTP/2 トラフィックは、serviceBhttp2 という名前の仮想ノードにルーティングされます。ルートのターゲットと通信しようとしたときに特定の HTTP または TCP の障害が発生した場合、ルートは 3 回再試行されます。再試行するたびに 15 秒の遅延が発生します。

aws appmesh create-route \ --cli-input-json file://create-route-http2.json

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" }

出力:

{ "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" } }

新しい TCP ルートを作成するには

次の create-route の例では、JSON 入力ファイルを使用して TCP ルートを作成します。トラフィックの 75% は serviceBtcp という名前の仮想ノードにルーティングされ、トラフィックの 25% は serviceBv2tcp という名前の仮想ノードにルーティングされます。ターゲットごとに異なる重みを指定することは、アプリケーションの新しいバージョンのデプロイを実行する効果的な方法です。重みを調整して、最終的にすべてのトラフィックの 100% がアプリケーションの新しいバージョンを持つターゲットにルーティングされるようにできます。

aws appmesh create-route \ --cli-input-json file://create-route-tcp.json

create-route-tcp.json の内容:

{ "meshName": "apps", "routeName": "tcpRoute", "spec": { "priority": 300, "tcpRoute": { "action": { "weightedTargets": [ { "virtualNode": "serviceBtcp", "weight": 75 }, { "virtualNode": "serviceBv2tcp", "weight": 25 } ] } } }, "virtualRouterName": "serviceBtcp" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateRoute」を参照してください。

次の例は、create-virtual-gateway を使用する方法を説明しています。

AWS CLI

新しい仮想ゲートウェイを作成するには

次の create-virtual-gateway の例では、JSON 入力ファイルを使用して、ポート 9080 を使用して HTTP のリスナーを持つ仮想ゲートウェイを作成します。

aws appmesh create-virtual-gateway \ --mesh-name meshName \ --virtual-gateway-name virtualGatewayName \ --cli-input-json file://create-virtual-gateway.json

create-virtual-gateway.json の内容:

{ "spec": { "listeners": [ { "portMapping": { "port": 9080, "protocol": "http" } } ] } }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Gateways」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualGateway」を参照してください。

次の例は、create-virtual-gateway を使用する方法を説明しています。

AWS CLI

新しい仮想ゲートウェイを作成するには

次の create-virtual-gateway の例では、JSON 入力ファイルを使用して、ポート 9080 を使用して HTTP のリスナーを持つ仮想ゲートウェイを作成します。

aws appmesh create-virtual-gateway \ --mesh-name meshName \ --virtual-gateway-name virtualGatewayName \ --cli-input-json file://create-virtual-gateway.json

create-virtual-gateway.json の内容:

{ "spec": { "listeners": [ { "portMapping": { "port": 9080, "protocol": "http" } } ] } }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Gateways」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualGateway」を参照してください。

次のコード例は、create-virtual-node を使用する方法を示しています。

AWS CLI

例 1: 検出に DNS を使用する新しい仮想ノードを作成するには

次の create-virtual-node の例では、JSON 入力ファイルを使用して、サービス検出に DNS を使用する仮想ノードを作成します。

aws appmesh create-virtual-node \ --cli-input-json file://create-virtual-node-dns.json

create-virtual-node-dns.json の内容:

{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "virtualNodeName": "vnServiceBv1" }

出力:

{ "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" } }

例 2: 検出に AWS Cloud Map を使用する新しい仮想ノードを作成するには

次の create-virtual-node の例では、JSON 入力ファイルを使用して、サービス検出に AWS Cloud Map を使用する仮想ノードを作成します。

aws appmesh create-virtual-node \ --cli-input-json file://create-virtual-node-cloud-map.json

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" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualNode」を参照してください。

次のコード例は、create-virtual-node を使用する方法を示しています。

AWS CLI

例 1: 検出に DNS を使用する新しい仮想ノードを作成するには

次の create-virtual-node の例では、JSON 入力ファイルを使用して、サービス検出に DNS を使用する仮想ノードを作成します。

aws appmesh create-virtual-node \ --cli-input-json file://create-virtual-node-dns.json

create-virtual-node-dns.json の内容:

{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "virtualNodeName": "vnServiceBv1" }

出力:

{ "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" } }

例 2: 検出に AWS Cloud Map を使用する新しい仮想ノードを作成するには

次の create-virtual-node の例では、JSON 入力ファイルを使用して、サービス検出に AWS Cloud Map を使用する仮想ノードを作成します。

aws appmesh create-virtual-node \ --cli-input-json file://create-virtual-node-cloud-map.json

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" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualNode」を参照してください。

次の例は、create-virtual-router を使用する方法を説明しています。

AWS CLI

新しい仮想ルーターを作成するには

次の create-virtual-router の例では、JSON 入力ファイルを使用して、ポート 80 を使用して HTTP のリスナーを持つ仮想ルーターを作成します。

aws appmesh create-virtual-router \ --cli-input-json file://create-virtual-router.json

create-virtual-router.json の内容:

{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ] }, "virtualRouterName": "vrServiceB" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualRouter」を参照してください。

次の例は、create-virtual-router を使用する方法を説明しています。

AWS CLI

新しい仮想ルーターを作成するには

次の create-virtual-router の例では、JSON 入力ファイルを使用して、ポート 80 を使用して HTTP のリスナーを持つ仮想ルーターを作成します。

aws appmesh create-virtual-router \ --cli-input-json file://create-virtual-router.json

create-virtual-router.json の内容:

{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ] }, "virtualRouterName": "vrServiceB" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualRouter」を参照してください。

次のコード例は、create-virtual-service を使用する方法を示しています。

AWS CLI

例 1: 仮想ノードプロバイダーを使用して新しい仮想サービスを作成するには

次の create-virtual-service の例では、JSON 入力ファイルを使用し、仮想ノードプロバイダーを使用して仮想サービスを作成します。

aws appmesh create-virtual-service \ --cli-input-json file://create-virtual-service-virtual-node.json

create-virtual-service-virtual-node.json の内容:

{ "meshName": "app1", "spec": { "provider": { "virtualNode": { "virtualNodeName": "vnServiceA" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Node」を参照してください。

例 2: 仮想ルータープロバイダーを使用して新しい仮想サービスを作成するには

次の create-virtual-service の例では、JSON 入力ファイルを使用し、仮想ルータープロバイダーを使用して仮想サービスを作成します。

aws appmesh create-virtual-service \ --cli-input-json file://create-virtual-service-virtual-router.json

create-virtual-service-virtual-router.json の内容:

{ "meshName": "app1", "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceB" } } }, "virtualServiceName": "serviceB.svc.cluster.local" }

出力:

{ "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" } }

詳細については、「AWSApp Mesh ユーザーガイド」の「Virtual Services」<https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html> を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualService」を参照してください。

次のコード例は、create-virtual-service を使用する方法を示しています。

AWS CLI

例 1: 仮想ノードプロバイダーを使用して新しい仮想サービスを作成するには

次の create-virtual-service の例では、JSON 入力ファイルを使用し、仮想ノードプロバイダーを使用して仮想サービスを作成します。

aws appmesh create-virtual-service \ --cli-input-json file://create-virtual-service-virtual-node.json

create-virtual-service-virtual-node.json の内容:

{ "meshName": "app1", "spec": { "provider": { "virtualNode": { "virtualNodeName": "vnServiceA" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Node」を参照してください。

例 2: 仮想ルータープロバイダーを使用して新しい仮想サービスを作成するには

次の create-virtual-service の例では、JSON 入力ファイルを使用し、仮想ルータープロバイダーを使用して仮想サービスを作成します。

aws appmesh create-virtual-service \ --cli-input-json file://create-virtual-service-virtual-router.json

create-virtual-service-virtual-router.json の内容:

{ "meshName": "app1", "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceB" } } }, "virtualServiceName": "serviceB.svc.cluster.local" }

出力:

{ "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" } }

詳細については、「AWSApp Mesh ユーザーガイド」の「Virtual Services」<https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html> を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVirtualService」を参照してください。

次のコード例は、delete-mesh を使用する方法を示しています。

AWS CLI

サービスメッシュを削除するには

次の delete-mesh の例では、指定されたサービスメッシュを削除します。

aws appmesh delete-mesh \ --mesh-name app1

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteMesh」を参照してください。

次のコード例は、delete-mesh を使用する方法を示しています。

AWS CLI

サービスメッシュを削除するには

次の delete-mesh の例では、指定されたサービスメッシュを削除します。

aws appmesh delete-mesh \ --mesh-name app1

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteMesh」を参照してください。

次の例は、delete-route を使用する方法を説明しています。

AWS CLI

ルートを削除するには

以下の delete-route 例では、指定されたルートを削除します。

aws appmesh delete-route \ --mesh-name app1 \ --virtual-router-name vrServiceB \ --route-name toVnServiceB-weighted

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteRoute」を参照してください。

次の例は、delete-route を使用する方法を説明しています。

AWS CLI

ルートを削除するには

以下の delete-route 例では、指定されたルートを削除します。

aws appmesh delete-route \ --mesh-name app1 \ --virtual-router-name vrServiceB \ --route-name toVnServiceB-weighted

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteRoute」を参照してください。

次の例は、delete-virtual-node を使用する方法を説明しています。

AWS CLI

仮想ノードを削除するには

以下の delete-virtual-node 例では、指定された仮想ノードを削除します。

aws appmesh delete-virtual-node \ --mesh-name app1 \ --virtual-node-name vnServiceBv2

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteVirtualNode」を参照してください。

次の例は、delete-virtual-node を使用する方法を説明しています。

AWS CLI

仮想ノードを削除するには

以下の delete-virtual-node 例では、指定された仮想ノードを削除します。

aws appmesh delete-virtual-node \ --mesh-name app1 \ --virtual-node-name vnServiceBv2

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteVirtualNode」を参照してください。

次のコード例は、delete-virtual-router を使用する方法を示しています。

AWS CLI

仮想ルーターを削除するには

以下の delete-virtual-router 例では、指定された仮想ルーターを削除します。

aws appmesh delete-virtual-router \ --mesh-name app1 \ --virtual-router-name vrServiceB

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteVirtualRouter」を参照してください。

次のコード例は、delete-virtual-router を使用する方法を示しています。

AWS CLI

仮想ルーターを削除するには

以下の delete-virtual-router 例では、指定された仮想ルーターを削除します。

aws appmesh delete-virtual-router \ --mesh-name app1 \ --virtual-router-name vrServiceB

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteVirtualRouter」を参照してください。

次の例は、delete-virtual-service を使用する方法を説明しています。

AWS CLI

仮想サービスを削除するには

以下の delete-virtual-service の例では、指定された仮想ノードを削除します。

aws appmesh delete-virtual-service \ --mesh-name app1 \ --virtual-service-name serviceB.svc.cluster.local

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Service」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteVirtualService」を参照してください。

次の例は、delete-virtual-service を使用する方法を説明しています。

AWS CLI

仮想サービスを削除するには

以下の delete-virtual-service の例では、指定された仮想ノードを削除します。

aws appmesh delete-virtual-service \ --mesh-name app1 \ --virtual-service-name serviceB.svc.cluster.local

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Service」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteVirtualService」を参照してください。

次のコード例は、describe-mesh を使用する方法を示しています。

AWS CLI

サービスメッシュを記述するには

次の describe-mesh の例では、指定されたサービスメッシュに関する詳細情報を取得します。

aws appmesh describe-mesh \ --mesh-name app1

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeMesh」を参照してください。

次のコード例は、describe-mesh を使用する方法を示しています。

AWS CLI

サービスメッシュを記述するには

次の describe-mesh の例では、指定されたサービスメッシュに関する詳細情報を取得します。

aws appmesh describe-mesh \ --mesh-name app1

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeMesh」を参照してください。

次のコード例は、describe-route を使用する方法を示しています。

AWS CLI

ルートを記述するには

次の describe-route の例では、指定されたルートの詳細情報を返します。

aws appmesh describe-route \ --mesh-name app1 \ --virtual-router-name vrServiceB \ --route-name toVnServiceB-weighted

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeRoute」を参照してください。

次のコード例は、describe-route を使用する方法を示しています。

AWS CLI

ルートを記述するには

次の describe-route の例では、指定されたルートの詳細情報を返します。

aws appmesh describe-route \ --mesh-name app1 \ --virtual-router-name vrServiceB \ --route-name toVnServiceB-weighted

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeRoute」を参照してください。

次のコード例は、describe-virtual-node を使用する方法を示しています。

AWS CLI

仮想ノードを記述するには

次の describe-virtual-node の例では、指定されたバーチャルノードの詳細情報を返します。

aws appmesh describe-virtual-node \ --mesh-name app1 \ --virtual-node-name vnServiceBv1

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeVirtualNode」を参照してください。

次のコード例は、describe-virtual-node を使用する方法を示しています。

AWS CLI

仮想ノードを記述するには

次の describe-virtual-node の例では、指定されたバーチャルノードの詳細情報を返します。

aws appmesh describe-virtual-node \ --mesh-name app1 \ --virtual-node-name vnServiceBv1

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeVirtualNode」を参照してください。

次のコード例は、describe-virtual-router を使用する方法を示しています。

AWS CLI

仮想ルーターを記述するには

次の describe-virtual-router の例では、指定された仮想ルーターの詳細情報を返します。

aws appmesh describe-virtual-router \ --mesh-name app1 \ --virtual-router-name vrServiceB

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeVirtualRouter」を参照してください。

次のコード例は、describe-virtual-router を使用する方法を示しています。

AWS CLI

仮想ルーターを記述するには

次の describe-virtual-router の例では、指定された仮想ルーターの詳細情報を返します。

aws appmesh describe-virtual-router \ --mesh-name app1 \ --virtual-router-name vrServiceB

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeVirtualRouter」を参照してください。

次の例は、describe-virtual-service を使用する方法を説明しています。

AWS CLI

仮想サービスを記述するには

次の describe-virtual-service の例では、指定されたバーチャルサービスに関する詳細情報を返します。

aws appmesh describe-virtual-service \ --mesh-name app1 \ --virtual-service-name serviceB.svc.cluster.local

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeVirtualService」を参照してください。

次の例は、describe-virtual-service を使用する方法を説明しています。

AWS CLI

仮想サービスを記述するには

次の describe-virtual-service の例では、指定されたバーチャルサービスに関する詳細情報を返します。

aws appmesh describe-virtual-service \ --mesh-name app1 \ --virtual-service-name serviceB.svc.cluster.local

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeVirtualService」を参照してください。

次のコード例は、list-meshes を使用する方法を示しています。

AWS CLI

サービスメッシュを一覧表示するには

次の list-meshes の例では、現在の AWS リージョンのすべてのサービスメッシュを一覧表示します。

aws appmesh list-meshes

出力:

{ "meshes": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1", "meshName": "app1" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListMeshes」を参照してください。

次のコード例は、list-meshes を使用する方法を示しています。

AWS CLI

サービスメッシュを一覧表示するには

次の list-meshes の例では、現在の AWS リージョンのすべてのサービスメッシュを一覧表示します。

aws appmesh list-meshes

出力:

{ "meshes": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1", "meshName": "app1" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListMeshes」を参照してください。

次のコード例は、list-routes を使用する方法を示しています。

AWS CLI

ルートを一覧表示するには

次の list-routes の例では、指定された仮想ルーターのすべてのルートを一覧表示します。

aws appmesh list-routes \ --mesh-name app1 \ --virtual-router-name vrServiceB

出力:

{ "routes": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB/route/toVnServiceB", "meshName": "app1", "routeName": "toVnServiceB-weighted", "virtualRouterName": "vrServiceB" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListRoutes」を参照してください。

次のコード例は、list-routes を使用する方法を示しています。

AWS CLI

ルートを一覧表示するには

次の list-routes の例では、指定された仮想ルーターのすべてのルートを一覧表示します。

aws appmesh list-routes \ --mesh-name app1 \ --virtual-router-name vrServiceB

出力:

{ "routes": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB/route/toVnServiceB", "meshName": "app1", "routeName": "toVnServiceB-weighted", "virtualRouterName": "vrServiceB" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListRoutes」を参照してください。

次のコード例は、list-tags-for-resource を使用する方法を示しています。

AWS CLI

リソースのタグを一覧表示するには

次の list-tags-for-resource の例では、指定されたリソースに割り当てられたすべてのタグを一覧表示します。

aws appmesh list-tags-for-resource \ --resource-arn arn:aws:appmesh:us-east-1:123456789012:mesh/app1

出力:

{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次のコード例は、list-tags-for-resource を使用する方法を示しています。

AWS CLI

リソースのタグを一覧表示するには

次の list-tags-for-resource の例では、指定されたリソースに割り当てられたすべてのタグを一覧表示します。

aws appmesh list-tags-for-resource \ --resource-arn arn:aws:appmesh:us-east-1:123456789012:mesh/app1

出力:

{ "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" }, { "key": "key3", "value": "value3" } ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次の例は、list-virtual-nodes を使用する方法を説明しています。

AWS CLI

仮想ノードを一覧表示するには

次の list-virtual-nodes の例では、指定されたサービスメッシュ内のすべての仮想ノードを一覧表示します。

aws appmesh list-virtual-nodes \ --mesh-name app1

出力:

{ "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" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListVirtualNodes」を参照してください。

次の例は、list-virtual-nodes を使用する方法を説明しています。

AWS CLI

仮想ノードを一覧表示するには

次の list-virtual-nodes の例では、指定されたサービスメッシュ内のすべての仮想ノードを一覧表示します。

aws appmesh list-virtual-nodes \ --mesh-name app1

出力:

{ "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" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListVirtualNodes」を参照してください。

次のコード例は、list-virtual-routers を使用する方法を示しています。

AWS CLI

仮想ルーターを一覧表示するには

次の list-virtual-routers の例では、指定されたサービスメッシュ内のすべての仮想ルーターを一覧表示します。

aws appmesh list-virtual-routers \ --mesh-name app1

出力:

{ "virtualRouters": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB", "meshName": "app1", "virtualRouterName": "vrServiceB" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListVirtualRouters」を参照してください。

次のコード例は、list-virtual-routers を使用する方法を示しています。

AWS CLI

仮想ルーターを一覧表示するには

次の list-virtual-routers の例では、指定されたサービスメッシュ内のすべての仮想ルーターを一覧表示します。

aws appmesh list-virtual-routers \ --mesh-name app1

出力:

{ "virtualRouters": [ { "arn": "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualRouter/vrServiceB", "meshName": "app1", "virtualRouterName": "vrServiceB" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListVirtualRouters」を参照してください。

次の例は、list-virtual-services を使用する方法を説明しています。

AWS CLI

仮想サービスを一覧表示するには

次の list-virtual-services の例では、指定されたサービスメッシュ内のすべての仮想サービスを一覧表示します。

aws appmesh list-virtual-services \ --mesh-name app1

出力:

{ "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" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListVirtualServices」を参照してください。

次の例は、list-virtual-services を使用する方法を説明しています。

AWS CLI

仮想サービスを一覧表示するには

次の list-virtual-services の例では、指定されたサービスメッシュ内のすべての仮想サービスを一覧表示します。

aws appmesh list-virtual-services \ --mesh-name app1

出力:

{ "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" } ] }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListVirtualServices」を参照してください。

次の例は、tag-resource を使用する方法を説明しています。

AWS CLI

リソースにタグを付けるには

次の tag-resource の例では、指定されたリソースに値「value1」のタグ「key1」を追加します。

aws appmesh tag-resource \ --resource-arn arn:aws:appmesh:us-east-1:123456789012:mesh/app1 \ --tags key=key1,value=value1

このコマンドでは何も出力されません。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「TagResource」を参照してください。

次の例は、tag-resource を使用する方法を説明しています。

AWS CLI

リソースにタグを付けるには

次の tag-resource の例では、指定されたリソースに値「value1」のタグ「key1」を追加します。

aws appmesh tag-resource \ --resource-arn arn:aws:appmesh:us-east-1:123456789012:mesh/app1 \ --tags key=key1,value=value1

このコマンドでは何も出力されません。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「TagResource」を参照してください。

次の例は、untag-resource を使用する方法を説明しています。

AWS CLI

リソースのタグを削除するには

次の untag-resource の例では、指定されたリソースから「key1」のキーを持つタグを削除します。

aws appmesh untag-resource \ --resource-arn arn:aws:appmesh:us-east-1:123456789012:mesh/app1 \ --tag-keys key1

このコマンドでは何も出力されません。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。

次の例は、untag-resource を使用する方法を説明しています。

AWS CLI

リソースのタグを削除するには

次の untag-resource の例では、指定されたリソースから「key1」のキーを持つタグを削除します。

aws appmesh untag-resource \ --resource-arn arn:aws:appmesh:us-east-1:123456789012:mesh/app1 \ --tag-keys key1

このコマンドでは何も出力されません。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。

次の例は、update-mesh を使用する方法を説明しています。

AWS CLI

サービスメッシュを更新するには

次の update-mesh の例では、JSON 入力ファイルを使用してサービスメッシュを更新し、すべての外部エグレストラフィックを Envoy プロキシを介してそのまま転送できるようにします。

aws appmesh update-mesh \ --cli-input-json file://update-mesh.json

update-mesh.json の内容:

{ "meshName": "app1", "spec": { "egressFilter": { "type": "ALLOW_ALL" } } }

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateMesh」を参照してください。

次の例は、update-mesh を使用する方法を説明しています。

AWS CLI

サービスメッシュを更新するには

次の update-mesh の例では、JSON 入力ファイルを使用してサービスメッシュを更新し、すべての外部エグレストラフィックを Envoy プロキシを介してそのまま転送できるようにします。

aws appmesh update-mesh \ --cli-input-json file://update-mesh.json

update-mesh.json の内容:

{ "meshName": "app1", "spec": { "egressFilter": { "type": "ALLOW_ALL" } } }

出力:

{ "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" } } }

詳細については、「AWS App Mesh ユーザーガイド」の「Service Meshes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateMesh」を参照してください。

次の例は、update-route を使用する方法を説明しています。

AWS CLI

ルートを更新するには

次の update-route の例では、JSON 入力ファイルを使用してルートの重みを更新します。

aws appmesh update-route \ --cli-input-json file://update-route-weighted.json

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" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateRoute」を参照してください。

次の例は、update-route を使用する方法を説明しています。

AWS CLI

ルートを更新するには

次の update-route の例では、JSON 入力ファイルを使用してルートの重みを更新します。

aws appmesh update-route \ --cli-input-json file://update-route-weighted.json

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" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Routes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateRoute」を参照してください。

次の例は、update-virtual-node を使用する方法を説明しています。

AWS CLI

仮想ノードを更新するには

次の update-virtual-node の例では、JSON 入力ファイルを使用して、仮想ノードにヘルスチェックを追加します。

aws appmesh update-virtual-node \ --cli-input-json file://update-virtual-node.json

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" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateVirtualNode」を参照してください。

次の例は、update-virtual-node を使用する方法を説明しています。

AWS CLI

仮想ノードを更新するには

次の update-virtual-node の例では、JSON 入力ファイルを使用して、仮想ノードにヘルスチェックを追加します。

aws appmesh update-virtual-node \ --cli-input-json file://update-virtual-node.json

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" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Nodes」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateVirtualNode」を参照してください。

次のコード例は、update-virtual-router を使用する方法を示しています。

AWS CLI

仮想ルーターの更新するには

次の update-virtual-router の例では、JSON 入力ファイルを使用して仮想ルーターリスナーポートを更新します。

aws appmesh update-virtual-router \ --cli-input-json file://update-virtual-router.json

update-virtual-router.json の内容:

{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 8080, "protocol": "http" } } ] }, "virtualRouterName": "vrServiceB" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateVirtualRouter」を参照してください。

次のコード例は、update-virtual-router を使用する方法を示しています。

AWS CLI

仮想ルーターの更新するには

次の update-virtual-router の例では、JSON 入力ファイルを使用して仮想ルーターリスナーポートを更新します。

aws appmesh update-virtual-router \ --cli-input-json file://update-virtual-router.json

update-virtual-router.json の内容:

{ "meshName": "app1", "spec": { "listeners": [ { "portMapping": { "port": 8080, "protocol": "http" } } ] }, "virtualRouterName": "vrServiceB" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Routers」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateVirtualRouter」を参照してください。

次の例は、update-virtual-service を使用する方法を説明しています。

AWS CLI

仮想サービスを更新するには

次の update-virtual-service の例では、JSON 入力ファイルを使用し、仮想ルータープロバイダーを使用して仮想サービスを更新します。

aws appmesh update-virtual-service \ --cli-input-json file://update-virtual-service.json

update-virtual-service.json の内容:

{ "meshName": "app1", "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceA" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateVirtualService」を参照してください。

次の例は、update-virtual-service を使用する方法を説明しています。

AWS CLI

仮想サービスを更新するには

次の update-virtual-service の例では、JSON 入力ファイルを使用し、仮想ルータープロバイダーを使用して仮想サービスを更新します。

aws appmesh update-virtual-service \ --cli-input-json file://update-virtual-service.json

update-virtual-service.json の内容:

{ "meshName": "app1", "spec": { "provider": { "virtualRouter": { "virtualRouterName": "vrServiceA" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }

出力:

{ "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" } }

詳細については、「AWS App Mesh ユーザーガイド」の「Virtual Services」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateVirtualService」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.