

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

# とは AWS App Mesh
<a name="what-is-app-mesh"></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)」を参照してください。

AWS App Mesh は、サービスのモニタリングと制御を容易にするサービスメッシュです。サービスメッシュは、サービス間通信の処理専用のインフラストラクチャレイヤーであり、通常、アプリケーションコードと一緒にデプロイされる一連の軽量ネットワークプロキシを介して行われます。App Mesh は、サービスの通信方法を標準化し、エンドツーエンドの可視性を提供して、アプリケーションの高可用性を確保するのに役立ちます。App Mesh を使用すると、アプリケーション内のすべてのサービスについて一貫した可視性とネットワークトラフィックコントロールを実現できます。



## App Mesh をサンプルアプリケーションに追加する
<a name="example-application"></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)」を参照してください。

App Mesh を使用しない、次の簡単なアプリケーション例を考えてみましょう。2 つのサービスは AWS Fargate、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの Kubernetes、または Docker を使用する Amazon EC2 インスタンスで実行できます。

![\[Diagram showing client service connecting to servicea.apps.local, which connects to serviceb.apps.local.\]](http://docs.aws.amazon.com/ja_jp/app-mesh/latest/userguide/images/simple-app-diagram.png)


この図では、`serviceA` と `serviceB` の両方が `apps.local` 名前空間を介して検出可能です。例えば `servicebv2.apps.local` という名前の `serviceb.apps.local` の新しいバージョンをデプロイすることにしたとします。次に、`servicea.apps.local` からのトラフィックの何パーセントかを `serviceb.apps.local` に、何パーセントかを `servicebv2.apps.local` に誘導したいとします。`servicebv2` が順調に実行されていることが確認できたら、そこに 100 パーセントのトラフィックを送ります。

 App Mesh は、アプリケーションコードや登録されたサービス名を変更することなく、これを行うのに役立ちます。このサンプルアプリケーションで App Mesh を使用すると、メッシュは、次の図のようになります。

![\[Diagram showing App Mesh architecture with virtual services, nodes, and router in a mesh network.\]](http://docs.aws.amazon.com/ja_jp/app-mesh/latest/userguide/images/simple-app-with-mesh-diagram.png)


この設定では、サービスは、相互に直接通信しなくなります。代わりに、プロキシを介して相互に通信します。`servicea.apps.local` サービスとともにデプロイされたプロキシは、App Mesh 設定を読み取り、設定に基づいて、トラフィックを `serviceb.apps.local` または `servicebv2.apps.local` に送信します。

## App Mesh のコンポーネント
<a name="app_mesh_components"></a>

App Mesh は、前の例に示すように、次のコンポーネントで設定されています。
+ **サービスメッシュ** - サービスメッシュは、その中に存在するサービス間のネットワークトラフィックの論理的な境界です この例では、メッシュは `apps` という名前で、メッシュの他のすべてのリソースが含まれています。詳細については、「[サービスメッシュ](meshes.md)」を参照してください。
+ **仮想サービス** - 仮想サービスは、実際のサービスを抽象化したもので、仮想ノードが直接または間接的に仮想ルーターによって提供するものです。図では、2 つの仮想サービスが 2 つの実際のサービスを表しています。仮想サービスの名前は、実際のサービスの検出可能な名前です。仮想サービスと実際のサービスの名前が同じ場合、複数のサービスは、AppMesh が実装される前に使用していたのと同じ名前を使用して相互に通信できます。詳細については、「[仮想サービス](virtual_services.md)」を参照してください。
+ **仮想ノード** — 仮想ノードは、Amazon ECS や Kubernetes サービスなどの検出可能なサービスへの論理ポインタとして機能します。仮想サービスごとに、少なくとも 1 つの仮想ノードがあります。図では、`servicea.apps.local` 仮想サービスは、`serviceA` という名前の仮想ノードの設定情報を取得します。`serviceA` 仮想ノードは、サービス検出用の `servicea.apps.local` という名前で設定されます。`serviceb.apps.local` 仮想サービスは、`serviceB` という仮想ルーターを経由して `serviceB` と `serviceBv2` の仮想ノードにトラフィックをルーティングするように設定されています。詳細については、「[仮想ノード](virtual_nodes.md)」を参照してください。
+ **仮想ルーターとルート** – 仮想ルーターは、メッシュ内の 1 つ以上の仮想サービスのトラフィックを処理します。ルートは仮想ルータに関連付けられます。仮想ルーターとルート - 仮想ルーターは、メッシュ内の1つまたは複数の仮想サービス用のトラフィックを処理します。先ほどの図では、`serviceB` 仮想ルーターは、トラフィックの何割かを `serviceB` 仮想ノードに、何割かを `serviceBv2` 仮想ノードに向ける経路を持っています。特定の仮想ノードにルーティングされるトラフィックの割合を設定し、時間経過とともに変化させることができます。HTTP ヘッダー、URL パス、または gRPC サービス、メソッド名などの条件に基づいてトラフィックをルーティングできます。応答にエラーがある場合に、接続を再試行するように再試行ポリシーを設定できます。例えば、図の例では、ルートの再試行ポリシーで、`serviceb.apps.local` が特定のタイプのエラーを返した場合に、`serviceb.apps.local` への接続を5回再試行し、再試行の間隔を10秒にするように指定できます。詳細については、「[仮想ルーター](virtual_routers.md)」と「[ルート](routes.md)」を参照してください。
+ **プロキシ** — メッシュとそのリソースを作成した後、プロキシを使用するようにサービスを設定します。プロキシは App Mesh 設定を読み取り、トラフィックを適切に転送します。図では、`servicea.apps.local` から `serviceb.apps.local` へのすべてのコミュニケーションは、各サービスとともにデプロイされたプロキシを経由します。サービスは、App Mesh を導入する前に使用したものと同じサービスディスカバリ名を使用して相互に通信します。プロキシは App Mesh 設定を読み取るため、2 つのサービスが相互に通信する方法を制御できます。App Mesh の設定を変更する場合は、サービス自体またはプロキシを変更または再デプロイする必要はありません。詳細については、「[Envoy イメージ](envoy.md)」を参照してください。

## 開始方法
<a name="how_to_get_started"></a>

App Mesh を使用するには、Amazon ECS AWS Fargate、Amazon EKS、Amazon EC2 上の Kubernetes、または Docker を備えた Amazon EC2 で実行されている既存のサービスが必要です。

App Mesh の使用を開始するには、次のいずれかのガイドを参照してください。
+ 「[App Mesh と Amazon ECS の使用を開始する](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ecs.html)」
+ 「[App Mesh と Kubernetes の使用を開始する](https://docs.aws.amazon.com/eks/latest/userguide/appmesh-getting-started.html)」
+ 「[App Mesh と Amazon EC2 の使用を開始する](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ec2.html)」

## App Mesh にアクセスする
<a name="accessing_app_mesh"></a>

次の方法で App Mesh を使用できます。

**AWS マネジメントコンソール**  
コンソールは、AppMeshリソースの管理に使用できるブラウザベースのインターフェイスです。App Mesh コンソールは、[https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh) で開くことができます。

**AWS CLI**  
さまざまな AWS 製品のコマンドを提供し、Windows、Mac、Linux でサポートされています。開始するには、「[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)」を参照してください。App Mesh の詳細については、「[AWS CLI コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/)」の [appmesh](https://docs.aws.amazon.com/cli/latest/reference/appmesh/index.html#) を参照してください。

**AWS Tools for Windows PowerShell**  
PowerShell 環境でスクリプトを作成するユーザー向けに、幅広い AWS 製品のコマンドを提供します。使用を開始する方法については『[AWS Tools for PowerShell ユーザーガイド](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html)』を参照してください。App Mesh の cmdlets に関する詳細は、「[AWS Tools for PowerShell Cmdlet リファレンス](https://docs.aws.amazon.com/powershell/v4/reference/)」の「[App Mesh](https://docs.aws.amazon.com/powershell/v4/reference/items/AppMesh_cmdlets.html)」を参照してください。

**AWS CloudFormation**  
必要なすべての AWS リソースを記述するテンプレートを作成できます。テンプレートを使用して、 はリソースを CloudFormation プロビジョニングおよび設定します。開始するには、「[AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)」を参照してください。App Mesh リソースタイプの詳細については、「[App Mesh リソースタイプ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppMesh.html)」の「[AWS CloudFormation テンプレートリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html)」を参照してください。

**AWS SDKs**  
また、さまざまなプログラミング言語から AppMesh にアクセスできるSDKも提供しています。SDK は、自動的に、次のようなタスクを処理します。  
+ サービスリクエストに暗号署名する
+ リクエストを再試行する
+ エラーレスポンスの処理をする
利用可能なSDKの詳細については、「[アマゾンウェブサービス用のツール](https://aws.amazon.com/tools/)」を参照してください。  
App Mesh API の詳細については、「[AWS App Mesh API リファレンス](https://docs.aws.amazon.com/app-mesh/latest/APIReference/Welcome.html)」を参照してください。