

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 仮想ノード
<a name="virtual_nodes"></a>

**重要**  
サポート終了通知: 2026 年 9 月 30 日、 AWS はサポートを終了します AWS App Mesh。2026 年 9 月 30 日以降、 AWS App Mesh コンソールまたは AWS App Mesh リソースにアクセスできなくなります。詳細については、このブログ記事[「 から Amazon ECS Service Connect AWS App Mesh への移行](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)」を参照してください。

仮想ノードは、Amazon ECS サービスや Kubernetes デプロイメントなどの特定のタスクグループへの論理ポインタとして機能します。仮想ノードを作成するときには、タスクグループのサービス検出メソッドを指定する必要があります。仮想ノードが期待するインバウンドトラフィックはすべて、*リスナー*として指定されます。仮想ノードがアウトバウンドトラフィックを送信する仮想サービスは、*バックエンド*として指定されます。

新しい仮想ノードのレスポンスメタデータには、仮想ノードに関連付けられている Amazon リソースネーム (ARN) が含まれています。この値を、Amazon ECS タスク定義または Kubernetes ポッド仕様のタスクグループの Envoy プロキシコンテナの `APPMESH_RESOURCE_ARN` 環境変数として設定します。例えば、値は `arn:aws:appmesh:us-west-2:111122223333:mesh/myMesh/virtualNode/myVirtualNode` になる可能性があります。これは、`node.id` および `node.cluster` Envoy パラメータにマッピングされます。これらの変数を設定するときは、Envoy イメージの `1.15.0` 以降を使用する必要があります。App Mesh Envoy 変数の詳細については、「[Envoy イメージ](envoy.md)」を参照してください。

**注記**  
デフォルトでは、App Mesh は、Envoy によってメトリクスとトレースでそれ自体が参照されるとき、`APPMESH_RESOURCE_ARN` で指定したリソースの名前を使用します。`APPMESH_RESOURCE_CLUSTER` 環境変数に独自の名前を設定することで、この動作を上書きできます。

## 仮想ノードの作成
<a name="vn-create-virtual-node"></a>

------
#### [ AWS マネジメントコンソール ]

**を使用して仮想ノードを作成するには AWS マネジメントコンソール**

1. [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/) で AppMesh コンソールを開きます。

1. 仮想ノードを作成するメッシュを選択します。自分が所有し、これまでに[共有された](sharing.md)、すべてのメッシュが一覧表示されます。

1. 左側のナビゲーションで **[仮想ノード]** を選択します。

1. **[仮想ノードの作成]** を選択し、仮想ノードの設定を指定します。

1. **[仮想ノード名]** で、仮想ノードの名前を入力します。

1. **[サービスの検出方法]** で、次のいずれかのオプションを選択します。
   + **DNS** — 仮想ノードが表す実際のサービスの **[DNS ホスト名]** を指定します。Envoy プロキシは、Amazon VPC にデプロイされます。プロキシは、VPC 用に設定された DNS サーバーに、名前解決リクエストを送信します。ホスト名が解決されると、DNS サーバーは 1 つ以上の IP アドレスを返します。VPC の DNS 設定の詳細については、「[VPC での DNS の使用](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」を参照してください。**[DNS response type]** (DNS レスポンスのタイプ) (オプション) に、DNS リゾルバによって返されるエンドポイントのタイプを指定します。「**ロードバランサー**」とは、DNS リゾルバがロードバランシングされたエンドポイントのセットを返すことを意味します。「**エンドポイント**」とは、DNS リゾルバがすべてのエンドポイントを返すことを意味します。デフォルトでは、レスポンスタイプは**ロードバランサー**であると想定されています。
**注記**  
**Route53** を使用する場合、**ロードバランサー**を使用する必要があります。
   + **[AWS Cloud Map]** — 既存の **[サービス名]** と **[名前空間]** を指定します。必要に応じて、**行の追加**を選択し、**キー**と**値**を指定 AWS Cloud Map することで、App Mesh がクエリできる属性を指定することもできます。指定されたすべてのキーと値のペアに一致するインスタンスのみが返されます。を使用するには AWS Cloud Map、アカウントに`AWSServiceRoleForAppMesh`[サービスにリンクされたロール](using-service-linked-roles.md)が必要です。詳細については AWS Cloud Map、「 [AWS Cloud Map デベロッパーガイド](https://docs.aws.amazon.com/cloud-map/latest/dg/)」を参照してください。
   + **なし** – 仮想ノードがインバウンドトラフィックを予期しない場合に選択します。

1. 

**[IP バージョンの設定]**

   **[デフォルトの IP バージョンの動作を上書きする]** をオンに切り替えて、メッシュ内のトラフィックに使用する IP バージョンを制御します。デフォルトでは、App Mesh はさまざまな IP バージョンを使用します。
**注記**  
仮想ノードで IP 優先設定を設定すると、そのノード上のメッシュに設定された IP優先設定のみが上書きされます。
   + デフォルト
     + Envoy の DNS リゾルバーは `IPv6` を優先し、`IPv4` にフォールバックします。
     + 利用可能な AWS Cloud Map 場合は から返された`IPv4`アドレスを使用し、`IPv6`そのアドレスを使用してフォールバックします。
     + ローカルアプリ用に作成されたエンドポイントは `IPv4` アドレスを使用します。
     + Envoy リスナーはすべての `IPv4` アドレスにバインドされます。
   + IPv6 優先
     + Envoy の DNS リゾルバーは `IPv6` を優先し、`IPv4` にフォールバックします。
     + によって返される`IPv6`アドレス AWS Cloud Map は、利用可能な場合は使用され、その`IPv4`アドレスの使用にフォールバックします。
     + ローカルアプリ用に作成されたエンドポイントは `IPv6` アドレスを使用します。
     + Envoy リスナーはすべての `IPv4` および `IPv6` アドレスにバインドされます。
   + IPv4 優先
     + Envoy の DNS リゾルバーは `IPv4` を優先し、`IPv6` にフォールバックします。
     + 利用可能な AWS Cloud Map 場合は から返された`IPv4`アドレスを使用し、`IPv6`そのアドレスを使用してフォールバックします。
     + ローカルアプリ用に作成されたエンドポイントは `IPv4` アドレスを使用します。
     + Envoy リスナーはすべての `IPv4` および `IPv6` アドレスにバインドされます。
   + IPv6 のみ
     + Envoy の DNS リゾルバーは `IPv6` のみを使用します。
     +  AWS Cloud Map によって返される`IPv6`アドレスのみが使用されます。 AWS Cloud Map が `IPv4` アドレスを返す場合、IP アドレスは使用されず、空の結果が Envoy に返されます。
     + ローカルアプリ用に作成されたエンドポイントは `IPv6` アドレスを使用します。
     + Envoy リスナーはすべての `IPv4` および `IPv6` アドレスにバインドされます。
   + IPv4 のみ
     + Envoy の DNS リゾルバーは `IPv4` のみを使用します。
     +  AWS Cloud Map によって返される`IPv4`アドレスのみが使用されます。 AWS Cloud Map が `IPv6` アドレスを返す場合、IP アドレスは使用されず、空の結果が Envoy に返されます。
     + ローカルアプリ用に作成されたエンドポイントは `IPv4` アドレスを使用します。
     + Envoy リスナーはすべての `IPv4` および `IPv6` アドレスにバインドされます。

1. 

**(オプション) **クライアントポリシーのデフォルト** – バックエンド仮想サービスと通信するときのデフォルトの要件を設定します。**
**注記**  
既存の仮想ノードに対して Transport Layer Security (TLS) を有効にする場合は、TLS を有効にする既存の仮想ノードと同じサービスを表す新しい仮想ノードを作成することをお勧めします。次に、仮想ルータとルートを使用して、トラフィックを新しい仮想ノードに徐々にシフトします。ルートの作成およびトランジションの重みの調整に関する詳細については、「[ルート](routes.md)」を参照してください。既存のトラフィック処理仮想ノードを TLS で更新する場合、更新した仮想ノードの Envoy プロキシが証明書を受信する前に、ダウンストリームクライアントの Envoy プロキシが TLS 検証コンテキストを受信する可能性があります。これにより、ダウンストリームの Envoy プロキシで TLS ネゴシエーションエラーが発生する可能性があります。
プロキシ[認可](proxy-authorization.md)は、バックエンドサービスの仮想ノードで表されるアプリケーションにデプロイされた Envoy プロキシに対して有効にする必要があります。プロキシ認可を有効にする場合は、この仮想ノードが通信している仮想ノードのみへのアクセスを制限するようお勧めします。
   + (オプション) 仮想ノードが Transport Layer Security (TLS) を使用してすべてのバックエンドと通信するようにリクエストする場合には、[**TLS の適用**] を選択します。
   + (オプション) 1 つ以上の特定のポートに対して TLS の使用のみが必要な場合は、**[ポート]** に数値を入力します。ポートを追加するには、**[ポートの追加]** を選択します。ポートを指定しない場合、すべてのポートに TLS が適用されます。
   + **検証方法**を使用する場合、次のいずれかのオプションを選択します。指定する証明書は、すでに存在し、特定の要件を満たしている必要があります。詳細については、「[証明書の要件](tls.md#virtual-node-tls-prerequisites)」を参照してください。
     + **AWS Private Certificate Authority** ホスティング — 既存の 1 つまたは複数のを選択します。**証明書**。ACM 証明書による暗号化を使用してサンプルアプリケーションでメッシュをデプロイする完全なend-to-endのチュートリアルについては、GitHub の[AWS 「Certificate Manager による TLS の設定](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/tls-with-acm)」を参照してください。
     + **[Envoy Secret Discovery Service (SDS)]** ホスティング — Envoy が Secret Discovery Service を使って取得するシークレットの名前を入力します。
     + **ローカルファイルホスティング** — Envoy がデプロイされているファイルシステム上の**証明書チェーン**ファイルへのパスを指定します。ローカルファイルで暗号化を使用してサンプルアプリケーションでメッシュをデプロイする完全なエンドツーエンドのチュートリアルについては、GitHub の「[ファイルにより提供された TLS 証明書を使用した TLS の設定](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided)」を参照してください。
   + (オプション) **[Subject Alternative Name]** (サブジェクトの別名) を入力します。SAN を追加するには、**[Add SAN]** (SAN を追加) を選択します。SAN は FQDN または URI 形式である必要があります。
   + (オプション) サーバーが要求したときにクライアント証明書を提供し、相互TLS認証を有効にするには、**[Provide client certificate]** (クライアント証明書の提供) と、次のオプションのいずれかを選択します。相互 TLS の詳細については、App Mesh の「[相互 TLS 認証](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html)」ドキュメントを参照してください。
     + **[Envoy Secret Discovery Service (SDS)]** ホスティング — Envoy が Secret Discovery Service を使って取得するシークレットの名前を入力します。
     + **ローカルファイルホスティング** - Envoy がデプロイされているファイルシステムで、**証明書チェーン**ファイルと**プライベートキー**へのパスを指定します。

1. 

**(オプション) **サービスバックエンド** — 仮想ノードが通信する App Mesh 仮想サービスを指定します。**
   + 仮想ノードが通信する仮想サービスの AppMesh 仮想サービス名または完全な Amazonリソース名 (ARN) を入力します。
   + (オプション) バックエンドに一意の TLS 設定を設定する場合は、**[TLS 設定]**、次に、**[デフォルトのオーバーライド]** を選択します。
     + (オプション) 仮想ノードが TLS を使用してすべてのバックエンドと通信する必要がある場合、**[TLS の適用]** を選択します。
     + (オプション) 1 つ以上の特定のポートに対して TLS の使用のみが必要な場合は、**[ポート]** に数値を入力します。ポートを追加するには、**[ポートの追加]** を選択します。ポートを指定しない場合、すべてのポートに TLS が適用されます。
     + **検証方法**を使用する場合、次のいずれかのオプションを選択します。指定する証明書は、すでに存在し、特定の要件を満たしている必要があります。詳細については、「[証明書の要件](tls.md#virtual-node-tls-prerequisites)」を参照してください。
       + **AWS Private Certificate Authority** ホスティング — 既存の**証明書**の 1 つまたは複数を選択します。
       + **[Envoy Secret Discovery Service (SDS)]** ホスティング — Envoy が Secret Discovery Service を使って取得するシークレットの名前を入力します。
       + **ローカルファイルホスティング** — Envoy がデプロイされているファイルシステム上の**証明書チェーン**ファイルへのパスを指定します。
     + (オプション) **サブジェクトの別名**を入力します。SAN を追加するには、**[Add SAN]** (SAN を追加) を選択します。SAN は FQDN または URI 形式である必要があります。
     + (オプション) サーバーが要求したときにクライアント証明書を提供し、相互TLS認証を有効にするには、**[Provide client certificate]** (クライアント証明書の提供) と、次のオプションのいずれかを選択します。相互 TLS の詳細については、App Mesh の「[相互 TLS 認証](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html)」ドキュメントを参照してください。
       + **[Envoy Secret Discovery Service (SDS)]** ホスティング — Envoy が Secret Discovery Service を使って取得するシークレットの名前を入力します。
       + **ローカルファイルホスティング** - Envoy がデプロイされているファイルシステムで、**証明書チェーン**ファイルと**シークレットキー**へのパスを指定します。
   + バックエンドを追加するには、**[バックエンドの追加]** を選択します。

1. (オプション) **ログ記録**

   ログ記録を設定するには、Envoy が使用する HTTP アクセスログのパスを入力します。`/dev/stdout` パスを使用するようお勧めします。これにより、Docker ログドライバーを使用して Envoy ログを Amazon CloudWatch Logs などのサービスにエクスポートできます。
**注記**  
ログは引き続き、アプリケーション内のエージェントによって取り込まれ、送信先に送信される必要があります。このファイルパスは、ログの送信先を Envoy に指示するだけです。

1. **[リスナー設定]**

   リスナーは、`HTTP`、`HTTP/2`、`GRPC`、`TCP` の各プロトコルをサポートします。`HTTPS` はサポートされていません。

   1. 仮想ノードがインバウンドトラフィックをリクエストする場合は、**リスナー**用の**ポート**と**プロトコル**を指定します。**http** リスナーは、WebSocket への接続移行を許可します。**[リスナーの追加]** をクリックすると、複数のリスナーを追加できます。**[削除]** ボタンをクリックすると、そのリスナーが削除されます。

   1. 

**(オプション) **接続プールの有効化****

      接続プーリングにより、Envoy がローカルアプリケーションクラスターと同時に確立できる接続の数が制限されます。これは、ローカルアプリケーションが接続に圧倒されるのを防ぎ、アプリケーションのニーズに合わせてトラフィックシェーピングを調整できるようにすることを目的としています。

      仮想ノードリスナーの宛先側の接続プール設定を行うことができます。App Mesh は、クライアント側の接続プールの設定をデフォルトで無限に設定し、メッシュの設定を簡素化します。
**注記**  
connectionPool と portMapping プロトコルは同じである必要があります。リスナープロトコルが tcp の場合は、maxConnections のみを指定します。リスナープロトコルが grpc または http2 の場合は、maxRequests のみを指定します。リスナープロトコルが http の場合、maxConnections と maxPendingRequests の両方を指定できます。
      + **[最大接続数]** に、アウトバウンド接続の最大数を指定します。
      + (オプション) **[Maximum pending requests]** (最大保留リクエスト数) に、Envoy が **[最大接続数]** をキューに入れた後、オーバーフローしているリクエストの数を指定します。デフォルト値は `2147483647` です。

   1. 

**(オプション) **外れ値検出を有効にする****

      クライアント Envoy で適用された外れ値の検出により、クライアントは、既知の既知の障害がある接続に対して、ほぼ即時のアクションを実行できます。これは、アップストリームサービス内の個々のホストのヘルスステータスを追跡する回路ブレーカ実装の一形態です。

      外れ値の検出は、アップストリームクラスタ内のエンドポイントが他のクラスターとは異なるパフォーマンスを示しているかどうかを動的に判断し、正常な負荷分散セットからそれらを削除します。
**注記**  
サーバーの仮想ノードの外れ値検出を効果的に設定するために、その仮想ノードのサービス検出方法は、レスポンスタイプフィールドが に設定されている AWS Cloud Map または DNS のいずれかになります`ENDPOINTS`。レスポンスタイプを `LOADBALANCER` に設定して DNS サービス検出方法を使用する場合、Envoy プロキシは、アップストリームサービスへのルーティングに 1 つの IP アドレスのみを選択します。これにより、一連のホストから異常なホストを排出する外れ値の検出動作を無効にします。サービスディスカバリタイプに関する Envoy プロキシの動作の詳細については、「サービス検出方法」セクションを参照してください。
      + **[サーバーエラー]** に、排出に必要な連続した 5xx エラーの数を指定します。
      + **[Outlier detection interval]** (外れ値の検出間隔) に、排出のスイープ解析の時間間隔と単位を指定します。
      + **[Base ejection duration]** (ベース突出時間) に、ホストが排出される基本時間と単位を指定します。
      + **[Ejection percentage]** (突出パーセンテージ) に、負荷分散プール内の排出可能なホストの最大パーセンテージを指定します。

   1. 

**(オプション) **[ヘルスチェックを有効化]** — ヘルスチェックポリシーに関する設定を行います。**

      ヘルスチェックポリシーはオプションですが、ヘルスポリシーに値を指定する場合は、**正常なしきい値**、**ヘルスチェック間隔**、**ヘルスチェックプロトコル**、**タイムアウト期間**、**非正常なしきい値**の値を指定する必要があります。
      + **[ヘルスチェックプロトコル]** で、プロトコルを選択します。**grpc** を選択した場合、サービスは [GRPC Health CheckingProtocol](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) に準拠している必要があります。
      + **[ヘルスチェックポート]** に、ヘルスチェックを実行するポートを指定します。
      + **[正常なしきい値]** に、リスナーが正常であると宣言するために必要となるヘルスチェック成功の数を指定します。
      + **[ヘルスチェック間隔]** に、各ヘルスチェックの実行間隔をミリ秒単位で指定します。
      + **[パス]** に、ヘルスチェックリクエストの送信先パスを指定します。この値は、**ヘルスチェックプロトコル**が `http` または `http2` の場合のみ使用されます。この値は、他のプロトコルでは無視されます。
      + **[タイムアウト期間]** に、ヘルスチェックからの応答を受け取るまで待機する時間をミリ秒単位で指定します。
      + **[非正常なしきい値]** に、リスナーが異常であると宣言するために必要となるヘルスチェック失敗の数を指定します。

   1. 

**(オプション) **[TLS ターミネーションの有効化]** – TLS を使用して他の仮想ノードがこの仮想ノードと通信する方法を設定します。**
      + **[モード]**で、リスナーで TLS を設定するモードを選択します。
      + **[証明書メソッド]** で、次のいずれかのオプションを選択します。証明書は特定の要件を満たしている必要があります。詳細については、「[証明書の要件](tls.md#virtual-node-tls-prerequisites)」を参照してください。
        + **AWS Certificate Manager ホスティング** — 既存の**証明書**を選択します。
        + **[Envoy Secret Discovery Service (SDS)]** ホスティング — Envoy が Secret Discovery Service を使って取得するシークレットの名前を入力します。
        + [**ローカルファイルホスティング**] — Envoy プロキシがデプロイされているファイルシステムで、**証明書チェーン**ファイルと**シークレットキー**へのパスを指定します。
      + (オプション) **[Require client certificates]** (クライアント証明書を要求する) とクライアントが証明書を提供するときに相互 TLS 認証を有効にする次のオプションの 1 つを選択します。相互 TLS の詳細については、App Mesh の「[相互 TLS 認証](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html)」ドキュメントを参照してください。
        + **[Envoy Secret Discovery Service (SDS)]** ホスティング — Envoy が Secret Discovery Service を使って取得するシークレットの名前を入力します。
        + **ローカルファイルホスティング** — Envoy がデプロイされているファイルシステム上の**証明書チェーン**ファイルへのパスを指定します。
      + (オプション) **サブジェクトの別名**を入力します。SAN を追加するには、**[Add SAN]** (SAN を追加) を選択します。SAN は FQDN または URI 形式である必要があります。

   1. 

**(オプション) **[タイムアウト]****
**注記**  
 デフォルトより大きいタイムアウトを指定する場合は、必ず、デフォルトより大きいタイムアウト値を持つ仮想ルータとルートを設定してください。ただし、タイムアウトをデフォルトより低い値に減らす場合には、ルートでのタイムアウトを更新はオプションとなります。詳細については、「[ルート](https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html)」を参照してください。
      + **[リクエストのタイムアウト]** — リスナーの**プロトコル**に **grpc**、**http**、または **http2** を選択した場合には、リクエストのタイムアウトを指定できます。デフォルト値は 15 秒です。値が `0` の場合、タイムアウトが無効になります。
      + **[アイドル期間]** — 任意のリスナープロトコルのアイドル期間を指定できます。デフォルトは 300 秒です。

1. **[仮想ルーターの作成]** を選択して終了します。

------
#### [ AWS CLI ]

** AWS CLIを使用して仮想ノードを作成するには**

以下のコマンドと入力 JSON ファイル (*赤色*の値を独自の値に置き換えてください) を使用して、サービス検出に DNS を使用する仮想ノードを作成します。

1. 

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

1. create-virtual-node-dns.json の**例**の内容:

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

1. 出力例:

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-06T09:12:24.348000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "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": "nodeName"
       }
   }
   ```

App Mesh AWS CLI 用の を使用して仮想ノードを作成する方法の詳細については、 AWS CLI リファレンスの [create-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-node.html) コマンドを参照してください。

------

## 仮想ノードの削除
<a name="delete-virtual-node"></a>

**注記**  
仮想ノードが任意の[ルート](routes.md)のターゲットまたは任意の[仮想サービス](virtual_services.md)のプロバイダーとして指定されている場合、仮想ノードを削除することはできません。

------
#### [ AWS マネジメントコンソール ]

**を使用して仮想ノードを削除するには AWS マネジメントコンソール**

1. App Mesh コンソールを [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/) で開きます。

1. 仮想ノードから削除するメッシュを選択します。自分が所有し、これまでに[共有された](sharing.md)、すべてのメッシュが一覧表示されます。

1. 左側のナビゲーションで **[仮想ノード]** を選択します。

1. **[仮想ノード]** テーブルで、削除する仮想ノードを選択し、**[削除]** を選択します。仮想ノードを削除するには、アカウントIDが仮想ノードの**メッシュ所有者**または**リソース所有者**の列にリストされている必要があります。

1. 確認ボックスで、**delete** と入力し、次に、**[削除]** を選択します。

------
#### [ AWS CLI ]

**を使用して仮想ノードを削除するには AWS CLI**

1. 以下のコマンドを使用して仮想ノードを削除します (*赤色*の値を独自の値に置き換えてください)。

   ```
   aws appmesh delete-virtual-node \
        --mesh-name meshName \
        --virtual-node-name nodeName
   ```

1. 出力例:

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-07T11:03:48.120000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "backends": [],
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ],
               "serviceDiscovery": {
                   "dns": {
                       "hostname": "serviceBv1.svc.cluster.local"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualNodeName": "nodeName"
       }
   }
   ```

App Mesh AWS CLI の を使用して仮想ノードを削除する方法の詳細については、 AWS CLI リファレンスの [delete-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-node.html) コマンドを参照してください。

------