全般

Q: AWS App Mesh とは何ですか?

A: AWS App Mesh は、サービス間の通信のモニタリング、管理、デバッグを簡単にする新しいテクノロジーです。App Mesh は、マイクロサービスコンテナと同時にデプロイされるオープンソースのサービスメッシュプロキシである Envoy を使用します。App Mesh はモニタリングと追跡のために AWS のサービスと統合され、多くの一般的なサードパーティ製ツールとの使用が可能です。App Mesh は、Amazon ECS、Amazon EKS、AWS Fargate、および AWS で実行される Kubernetes によって管理されるマイクロサービスコンテナ、Amazon EC2 上で実行されるサービスで使用できます。

Q: App Mesh を使用するメリットは何ですか?

A: App Mesh では、新しいコードを書いたり追加の AWS インフラストラクチャを実行したりする必要なく、サービス間の通信を簡単に可視化、管理できます。App Mesh を使用すると、サービス間の通信を標準化し、サービス間の通信に対するルールを実装し、さらに、メトリクス、ログ、トレースを直接 AWS のサービスやお好みのサードパーティ製ツールにキャプチャできるようになります。

Q: App Mesh の仕組みを教えてください。

A: App Mesh は、サービス向けのサービスメッシュを設定し管理します。各サービスと並行してオープンソースの Envoy プロキシを実行すると、各コンテナに出入りするすべての通信を処理するようにプロキシが App Mesh によって設定されます。App Mesh は、メトリクス (エラー率など)、1 秒あたりの接続を収集します。これらは StatsD コレクターを使用して Amazon CloudWatch にエクスポートすることができます。App Mesh API を使用すると、パスまたは加重に基づいてトラフィックを特定のサービスバージョンにルーティングすることができます。

Q: サービスメッシュとは何ですか?

A: サービスメッシュは、サービス間のすべての通信を処理する新しいソフトウェアレイヤーです。サービス間の接続、および接続を管理するための新機能を提供し、各サービスのコードから独立しているため、ネットワークの境界を越えて複数のサービス管理システムと連携させることができます。

統合

Q: Amazon Elastic Container Service (ECS) や AWS Fargate は App Mesh とどのように連携しますか?

A: App Mesh では、Amazon ECS および AWS Fargate によって管理されるアプリケーション向けの新しい通信、観測、管理機能が提供されます。Envoy プロキシイメージをタスク定義に追加すると、App Mesh は、サービスメッシュ機能を提供するように Envoy の設定を管理します。App Mesh は、提供された Envoy ブートストラップ設定で指定されているエンドポイントに、メトリクス、ログ、およびトレースをエクスポートします。App Mesh では、メッシュ対応のマイクロサービス間で、トラフィックルーティングなどの制御を設定するための API を使用できます。

Q: App Mesh は Amazon Elastic Container Service for Kubernetes (EKS) とどのように連携しますか?

A: オープンソースの AWS App Mesh コントローラーおよびミューテートしている webhook アドミッションコントローラーを使用してください。これらのコントローラーによって Kubernetes サービスが App Mesh に接続され、Envoy プロキシが確実にポッドに挿入されます。App Mesh は、提供された Envoy ブートストラップ設定で指定されているエンドポイントに、メトリクス、ログ、およびトレースをエクスポートします。App Mesh では、メッシュ対応のマイクロサービス間で、トラフィックルーティングなどの制御を設定するための API を使用できます。

Q: App Mesh は Amazon EC2 で実行されるサービスとどのように連携しますか?

A: EC2 インスタンスで、Envoy プロキシをコンテナあるいはプロセスとして実行してください。AWS が提供するコンテナプロキシの init コンテナを使用するか、独自のスクリプトを実行して、プロキシ経由でインスタンスのネットワークトラフィックをリダイレクトします。App Mesh は、サービスメッシュ機能を提供するように Envoy の設定を管理します。App Mesh は、提供された Envoy ブートストラップ設定で指定されているエンドポイントに、メトリクス、ログ、およびトレースをエクスポートします。App Mesh では、メッシュ対応のマイクロサービス間で、トラフィックルーティングなどの制御を設定するための API を使用できます。

Q: AWS Elastic Load Balancer の代わりに App Mesh を使用するメリットは何ですか?

A: AWS では、すべてのインターネットトラフィックの処理と、信頼境界線外にあるクライアントからのトラフィックの処理には AWS Elastic Load Balancing を使用することをお勧めしています。AWS リージョン内のほかのサービスに接続する内部サービスの場合、App Mesh を使用すると、柔軟性、一貫性、およびサービス通信のためのより高度な管理とモニタリングが提供されます。

モニタリング、ロギング、追跡

Q: App Mesh ではどういったタイプのモニタリングが提供されますか?

A: App Mesh では、サービス間のすべてのホップに関する一貫したメトリクスとログが提供されます。これらのログやメトリクスには、サービス名やリクエスト識別子などのメタデータが含まれます。これらを使用すると、サービス間通信のグラフィカルダッシュボードを、Amazon CloudWatch などのツールを使用して集約、フィルタリング、および表示できます。一般的なダッシュボードには、お使いのサービスとそれに依存するサービスとの間のエラー率とエラーコードが含まれることがあります。App Mesh では、各サービスのトレースは自動的に収集されます。これによって、すべてのサービス API コールの詳細を含むサービスマップが簡単に可視化できるようになります。これらの機能により、マイクロサービス間における通信問題の根本的な原因をデバッグし特定するのが簡単になります。

Q: App Mesh では、モニタリング、ロギング、追跡に AWS 以外のツールを使うことはできますか? はい。

A: はい。App Mesh では、Envoy と連携できるすべてのサードパーティ製ツールをサポートしています。これには、Splunk、Prometheus、Grafana、さらに Zipkin や LightStep といったオープントレーシングソリューションが含まれます。

トラフィック管理

Q: App Mesh ではどのようなトラフィック管理が提供されますか?

A: App Mesh では、トラフィックルーティング向けのクライアント側管理のセットが提供されます。App Mesh は、アプリケーション間でトラフィックをルーティングするための、サービス名とバージョンに基づいた API を提供します。これらの機能により、マイクロサービスの新しいバージョンをデプロイするのが簡単になります。

開始方法

Q: App Mesh の使用料はいくらですか?

A: AWS App Mesh は追加料金なしで使用できます。コンテナと同時に実行される App Mesh プロキシによって消費される AWS リソース (EC2 インスタンスまたはリクエストされた Fargate の CPU やメモリ) に対してのみ料金が発生します。最低使用料金や前払いの義務はなく、実際に使用した分に対してのみお支払いいただきます。

Q: App Mesh の使用を開始するにはどうすればよいですか?

A: App Mesh は一般提供されています。AWS CLI または SDK から App Mesh の使用を開始していただけます。詳細は、開始方法のページをご覧ください。

Product-Page_Standard-Icons_01_Product-Features_SqInk
料金の詳細について

AWS App Mesh の料金の詳細

詳細 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ