

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

# のセキュリティ AWS App Mesh
<a name="security"></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 です。お客様は AWS 、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャを活用できます。

セキュリティは、お客様と AWS お客様の間の責任共有です。[責任共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)では、これをクラウドのセキュリティおよびクラウド内のセキュリティとして説明しています。
+ **クラウドのセキュリティ** – クラウドで AWS AWS サービスを実行するインフラストラクチャを保護する AWS 責任があります。 AWS また、 では、安全に使用できるサービスも提供しています。[「AWS 」 コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)の一環として、サードパーティーの監査が定期的にセキュリティの有効性をテストおよび検証しています。「 AWS App Mesh」 に適用されるコンプライアンスプログラムの詳細については、「[コンプライアンスプログラムによる対象範囲内の 「AWS 」 のサービス](https://aws.amazon.com/compliance/services-in-scope/)」を参照してください。App Mesh は、TLS 証明書のシークレットキーなどの機密情報を含むローカルプロキシに設定を安全に配信する責任があります。
+ **クラウド内のセキュリティ** – お客様の責任は、使用する AWS サービスによって決まります。また、次のようなその他の要因についても責任を負います。
  + データの機密性、企業の要件、および適用される法律と規制。
  + トラフィックが VPC 内のサービス間を通過できるようにするセキュリティグループの設定など、App Mesh データプレーンのセキュリティ設定。
  + App Mesh に関連付けられているコンピューティングリソースの設定。
  + コンピューティングリソースに関連付けられた IAM ポリシーと、それらが App Mesh コントロールプレーンから取得できる設定。

このドキュメントは、App Mesh を使用するときに責任共有モデルを適用する方法を理解するのに役立ちます。次のトピックでは、セキュリティおよびコンプライアンスの目標を達成するために App Mesh を設定する方法を説明します。また、App Mesh リソースのモニタリングや保護に役立つ他の AWS サービスの使用方法についても説明します。

**App Mesh セキュリティ理念**  
お客様は、必要な範囲でセキュリティを調整できるようにする必要があります。プラットフォームが安全性の向上を妨げるものであってはなりません。プラットフォームの機能の安全性はデフォルトで設定されています。

**Topics**
+ [Transport Layer Security (TLS)](tls.md)
+ [相互 TLS 認証](mutual-tls.md)
+ [が IAM と AWS App Mesh 連携する方法](security-iam.md)
+ [を使用した AWS App Mesh API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md)
+ [でのデータ保護 AWS App Mesh](data-protection.md)
+ [のコンプライアンス検証 AWS App Mesh](compliance.md)
+ [のインフラストラクチャセキュリティ AWS App Mesh](infrastructure-security.md)
+ [の耐障害性 AWS App Mesh](disaster-recovery-resiliency.md)
+ [での設定と脆弱性の分析 AWS App Mesh](configuration-vulnerability-analysis.md)

# Transport Layer Security (TLS)
<a name="tls"></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 では、Transport Layer Security (TLS) は、[仮想ノード](virtual_nodes.md) や [仮想ゲートウェイ](virtual_gateways.md) などのメッシュエンドポイントによって App Mesh で表される、コンピューティングリソースにデプロイされた Envoy プロキシ間の通信を暗号化します。プロキシは TLS をネゴシエートして終了します。プロキシがアプリケーションと一緒にデプロイされる場合、アプリケーションコードには TLS セッションをネゴシエートする役割はありません。プロキシが、アプリケーションに代わって TLS をネゴシエートします。

App Mesh では、次の方法で TLS 証明書をプロキシに提供できます。
+  AWS Certificate Manager () によって発行される (ACM) AWS Private Certificate Authority からのプライベート証明書AWS Private CA。
+ 独自の認証局 (CA) によって発行された仮想ノードのローカルファイルシステムに保存されている証明書 
+ ローカルの Unix ドメインソケットを介して Secrets Discovery Service (SDS) エンドポイントによって提供される証明書。

[Envoy プロキシの認可](proxy-authorization.md) は、メッシュエンドポイントで表されるデプロイ済みの Envoy プロキシで有効にする必要があります。プロキシ認可を有効にする場合は、暗号化を有効にするメッシュエンドポイントのみへのアクセスに制限するようお勧めします。

## 証明書の要件
<a name="virtual-node-tls-prerequisites"></a>

証明書のサブジェクト代替名 (SAN) の 1 つが、メッシュエンドポイントによって表される実際のサービスの検出方法に応じて、特定の基準に一致する必要があります。
+ **DNS** — 証明書 SAN の 1 つが、DNS サービスディスカバリ設定で指定された値と一致する必要があります。`mesh-endpoint.apps.local` というサービスディスカバリ名を持つアプリケーションの場合、その名前と一致する証明書を作成するか、ワイルドカード `*.apps.local` を使用して証明書を作成することができます。
+ **AWS Cloud Map** – 証明書 SANs の 1 つは、 形式を使用して AWS Cloud Map サービス検出設定で指定された値と一致する必要があります`service-name.namespace-name`。serviceName `mesh-endpoint`と namespaceName AWS Cloud Map のサービス検出設定を持つアプリケーションの場合`apps.local`、名前 に一致する証明書`mesh-endpoint.apps.local`、またはワイルドカードを持つ証明書を作成できます。 `*.apps.local.`

どちらの検出メカニズムでも、DNS サービスディスカバリ設定に一致する証明書 SAN がない場合、クライアントの Envoy から見て、Envoys 間の接続は、次のエラーメッセージで失敗します。

```
TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
```

## TLS 認証証明書
<a name="authentication-certificates"></a>

App Mesh では、TLS 認証を使用する場合、証明書の複数のソースがサポートされます。

**AWS Private CA**  
証明書は、証明書を使用するメッシュエンドポイントと同じリージョンおよび AWS アカウントの ACM に保存する必要があります。CA の証明書は同じ AWS アカウントにある必要はありませんが、メッシュエンドポイントと同じリージョンにある必要があります。がない場合は AWS Private CA、証明書をリクエストする前に[作成](https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html)する必要があります。ACM AWS Private CA を使用して既存の から証明書をリクエストする方法の詳細については、[「プライベート証明書をリクエストする](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html)」を参照してください。証明書をパブリック証明書にすることはできません。  
TLS クライアントポリシーに使用するプライベート CA は、ルートユーザー CA である必要があります。  
証明書と CAs を使用して仮想ノードを設定するには AWS Private CA、App Mesh の呼び出しに使用するプリンシパル (ユーザーやロールなど) に次の IAM アクセス許可が必要です。  
+ リスナーの TLS 設定に追加する証明書では、プリンシパルに `acm:DescribeCertificate` のアクセス許可が必要です。
+ TLS クライアントポリシーで設定された CA の場合は、プリンシパルに `acm-pca:DescribeCertificateAuthority` のアクセス許可が必要です。
CA を他のアカウントと共有すると、それらのアカウントに意図しない CA への特権が与えられる可能性があります。リソースベースのポリシーを使用して、CA から証明書を発行する必要のないアカウントに対しては `acm-pca:DescribeCertificateAuthority` と `acm-pca:GetCertificateAuthorityCertificate` のみへのアクセスに制限するようお勧めします。
これらのアクセス許可は、プリンシパルにアタッチされている既存の IAM ポリシーに追加するか、新しいプリンシパルとポリシーを作成してポリシーをプリンシパルにアタッチできます。詳細については、「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」、「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」、「[IAM ID アクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console)」を参照してください。  
各 のオペレーションは、削除する AWS Private CA まで月額料金が発生します。また、毎月発行するプライベート証明書とエクスポートするプライベート証明書についても料金が発生します。詳細については、[AWS Certificate Manager の料金](https://aws.amazon.com//certificate-manager/pricing/)を参照してください。
メッシュエンドポイントが表す Envoy Proxy の[プロキシ認可](proxy-authorization.md)を有効にする場合、使用する IAM ロールに次の IAM アクセス許可を割り当てる必要があります。  
+ 仮想ノードのリスナーに設定された証明書の場合、ロールには `acm:ExportCertificate` のアクセス許可が必要です。
+ TLS クライアントポリシーで設定されている CA の場合、ロールには`acm-pca:GetCertificateAuthorityCertificate` のアクセス許可が必要です。

**ファイルシステム**  
ファイルシステムを使用して Envoy に証明書を配信できます。これを行うには、証明書チェーンとこれに対応するシークレットキーをファイルパスで使用できるようにします。そうすれば、これらのリソースは Envoy サイドカープロキシから利用可能です。

**Envoy Secret Discovery Service (SDS)**  
Envoy は、Secrets Discovery プロトコルを使用して、特定のエンドポイントから TLS 証明書などの機密情報を取得します。このプロトコルの詳細については、Envoy の [SDS ドキュメント](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret)を参照してください。  
App Mesh は、SDS (Secret Discovery Service) が証明書および証明書チェーンのソースとして機能する場合、プロキシに対してローカルな Unix ドメインソケットを使用して SDS エンドポイントとして機能するように Envoy プロキシを設定します。`APPMESH_SDS_SOCKET_PATH` 環境変数を使用して、このエンドポイントへのパスを設定できます。  
Unix ドメインソケットを使用した Local Secrets Discovery Service は、App Mesh Envoy プロキシのバージョン 1.15.1.0 以降でサポートされています。  
App Mesh では、gRPC を使用して V2 SDS プロトコルがサポートされています。

**SPIFFE ランタイム環境 (SPIRE) との統合**  
[SPIFFE ランタイム環境 (SPIRE)](https://github.com/spiffe/spire) などの既存のツールチェーンを含む、SDS API の任意のサイドカー実装を使用できます。SPIRE は、分散システムの複数のワークロード間で相互 TLS 認証をデプロイできるように設計されています。実行時にワークロードのアイデンティティを証明します。また、SPIRE は、ワークロード固有で一時的に使えて自動的にローテーションするキーと証明書をワークロードに直接送信します。  
SPIRE エージェントを Envoy の SDS プロバイダーとして設定する必要があります。相互 TLS 認証を提供するために必要なキーマテリアルを Envoy に直接提供できるようにします。Envoy プロキシの横にあるサイドカーで SPIRE エージェントを実行します。エージェントは、必要に応じて一時的に使えるキーおよび証明書を再生成します。エージェントは、Envoy を証明し、Envoy が SPIRE エージェントによって公開される SDS サーバーに接続するときに、Envoy がどのサービスアイデンティティと CA 証明書を使用できるようにするかを決定します。  
このプロセス中に、サービスアイデンティティ と CA 証明書がローテーションされ、更新情報が Envoy にストリーミングされます。Envoy は、その情報を中断やダウンタイムもなく、プライベートキーがファイルシステムに触れることなく、新しい接続にすぐに適用します。

## TLS をネゴシエートするための App Mesh による Envoys の設定方法
<a name="envoy-configuration-tls"></a>

App Mesh は、メッシュ内にある Envoys 間の通信の設定方法を決定する際に、クライアントとサーバーの両方のメッシュエンドポイント設定を使用します。

**クライアントポリシーを使用する場合**  
クライアントポリシーで TLS の使用が適用され、クライアントポリシー内のポートの 1 つがサーバーのポリシーのポートと一致する場合、クライアントポリシーを使用してクライアントの TLS 検証コンテキストを設定します。例えば、仮想ゲートウェイのクライアントポリシーが仮想ノードのサーバーポリシーと一致する場合、TLS ネゴシエーションは、仮想ゲートウェイのクライアントポリシーで定義された設定を使用して、プロキシ間で試行されます。クライアントポリシーがサーバーのポリシーのポートと一致しない場合、サーバーポリシーの TLS 設定に応じて、プロキシ間の TLS がネゴシエートされる場合とそうでない場合があります。

**クライアントポリシーを使用しない場合**  
クライアントがクライアントポリシーを設定していない場合、またはクライアントポリシーがサーバーのポートと一致しない場合、App Mesh はサーバーを使用して、クライアントから TLS をネゴシエートするかどうか、また、その方法を判断します。例えば、仮想ゲートウェイでクライアントポリシーが指定されておらず、仮想ノードが TLS 終了を設定していない場合、TLS はプロキシ間でネゴシエートされません。クライアントが一致するクライアントポリシーを指定しておらず、サーバーが TLS モード `STRICT` または `PERMISSIVE` で設定されている場合、プロキシは TLS をネゴシエートするように設定されます。TLS 終了時の証明書の提供方法に応じて、次の追加の動作が適用されます。  
+ **ACM 管理の TLS 証明書** — サーバーが ACM 管理された証明書を使用して TLS 終了を設定した場合、App Mesh は、TLS をネゴシエートし、証明書がチェーンアップするルートユーザー CA に対して証明書を検証するようにクライアントを自動的に設定します。
+ **ファイルベースの TLS 証明書** — サーバーがプロキシのローカルファイルシステムからの証明書を使用して TLS 終了を設定すると、App Mesh は TLS をネゴシエートするようにクライアントを自動的に設定しますが、サーバーの証明書は検証されません。

**サブジェクトの別名**  
オプションで、信頼するサブジェクトの別名 (SAN) のリストを指定することもできます。SAN は FQDN または URI 形式である必要があります。SAN が提供されている場合、Envoy は、提示された証明書のサブジェクトの別名がこのリストのいずれかの名前と一致することを確認します。  
終端側のメッシュエンドポイントで SAN を指定しない場合、そのノードの Envoy プロキシはピアクライアント証明書の SAN を検証しません。発信元のメッシュエンドポイントで SAN を指定しない場合、終端側のエンドポイントによって提供される証明書の SAN は、メッシュエンドポイントのサービスディスカバリ設定と一致する必要があります。  
詳細については、App Mesh の「[TLS: 証明書の要件](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites)」を参照してください。  
TLS のクライアントポリシーが `not enforced` に設定されている場合にのみ、ワイルドカード SAN を使用できます。クライアント仮想ノードまたは仮想ゲートウェイのクライアントポリシーが TLS を適用するように構成されている場合、ワイルドカード SAN を受け入れることはできません。

## 暗号化の検証
<a name="verify-encryption"></a>

TLS を有効にしたら、Envoy プロキシにクエリを送信して、通信が暗号化されていることを確認できます。Envoy プロキシは、TLS 通信が正常に機能しているかどうかを理解するのに役立つリソースの統計情報を出力します。例えば、Envoy プロキシは、指定されたメッシュエンドポイントに対して正常にネゴシエートした TLS ハンドシェイクの数に関する統計情報を記録します。次のコマンドを実行して、`my-mesh-endpoint` という名前のメッシュエンドポイントで成功した TLS ハンドシェイクの数を特定します。

```
curl -s 'http://my-mesh-endpoint.apps.local:9901/stats' | grep ssl.handshake
```

次の返された出力例では、メッシュエンドポイントに対して 3 つのハンドシェイクがあったため、通信は暗号化されています。

```
listener.0.0.0.0_15000.ssl.handshake: 3
```

Envoy プロキシは、TLS ネゴシエーションが失敗したときにも統計情報を送信します。メッシュエンドポイントに TLS エラーがあったかどうかを確認します。

```
curl -s 'http://my-mesh-endpoint.apps.local:9901/stats' | grep -e "ssl.*\(fail\|error\)"
```

返された出力例では、複数の統計情報でエラーがゼロだったため、TLS ネゴシエーションは成功しています。

```
listener.0.0.0.0_15000.ssl.connection_error: 0
listener.0.0.0.0_15000.ssl.fail_verify_cert_hash: 0
listener.0.0.0.0_15000.ssl.fail_verify_error: 0
listener.0.0.0.0_15000.ssl.fail_verify_no_cert: 0
listener.0.0.0.0_15000.ssl.ssl.fail_verify_san: 0
```

Envoy TLS 統計の詳細については、「[Envoy リスナー統計情報](https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/stats)」を参照してください。

## 証明書の更新
<a name="certificate-renewal"></a>

**AWS Private CA**  
ACM を使用して証明書を更新すると、更新が完了してから35分以内に接続されているプロキシに更新された証明書が自動的に配信されます。マネージド型更新を使用して、有効期間の期限に近づいた証明書を自動的に更新するようお勧めします。詳細については、[「 ユーザーガイド」の「ACM の Amazon 発行証明書のマネージド更新](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html)」を参照してください。 AWS Certificate Manager 

**独自の証明書を使用する**  
ローカルファイルシステムからの証明書を使用する場合、Envoy は、証明書が変更されても自動的に再ロードしません。Envoy プロセスを再起動するか、再デプロイして、新しい証明書をロードできます。新しい証明書を別のファイルパスに配置し、そのファイルパスで仮想ノードまたはゲートウェイ設定を更新することもできます。

## で TLS 認証を使用するように Amazon ECS ワークロードを設定する AWS App Mesh
<a name="mtls-configure-ecs"></a>

メッシュを設定すると、TLS 認証を使用できます。ワークロードに追加する Envoy プロキシサイドカーで証明書が使用可能であることを確認します。EBS ボリュームまたは EFS ボリュームを Envoy サイドカーにアタッチすることも、証明書を保存したり、 AWS Secrets Manager から取得することもできます。
+ ファイルベースの証明書のディストリビューションを使用する場合は、EBS ボリュームまたは EFS ボリュームを Envoy サイドカーにアタッチします。証明書とプライベートキーへのパスが、 に設定されているパスと一致していることを確認します AWS App Mesh。
+ SDS ベースのディストリビューションを使用している場合は、証明書へのアクセス権を持つ Envoy の SDS API を実装するサイドカーを追加します。

**注記**  
SPIRE は Amazon ECS ではサポートされません。

## で TLS 認証を使用するように Kubernetes ワークロードを設定する AWS App Mesh
<a name="mtls-configure-kubernetes"></a>

 AWS App Mesh Controller for Kubernetes を設定して、仮想ノードと仮想ゲートウェイサービスのバックエンドとリスナーの TLS 認証を有効にすることができます。ワークロードに追加する Envoy プロキシサイドカーで証明書が使用可能であることを確認します。相互 TLS 認証の[チュートリアル](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html#mtls-walkthrough)セクションで、各ディストリビューションタイプの例を確認できます。
+ ファイルベースの証明書のディストリビューションを使用する場合は、EBS ボリュームまたは EFS ボリュームを Envoy サイドカーにアタッチします。証明書とシークレットキーへパスが、コントローラーで設定されているパスと一致していることを確認します。または、ファイルシステム上にマウントされている Kubernetes Secret を使用することもできます。
+ SDS ベースのディストリビューションを使用する場合は、Envoy の SDS API を実装するノードローカル SDS プロバイダーを設定する必要があります。Envoy は UDS を介して到達します。EKS App Mesh コントローラーで SDS ベースの mTLS サポートを有効にするには、`enable-sds` フラグを `true` に設定し、ローカル SDS プロバイダーの UDS パスを `sds-uds-path` フラグを介してコントローラーに提供します。Helm を使用する場合は、コントローラーインストールの一部としてこれらを設定します。

  ```
  --set sds.enabled=true
  ```

**注記**  
Fargate モードで Amazon Elastic Kubernetes Service (Amazon EKS) を使用している場合は、SPIRE を使用して証明書を配信することはできません。

# 相互 TLS 認証
<a name="mutual-tls"></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)」を参照してください。

相互 TLS (Transport Layer Security) 認証は、TLSのオプションコンポーネントで、双方向のピア認証を提供します。相互 TLS 認証は、TLS 上にセキュリティレイヤーを追加し、お客様のサービスが接続を行うクライアントを確認することを可能にします。

クライアントとサーバーの関係にあるクライアントは、セッションネゴシエーションプロセス中に X.509 証明書も提供します。サーバーは、この証明書を使用してクライアントを識別し、認証します。このプロセスは、証明書が信頼できる認証局 (CA) によって発行されたかどうか、また、証明書が有効な証明書であるかどうかを確認するのに役立ちます。また、証明書のサブジェクト別名 (SAN) を使用してクライアントを識別します。

でサポートされているすべてのプロトコルで相互 TLS 認証を有効にできます AWS App Mesh。TCP、HTTP/1.1、HTTP/2、gRPC があります。

**注記**  
App Mesh を使用して、サービスからの Envoy プロキシ間の通信に対して相互 TLS 認証を設定できます。ただし、アプリケーションとEnvoy プロキシ間の通信は暗号化されません。

## 相互 TLS 認証証明書
<a name="mtls-certificates"></a>

AWS App Mesh は、相互 TLS 認証用に 2 つの可能な証明書ソースをサポートします。TLS クライアントポリシーのクライアント証明書とリスナー TLS 設定でのサーバー検証を、次のものからソースできます。
+ **ファイルシステム—**実行中の Envoy プロキシのローカルファイルシステムからの証明書。Envoy に証明書を配布するには、App Mesh API に証明書チェーンとシークレットキーのファイルパスを指定する必要があります。
+ **Envoy の Secret Discovery Service (SDS) —**SDSを実装し、証明書をEnvoyに送信できるようにする独自のサイドカーを持参してください。それらには、SPIFFE ランタイム環境(SPIRE)が含まれます。

**重要**  
App Mesh は、相互 TLS 認証に使用される証明書またはシークレットキーを保存しません。代わりに、Envoy が、それらをメモリに保存します。

## メッシュエンドポイントの設定
<a name="mtls-configure-mesh-endpoints"></a>

仮想ノードやゲートウェイなど、メッシュエンドポイントの相互 TLS 認証を設定します。これらのエンドポイントは、証明書を提供し、信頼できる権限を指定します。

これを行うには、クライアントとサーバーの両方に X.509 証明書をプロビジョニングし、TLS 終了と TLS 発信の両方の検証コンテキストで信頼できる機関証明書を明示的に定義する必要があります。

**メッシュの内部を信頼する**  
サーバー側の証明書は仮想ノードリスナー (TLS 終了) で設定され、クライアント側の証明書は仮想ノードサービスバックエンド (TLS 発信) で構成されます。この設定の代わりに、仮想ノードのすべてのサービスバックエンドに対してデフォルトのクライアントポリシーを定義し、必要に応じて特定のバックエンドに対してこのポリシーを上書きできます。仮想ゲートウェイは、そのすべてのバックエンドに適用されるデフォルトのクライアントポリシーでのみ設定できます。  
両方のメッシュの仮想ゲートウェイでインバウンドトラフィックの相互 TLS 認証を有効にすることで、異なるメッシュ間で信頼を設定できます。

**メッシュの外側を信頼する**  
TLS 終了の仮想ゲートウェイリスナーでサーバー側の証明書を指定します。仮想ゲートウェイと通信する外部サービスを設定して、クライアント側の証明書を提示します。証明書は、サーバー側の証明書が TLS 発信の仮想ゲートウェイリスナーで使用するのと同じ認定権限 (CA) の 1 つから取得する必要があります。

## 相互 TLS 認証にサービスを移行する
<a name="mtls-migrating-services"></a>

App Mesh内の既存のサービスを相互 TLS 認証に移行する場合は、これらのガイドラインに従って接続を維持してください。

**プレーンテキストで通信するサービスを移行する**

1. サーバーエンドポイントの TLS 設定の `PERMISSIVE` モードを有効にします。このモードでは、プレーンテキストトラフィックがエンドポイントに接続できるようになります。

1. サーバーの相互 TLS 認証を設定し、サーバー証明書、トラストチェーン、およびオプションで信頼できる SAN を指定します。

1. TLS 接続を介して通信が行われていることを確認します。

1. クライアントで相互 TLS 認証を設定し、クライアント証明書、トラストチェーン、およびオプションで信頼できるSANを指定します。

1. サーバーの TLS 設定に `STRICT` モードを有効にします。

**TLS 経由で通信するサービスの移行**

1. クライアントで相互 TLS 設定をし、クライアント証明書、そしてオプションで信頼された SAN を指定します。クライアント証明書は、バックエンドサーバーが要求するまでバックエンドに送信されません。

1. サーバーで相互 TLS 設定をし、トラストチェーン、およびオプションで信頼された SAN を指定します。このため、サーバーは、クライアント証明書をリクエストします。

## 相互 TLS 認証の検証
<a name="mtls-verification"></a>

Envoy が具体的にどのように TLS 関連の統計を出すかは、「[Transport Layer Security: 暗号化の検証](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#verify-encryption)」ドキュメントを参照してください。相互 TLS 認証の場合は、次の統計情報を調べる必要があります。
+ `ssl.handshake`
+ `ssl.no_certificate`
+ `ssl.fail_verify_no_cert`
+ `ssl.fail_verify_san`

次の 2 つの統計例は、仮想ノードに正常に終了する TLS 接続が、すべて証明書を提供したクライアントから発信されていることを示しています。

```
listener.0.0.0.0_15000.ssl.handshake: 3
```

```
listener.0.0.0.0_15000.ssl.no_certificate: 0
```

次の統計例は、仮想クライアントノード (またはゲートウェイ) からバックエンドの仮想ノードへの接続に失敗したことを表しています。サーバー証明書に記載されているサブジェクト代替名 (SAN) が、クライアントが信頼する SAN のいずれとも一致していません。

```
cluster.cds_egress_my-mesh_my-backend-node_http_9080.ssl.fail_verify_san: 5
```

## App Mesh 相互 TLS 認証のウォークスルー
<a name="mtls-walkthrough"></a>
+  [相互 TLS 認証のウォークスルー](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-mutual-tls-file-provided)：このウォークスルーでは、App Mesh CLIを使用して、相互 TLS 認証によるカラーアプリを構築する方法について説明します。
+  [Amazon EKS 相互TLS SDS ベースのウォークスルー](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-mtls-sds-based):このウォークスルーでは、Amazon EKSとSPIFFE ランタイム環境 (SPIRE) で、相互 TLS SDS ベースの認証を使用する方法を紹介します。
+  [Amazon EKS 相互 TLS ファイルベースのウォークスルー](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-k8s-mtls-file-based): このウォークスルーでは、Amazon EKS と SPIFFE ランタイム環境 (SPIRE) で、相互TLSファイルベース認証を使用する方法を紹介します。

# が IAM と AWS App Mesh 連携する方法
<a name="security-iam"></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 Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、App Mesh リソースを使用するための*認証* (サインイン)、*認可* (アクセス許可を持つ) できるユーザーを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [オーディエンス](#security_iam_audience)
+ [アイデンティティを使用した認証](#security_iam_authentication)
+ [ポリシーを使用したアクセスの管理](#security_iam_access-manage)
+ [が IAM と AWS App Mesh 連携する方法](security_iam_service-with-iam.md)
+ [AWS App Mesh アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)
+ [AWS App Mesh の マネージドポリシー](security-iam-awsmanpol.md)
+ [App Mesh のサービスリンクロールの使用](using-service-linked-roles.md)
+ [Envoy プロキシの認可](proxy-authorization.md)
+ [AWS App Mesh ID とアクセスのトラブルシューティング](security_iam_troubleshoot.md)

## オーディエンス
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。
+ **サービスユーザー** - 機能にアクセスできない場合は、管理者にアクセス許可をリクエストします (「[AWS App Mesh ID とアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照)。
+ **サービス管理者** - ユーザーアクセスを決定し、アクセス許可リクエストを送信します (「[が IAM と AWS App Mesh 連携する方法](security_iam_service-with-iam.md)」を参照)
+ **IAM 管理者** - アクセスを管理するためのポリシーを作成します (「[AWS App Mesh アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照)

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証とは、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

 AWS IAM アイデンティティセンター (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「*AWS サインイン ユーザーガイド*」の「[AWS アカウントにサインインする方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS 署名バージョン 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

### AWS アカウント ルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント *ルートユーザー*と呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*は、特定の個人やアプリケーションに対する特定のアクセス許可を持つアイデンティティです。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、*IAM ユーザーガイド*の[「ID プロバイダーとのフェデレーションを使用して にアクセスする必要がある AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)」を参照してください。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集合を指定し、大量のユーザーに対するアクセス許可の管理を容易にします。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可を持つアイデンティであり、一時的な認証情報を提供します。ユーザー[から IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)を引き受けることができます。 AWS CLI AWS 詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールは、フェデレーションユーザーアクセス、一時的な IAM ユーザーのアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行するアプリケーションに役立ちます。詳細については、*IAM ユーザーガイド* の [IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられたときにアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は、ポリシーを使用して、どの**プリンシパル**がどの**リソース**に対して、どのような**条件**で**アクション**を実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールにアクセス許可はありません。IAM 管理者は IAM ポリシーを作成してロールに追加し、このロールをユーザーが引き受けられるようにします。IAM ポリシーは、オペレーションの実行方法を問わず、アクセス許可を定義します。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースのポリシーは、アイデンティティ (ユーザー、グループ、またはロール) にアタッチできる JSON アクセス許可ポリシードキュメントです。これらのポリシーは、アイデンティティがどのリソースに対してどのような条件下でどのようなアクションを実行できるかを制御します。アイデンティティベースポリシーの作成方法については、*IAM ユーザーガイド* の [カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) を参照してください。

アイデンティティベースのポリシーは、*インラインポリシー* (単一の ID に直接埋め込む) または*管理ポリシー* (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

### リソースベースのポリシー
<a name="security_iam_access-manage-resource-based-policies"></a>

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。例としては、IAM *ロール信頼ポリシー*や Amazon S3 *バケットポリシー*などがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

### アクセスコントロールリスト (ACL)
<a name="security_iam_access-manage-acl"></a>

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

Amazon S3、および Amazon VPC は AWS WAF、ACLs。ACL の詳細については、*Amazon Simple Storage Service デベロッパーガイド* の [アクセスコントロールリスト (ACL) の概要](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) を参照してください。

### その他のポリシータイプ
<a name="security_iam_access-manage-other-policies"></a>

AWS は、より一般的なポリシータイプによって付与されるアクセス許可の最大数を設定できる追加のポリシータイプをサポートしています。
+ **アクセス許可の境界** – アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の数の上限を設定します。詳細については、「*IAM ユーザーガイド*」の「[IAM エンティティのアクセス許可境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。
+ **サービスコントロールポリシー (SCP)** - AWS Organizations内の組織または組織単位の最大のアクセス許可を指定します。詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。
+ **リソースコントロールポリシー (RCP)** – は、アカウント内のリソースで利用できる最大数のアクセス許可を定義します。詳細については、「*AWS Organizations ユーザーガイド*」の「[リソースコントロールポリシー (RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)」を参照してください。
+ **セッションポリシー** – ロールまたはフェデレーションユーザーの一時セッションを作成する際にパラメータとして渡される高度なポリシーです。詳細については、「*IAM ユーザーガイド*」の「[セッションポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)」を参照してください。

### 複数のポリシータイプ
<a name="security_iam_access-manage-multiple-policies"></a>

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成されるアクセス許可を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、*「IAM ユーザーガイド*」の[「ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

# が IAM と AWS App Mesh 連携する方法
<a name="security_iam_service-with-iam"></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 へのアクセスを管理するために IAM を使用する前に、App Mesh でどの IAM 機能が使用できるかを理解しておく必要があります。App Mesh およびその他の AWS のサービスが IAM と連携する方法の概要を把握するには、IAM *ユーザーガイド*の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

**Topics**
+ [App Mesh アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)
+ [App Mesh でのリソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)
+ [App Mesh タグに基づく認可](#security_iam_service-with-iam-tags)
+ [App Mesh IAM ロール](#security_iam_service-with-iam-roles)

## App Mesh アイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

IAM アイデンティティベースのポリシーでは許可または拒否するアクションとリソース、またアクションを許可または拒否する条件を指定できます。App Mesh では、特定のアクション、リソース、および条件キーがサポートされています。JSON ポリシーで使用するすべての要素については、「IAM ユーザーガイド」の「[IAM JSON ポリシー要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### アクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

App Mesh のポリシーアクションには、アクションの前にプレフィックス `appmesh:` を使用します。例えば、`appmesh:ListMeshes` API 操作を使用してアカウント内のメッシュを一覧表示する許可を誰かに付与するには、その `appmesh:ListMeshes` アクションをポリシーに含めます。ポリシーステートメントには、`Action` または `NotAction` の要素を含める必要があります。

単一のステートメントに複数のアクションを指定するには、次のようにコンマで区切ります。

```
"Action": [
      "appmesh:ListMeshes",
      "appmesh:ListVirtualNodes"
]
```

ワイルドカード \$1を使用して複数のアクションを指定することができます。例えば、`Describe` という単語で始まるすべてのアクションを指定するには、次のアクションを含めます。

```
"Action": "appmesh:Describe*"
```



App Mesh アクションのリストを表示するには、「*IAM ユーザーガイド*」の「[AWS App Meshによって定義されたアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsappmesh.html#awsappmesh-actions-as-permissions)」を参照してください。

### リソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```



App Mesh `mesh` リソースは、次の ARN を持ちます。

```
arn:${Partition}:appmesh:${Region}:${Account}:mesh/${MeshName}
```

ARN の形式の詳細については、[「Amazon リソースネーム (ARNs)」と AWS 「サービス名前空間](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)」を参照してください。

例えば、ステートメントの *Region-code* リージョンに *apps* という名前のメッシュを指定するには、次の ARN を使用します。

```
arn:aws:appmesh:Region-code:111122223333:mesh/apps
```

特定のアカウントに属するすべてのインスタンスを指定するには、ワイルドカード \$1を使用します。

```
"Resource": "arn:aws:appmesh:Region-code:111122223333:mesh/*"
```

リソースの作成など、一部の App Mesh アクションは、特定のリソースで実行できません。このような場合はワイルドカード \$1を使用する必要があります。

```
"Resource": "*"
```

App Mesh の API アクションの多くが複数のリソースと関連します。例えば、`CreateRoute` は、仮想ノードターゲットを使用してルートを作成します。この場合、IAM ユーザーはルートと仮想ノードを使用するアクセス許可を持っている必要があります。複数リソースを単一ステートメントで指定するには、ARN をカンマで区切ります。

```
"Resource": [
      "arn:aws:appmesh:Region-code:111122223333:mesh/apps/virtualRouter/serviceB/route/*",
      "arn:aws:appmesh:Region-code:111122223333:mesh/apps/virtualNode/serviceB"
]
```

App Mesh リソースタイプとその ARN のリストを表示するには、「*IAM ユーザーガイド*」の「[AWS App Meshで定義されるリソース](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsappmesh.html#awsappmesh-resources-for-iam-policies)」を参照してください。どのアクションで各リソースの ARN を指定できるかについては、[AWS App Meshで定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsappmesh.html#awsappmesh-actions-as-permissions)を参照してください。

### 条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

App Mesh では、いくつかのグローバル条件キーの使用がサポートされています。すべての AWS グローバル条件キーを確認するには、「*IAM ユーザーガイド*」の「[AWS グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。App Mesh でサポートされるグローバル条件キーのリストを確認するには、「*IAM ユーザーガイド*」の 「[AWS App Meshの条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsappmesh.html#awsappmesh-policy-keys)」を参照してください。条件キーで使用できるアクションとリソースについては、[「 で定義されるアクション AWS App Mesh](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsappmesh.html#awsappmesh-actions-as-permissions)」を参照してください。

### 例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



App Mesh アイデンティティベースのポリシーの例を表示するには、「[AWS App Mesh アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## App Mesh でのリソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

App Mesh はリソースベースのポリシーをサポートしていません。ただし、 AWS Resource Access Manager (AWS RAM) サービスを使用して AWS サービス間でメッシュを共有する場合、リソースベースのポリシーが AWS RAM サービスによってメッシュに適用されます。詳細については、「[メッシュに対するアクセス許可の付与](sharing.md#sharing-permissions-resource)」を参照してください。

## App Mesh タグに基づく認可
<a name="security_iam_service-with-iam-tags"></a>

タグをApp Mesh リソースにアタッチすることも、App Mesh へのリクエストでタグを渡すこともできます。タグに基づいてアクセスを制御するには、`appmesh:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件の要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。App Mesh リソースのタグ付けの詳細については、[AWS 「リソースのタグ付け](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)」を参照してください。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースポリシーの例を表示するには、「[制限付きタグを使用した App Mesh メッシュの作成](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-view-widget-tags)」を参照してください。

## App Mesh IAM ロール
<a name="security_iam_service-with-iam-roles"></a>

[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)は、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

### App Mesh での一時的な認証情報の使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

一時的な認証情報を使用して、フェデレーションでサインインする、IAM 役割を引き受ける、またはクロスアカウント役割を引き受けることができます。一時的なセキュリティ認証情報を取得するには、[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) や [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) などの AWS STS API オペレーションを呼び出します。

App Mesh では、一時認証情報の使用はサポートされています。

### サービスリンクロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用すると、 AWS サービスは他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスリンクロールは IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者はサービスリンクロールのアクセス許可を表示できますが、編集することはできません。

App Mesh ではサービスリンクロールはサポートされていません。App Mesh サービスリンクロールの作成または管理の詳細については、「[App Mesh のサービスリンクロールの使用](using-service-linked-roles.md)」を参照してください。

### サービス役割
<a name="security_iam_service-with-iam-roles-service"></a>

この機能により、ユーザーに代わってサービスが[サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)を引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。

App Mesh ではサービスロールはサポートされていません。

# AWS App Mesh アイデンティティベースのポリシーの例
<a name="security_iam_id-based-policy-examples"></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)」を参照してください。

デフォルトでは、IAM ユーザーおよびロールには、App Mesh リソースを作成または変更するアクセス許可はありません。また、 AWS マネジメントコンソール、 AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、ユーザーとロールに必要な、指定されたリソースで特定の API オペレーションを実行する権限をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらの権限が必要な IAM ユーザーまたはグループにそのポリシーをアタッチする必要があります。

JSON ポリシードキュメントのこれらの例を使用して、IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「[JSON タブでのポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [App Mesh コンソールの使用](#security_iam_id-based-policy-examples-console)
+ [ユーザーが自分の許可を表示できるようにする](#security_iam_id-based-policy-examples-view-own-permissions)
+ [メッシュの作成](#policy_example1)
+ [すべてのメッシュを一覧表示して説明する](#policy_example2)
+ [制限付きタグを使用した App Mesh メッシュの作成](#security_iam_id-based-policy-examples-view-widget-tags)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

アイデンティティベースのポリシーは、ユーザーのアカウントで誰かが App Mesh リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## App Mesh コンソールの使用
<a name="security_iam_id-based-policy-examples-console"></a>

 AWS App Mesh コンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 AWS アカウントの App Mesh リソースの詳細を一覧表示および表示できます。最小限必要な許可よりも厳しく制限されたアイデンティティベースポリシーを作成すると、そのポリシーを添付したエンティティ (IAM ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。ユーザーに対する `[AWSAppMeshReadOnly](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshReadOnly%24jsonEditor)` マネージドポリシーをアタッチできます。詳細については、「*IAM ユーザーガイド*」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

## ユーザーが自分の許可を表示できるようにする
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または AWS CLI または AWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## メッシュの作成
<a name="policy_example1"></a>

この例は、リージョンを問わず、アカウントのメッシュをユーザーが作成できるようにするポリシーを作成する方法を示しています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "appmesh:CreateMesh",
            "Resource": "arn:aws:appmesh:*:123456789012:CreateMesh"
        }
    ]
}
```

------

## すべてのメッシュを一覧表示して説明する
<a name="policy_example2"></a>

この例は、すべてのクラスターの一覧表示または記述するための読み取り専用アクセス許可をユーザーに許可するポリシーを作成する方法を示しています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appmesh:DescribeMesh",
                "appmesh:ListMeshes"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 制限付きタグを使用した App Mesh メッシュの作成
<a name="security_iam_id-based-policy-examples-view-widget-tags"></a>

IAM ポリシーでタグを使用して、IAM リクエストで渡すことができるタグを制御できます。IAM ユーザーまたはロールで追加、変更、または削除できるタグのキー値のペアを指定できます。この例では、*teamName* というタグと *booksTeam* という値でメッシュを作成する場合のみ、メッシュの作成を許可するポリシーを作成する方法を示しています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "appmesh:CreateMesh",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/teamName": "booksTeam"
                }
            }
        }
    ]
}
```

------

このポリシーをアカウントの IAM ユーザーにアタッチできます。ユーザーがメッシュを作成しようとする場合、メッシュには `teamName` という名前のタグと `booksTeam` という値が含まれている必要があります。メッシュにこのタグと値が含まれていない場合、メッシュの作成は失敗します。詳細については、「*IAM ユーザーガイド*」の 「[IAM JSON ポリシーの要素: 条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)」を参照してください。

# AWS App Mesh の マネージドポリシー
<a name="security-iam-awsmanpol"></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 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、多くの一般的なユースケースにアクセス許可を付与するように設計されているため、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できます。

 AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有の[カスタマー管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)を定義して、アクセス許可を絞り込むことをお勧めします。

 AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS マネージドポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい が起動されるか、新しい API オペレーション AWS のサービス が既存のサービスで使用できるようになったときに、 AWS マネージドポリシーを更新する可能性が高くなります。

詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

## AWS マネージドポリシー: AWSAppMeshServiceRolePolicy
<a name="security-iam-awsmanpol-AWSAppMeshServiceRolePolicy"></a>

IAM エンティティに `AWSAppMeshServiceRolePolicy` をアタッチできます。が使用または管理する AWS サービスとリソースへのアクセスを有効にします AWS App Mesh。

このポリシーのアクセス許可を確認するには、「AWS マネージドポリシーリファレンス」の「[AWSAppMeshServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppMeshServiceRolePolicy.html)」を参照してください。**

`AWSAppMeshServiceRolePolicy` のアクセス許可の詳細については、「[App Mesh のサービスリンクロールにおけるアクセス許可](https://docs.aws.amazon.com/app-mesh/latest/userguide/using-service-linked-roles.html#slr-permissions)」を参照してください。

## AWS マネージドポリシー: AWSAppMeshEnvoyAccess
<a name="security-iam-awsmanpol-AWSAppMeshEnvoyAccess"></a>

IAM エンティティに `AWSAppMeshEnvoyAccess` をアタッチできます。仮想ノード設定にアクセスするための App Mesh Envoy ポリシー。

このポリシーのアクセス許可を確認するには、「AWS マネージドポリシーリファレンス」の「[AWSAppMeshEnvoyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppMeshEnvoyAccess.html)」を参照してください。**

## AWS マネージドポリシー: AWSAppMeshFullAccess
<a name="security-iam-awsmanpol-AWSAppMeshFullAccess"></a>

IAM エンティティに `AWSAppMeshFullAccess` をアタッチできます。 AWS App Mesh APIsと へのフルアクセスを提供します AWS マネジメントコンソール。

このポリシーのアクセス許可を確認するには、「AWS マネージドポリシーリファレンス」の「[AWSAppMeshFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppMeshFullAccess.html)」を参照してください。**

## AWS マネージドポリシー: AWSAppMeshPreviewEnvoyAccess
<a name="security-iam-awsmanpol-AWSAppMeshPreviewEnvoyAccess"></a>

IAM エンティティに `AWSAppMeshPreviewEnvoyAccess` をアタッチできます。仮想ノード設定にアクセスするための App Mesh Preview Envoy ポリシー。

このポリシーのアクセス許可を確認するには、「AWS マネージドポリシーリファレンス」の「[AWSAppMeshPreviewEnvoyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppMeshPreviewEnvoyAccess.html)」を参照してください。**

## AWS マネージドポリシー: AWSAppMeshPreviewServiceRolePolicy
<a name="security-iam-awsmanpol-AWSAppMeshPreviewServiceRolePolicy"></a>

IAM エンティティに `AWSAppMeshPreviewServiceRolePolicy` をアタッチできます。が使用または管理する AWS サービスとリソースへのアクセスを有効にします AWS App Mesh。

このポリシーのアクセス許可を確認するには、「AWS マネージドポリシーリファレンス」の「[AWSAppMeshPreviewServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppMeshPreviewServiceRolePolicy.html)」を参照してください。**

## AWS マネージドポリシー: AWSAppMeshReadOnly
<a name="security-iam-awsmanpol-AWSAppMeshReadOnly"></a>

IAM エンティティに `AWSAppMeshReadOnly` をアタッチできます。 AWS App Mesh APIsおよび への読み取り専用アクセスを提供します AWS マネジメントコンソール。

このポリシーのアクセス許可を確認するには、「AWS マネージドポリシーリファレンス」の「[AWSAppMeshReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppMeshReadOnly.html)」を参照してください。**

## AWS App Mesh AWS 管理ポリシーの更新
<a name="security-iam-awsmanpol-updates"></a>

このサービスがこれらの変更の追跡を開始 AWS App Mesh してからの AWS の管理ポリシーの更新に関する詳細を表示します。このページの変更に関する自動通知については、[ AWS App Mesh Document history] (ドキュメントの履歴) ページの RSS フィードをサブスクライブしてください。


| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
|  [AWSAppMeshFullAccess](#security-iam-awsmanpol-AWSAppMeshFullAccess) – ポリシーを更新しました。  |  `TagResource` および API へのアクセスを許可する`AWSAppMeshFullAccess`ように更新されました。 `UntagResource`APIs  | 2024 年 4 月 24 日 | 
|  [AWSAppMeshServiceRolePolicy](#security-iam-awsmanpol-AWSAppMeshServiceRolePolicy)、[AWSServiceRoleForAppMesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/using-service-linked-roles.html#slr-permissions) – 更新されたポリシー。  |  API へのアクセスを許可する`AWSAppMeshServiceRolePolicy`ように `AWSServiceRoleForAppMesh`と を更新しました AWS Cloud Map `DiscoverInstancesRevision`。  | 2023 年 10 月 12 日 | 

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ 以下のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。詳細については *IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス権限の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) を参照してください。

# App Mesh のサービスリンクロールの使用
<a name="using-service-linked-roles"></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 は AWS Identity and Access Management (IAM)[ サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスリンクロールは、App Mesh に直接リンクされた一意のタイプの IAM ロールです サービスにリンクされたロールは App Mesh によって事前定義されており、サービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスリンクロールを使用することで、必要なアクセス許可を手動で追加する必要がなくなるため、App Mesh の設定が簡単になります。App Mesh は、サービスリンクロールのアクセス許可を定義します。特に定義されている場合を除き、App Mesh のみがそのロールを引き受けることができます。定義される許可には、信頼ポリシーとアクセス許可ポリシーが含まれており、そのアクセス許可ポリシーを他の IAM エンティティに添付することはできません。

サービスリンクロールを削除するには、まずその関連リソースを削除します。これにより、リソースへのアクセス許可を不用意に削除することができないため、App Mesh のリソースを保護することができます。

サービスにリンクされたロールをサポートする他のサービスについては、「[IAM と連携するAWS サービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照して、**サービスにリンクされたロール**列が**はい**になっているサービスを見つけてください。そのサービスに対するサービスリンクロールに関するドキュメントを表示するには、リンク付きの**はい**を選択します。

## App Mesh のサービスリンクロールにおけるアクセス許可
<a name="slr-permissions"></a>

App Mesh は、**AWSServiceRoleForAppMesh** という名前のサービスにリンクされたロールを使用します。このロールにより、App Mesh はユーザーに代わって AWS サービスを呼び出すことができます。

AWSServiceRoleForAppMesh サービスリンクロールは、ロールを継承するために `appmesh.amazonaws.com` サービスを信頼します。

**アクセス許可の詳細**
+ `servicediscovery:DiscoverInstances`‐App Mesh がすべての AWS リソースでアクションを完了できるようにします。
+ `servicediscovery:DiscoverInstancesRevision` - App Mesh がすべての AWS リソースに対してアクションを実行できるようにします。

### AWSServiceRoleForAppMesh
<a name="service-linked-role-permissions-AWSServiceRoleForAppMesh.details"></a>

このポリシーには、以下の権限が含まれています。

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "CloudMapServiceDiscovery",
			"Effect": "Allow",
			"Action": [
				"servicediscovery:DiscoverInstances",
				"servicediscovery:DiscoverInstancesRevision"
			],
			"Resource": "*"
		},
		{
			"Sid": "ACMCertificateVerification",
			"Effect": "Allow",
			"Action": [
				"acm:DescribeCertificate"
			],
			"Resource": "*"
		}
	]
}
```

------

サービスリンクロールの作成、編集、削除をIAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、権限を設定する必要があります。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## App Mesh のサービスリンクロールの作成
<a name="create-slr"></a>

、、 AWS マネジメントコンソール AWS CLIまたは AWS API で 2019 年 6 月 5 日以降にメッシュを作成した場合、App Mesh によってサービスにリンクされたロールが作成されます。サービスリンクロールを作成するためには、メッシュの作成に使用した IAM アカウントには、それに添付された [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshFullAccess%24jsonEditor](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshFullAccess%24jsonEditor) IAM ポリシー、または `iam:CreateServiceLinkedRole` アクセス許可を含むそれに添付されたポリシーをが必要です。このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。メッシュを作成すると、App Mesh はサービスリンクロールを再度作成します。2019 年 6 月 5 日以前に作成されたメッシュのみがアカウントに含まれており、それらのメッシュでサービスにリンクされたロールを使用する場合は、IAM コンソールを使用してロールを作成できます。

**App Mesh** ユースケースでサービスリンクロールを作成するには、IAM コンソールを使用できます。 AWS CLI または AWS API で、サービス名を使用して`appmesh.amazonaws.com`サービスにリンクされたロールを作成します。詳細については、「IAM ユーザーガイド**」の「[サービスにリンクされたロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。

## App Mesh のサービスリンクロールの編集
<a name="edit-slr"></a>

 で、AWSServiceRoleForAppMesh のサービスリンクロールを編集することはできません。サービスリンクロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## App Mesh でのサービスリンクロールの削除
<a name="delete-slr"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。

**注記**  
リソースを削除しようとしたときに AppMesh サービスがロールを使用している場合、削除が失敗する可能性があります。失敗した場合は数分待ってから操作を再試行してください。

**AWSServiceRoleForAppMesh が使用している App Mesh リソースを削除するには**

1. メッシュ内のすべてのルータに定義されている[ルート](routes.md)をすべて削除します。

1. メッシュ内の[仮想ルーター](virtual_routers.md)をすべて削します。

1. メッシュ内の[仮想サービス](virtual_services.md)をすべて削します。

1. メッシュ内の[仮想ノード](virtual_nodes.md)をすべて削除します。

1. [メッシュ](meshes.md)を削除します。

アカウント内のすべてのメッシュについて、前の手順を完了します。

**サービスリンクロールを IAM で手動削除するには**

IAM コンソール、 AWS CLI、または AWS API を使用して、AWSServiceRoleForAppMesh サービスにリンクされたロールを削除します。詳細については、「[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」の「*サービスリンクロールの削除*」を参照してください。

## App Mesh サービスリンクロールをサポートするリージョン
<a name="slr-regions"></a>

App Mesh では、このサービスが利用可能なすべてのリージョンで、サービスリンクロールの使用がサポートされています。詳細については、「[App Mesh エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/appmesh.html)」を参照してください。

# Envoy プロキシの認可
<a name="proxy-authorization"></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 タスク内、Amazon EKS で実行されている Kubernetes ポッド、または Amazon EC2 インスタンスで実行されている [Envoy](envoy.md) プロキシが、App Mesh Envoy Management Service から1つ以上のメッシュエンドポイントの設定を読み取ることを認可します。2021 年 4 月 26 日以前にすでに Envoy を App Mesh エンドポイントに接続している顧客アカウントの場合、[Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) を使用する仮想ノードと仮想ゲートウェイ (TLS の有無にかかわらず) にはプロキシ認可が必要です。2021 年 4 月 26 日以降に Envoy を App Mesh エンドポイントに接続する顧客アカウントの場合、すべての App Mesh 機能にプロキシ認可が必要です。すべての顧客アカウントが、TLS を使用していない場合でも、すべての仮想ノードのプロキシ認可を有効にして、特定のリソースへの認可に IAM を使用して安全で一貫性のあるエクスペリエンスを提供することをお勧めします。プロキシ認可では、`appmesh:StreamAggregatedResources` アクセス許可は IAM ポリシーで指定されています。ポリシーは IAM ロールに添付する必要があり、その IAM ロールは、プロキシをホストするコンピューティングリソースに添付する必要があります。

## IAM ポリシーを作成する
<a name="create-iam-policy"></a>

サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取れるようにするには、[IAM ロールの作成](#create-iam-role) に進みます。個々のメッシュエンドポイントで設定を読み取りできるメッシュエンドポイントを制限する場合は、1 つ以上の IAM ポリシーを作成する必要があります。設定を読み取りできるメッシュエンドポイントを、特定のコンピューティングリソースで実行されている Envoy プロキシのみに制限することをお勧めします。IAM ポリシーを作成し、`appmesh:StreamAggregatedResources` ポリシーへのアクセス許可を追加します。次のポリシーの例では、`serviceBv1` と `serviceBv2` という名前の仮想ノードの設定をサービスメッシュで読み取りすることを許可します。サービスメッシュで定義されている他の仮想ノードの設定を読み取りすることはできません。IAM ポリシーの作成と編集の詳細については、「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」と「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」を参照してください。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "appmesh:StreamAggregatedResources",
            "Resource": [
                "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/serviceBv1",
                "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/serviceBv2"
            ]
        }
    ]
}
```

------

複数のポリシーを作成し、各ポリシーで異なるメッシュエンドポイントへのアクセスを制限できます。

## IAM ロールの作成
<a name="create-iam-role"></a>

サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取りできるようにするには、1 つの IAM ロールを作成するだけで済みます。個々のメッシュエンドポイントで設定を読み取りできるメッシュエンドポイントを制限する場合は、前の手順で作成したポリシーごとにロールを作成する必要があります。プロキシが実行されるコンピュートリソースの指示を完了します。
+ **Amazon EKS** — 単一のロールを使用する場合は、クラスターの作成時に作成され、ワーカーノードに割り当てられた既存のロールを使用できます。複数のロールを使用するには、クラスターが「[クラスターでのサービスアカウントの IAM ロールの有効化](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html)」で定義されている要件を満たしている必要があります。IAM ロールを作成し、ロールを Kubernetes サービスアカウントに関連付けます。詳細については、「[サービスアカウントの IAM ロールとポリシーの作成](https://docs.aws.amazon.com/eks/latest/userguide/create-service-account-iam-policy-and-role.html)」と「[サービスアカウントの IAM ロールの指定](https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html)」を参照してください。
+ **Amazon ECS** – **AWS サービス**を選択し、**Elastic Container Service** を選択してから、IAMロールを作成するときに **Elastic Container Service Task** のユースケースを選択します。
+ **Amazon EC2** – **AWS サービス**を選択し、**EC2** を選択してから、IAM ロールを作成するときに **EC2** ユースケースを選択します。これは、プロキシを Amazon EC2 インスタンスで直接ホストする場合でも、インスタンスで実行されている Kubernetes でホストする場合でも適用されます。

IAM ロールを作成する方法の詳細については、[「 AWS サービスのロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)」を参照してください。

## IAM ポリシーの添付
<a name="attach-iam-policy"></a>

サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取りできるようにするには、`[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージド IAM ポリシーを、前のステップで作成した IAM ロールにアタッチします。個々のメッシュエンドポイントで設定を読み込みできるメッシュエンドポイントを制限する場合は、作成した各ポリシーを、作成した各ロールにアタッチします。カスタムまたはマネージド IAM ポリシーを IAM ロールに添付する方法の詳細については、「[IAM ID アクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console)」を参照してください。

## IAM ロールを添付する
<a name="attach-role"></a>

各 IAM ロールを適切なコンピューティングリソースに添付します。
+ **Amazon EKS** — ワーカーノードに添付されたロールにポリシーを添付した場合は、この手順をスキップできます。個別のロールを作成した場合は、各ロールを個別の Kubernetes サービスアカウントに割り当てて、各サービスアカウントを Envoy プロキシを含む個々の Kubernetes ポッドデプロイ仕様に割り当てます。詳細については、「*Amazon EKS ユーザーガイド*」の「[サービスアカウントの IAM ロールの指定](https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html)」、および「Kubernetes ドキュメント」の「[Pod のサービスアカウントを設定する](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)」を参照してください。
+ **Amazon ECS** — Envoy プロキシを含むタスク定義に Amazon ECS タスクロールを添付します。タスクは EC2 または Fargate 起動タイプでデプロイできます。Amazon ECS タスクロールを作成してタスクにアタッチする方法の詳細については、「[タスクの IAM ロールの指定](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#create_task_iam_policy_and_role)」を参照してください。
+ **Amazon EC2** — IAM ロールは、Envoy プロキシをホストする Amazon EC2 インスタンスに添付する必要があります。Amazon EC2 インスタンスにロールをアタッチする方法の詳細については、「[IAM ロールを作成しましたが、今度は EC2 インスタンスに割り当てたいと思います](https://aws.amazon.com/premiumsupport/knowledge-center/assign-iam-role-ec2-instance)」を参照してください。

## アクセス許可の確認
<a name="confirm-permission"></a>

コンピュートサービス名の1つを選択して、プロキシをホストするコンピュートリソースに `appmesh:StreamAggregatedResources` アクセス許可が割り当てられていることを確認します。

------
#### [ Amazon EKS ]

カスタムポリシーは、ワーカーノード、個々のポッド、またはその両方に割り当てられるロールに割り当てることができます。ただし、個々のポッドのアクセスを個々のメッシュエンドポイントに制限できるように、個々の Pod にのみポリシーを割り当てることをお勧めします。ポリシーがワーカーノードに割り当てられたロールに添付されている場合は、**Amazon EC2** タブをクリックし、ワーカーノードインスタンスの手順を完了します。Kubernetes ポッドに割り当てられている IAM ロールを特定するには、次の手順を実行します。

1. Kubernetes サービスアカウントが割り当てられていることを確認するポッドを含む Kubernetes デプロイの詳細を表示します。次のコマンドは、*my-deployment* という名前のデプロイの詳細を表示します。

   ```
   kubectl describe deployment my-deployment
   ```

   返された出力では、`Service Account:` の右側にある値をメモします。`Service Account:` で始まる行が存在しない場合、カスタム Kubernetes サービスアカウントは現在デプロイメントに割り当てられていません。1 つを割り当てる必要があります。詳細については、「Kubernetes ドキュメント」の「[ポッド用にサービスアカウントを設定する](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)」を参照してください。

1. 前のステップで返されたサービスアカウントの詳細を表示します。次のコマンドは、*my-service-account* という名前のサービスアカウントの詳細を表示します。

   ```
   kubectl describe serviceaccount my-service-account
   ```

   Kubernetes サービスアカウントが AWS Identity and Access Management ロールに関連付けられている場合、返される行の 1 つは次の例のようになります。

   ```
   Annotations:         eks.amazonaws.com/role-arn=arn:aws:iam::123456789012:role/my-deployment
   ```

   前の例 `my-deployment` では、サービスアカウントに関連付けられている IAM ロールの名前です。サービスアカウントの出力に上記の例のような行が含まれていない場合、Kubernetes サービスアカウントは AWS Identity and Access Management アカウントに関連付けられていないため、アカウントに関連付ける必要があります。詳細については、「[サービスアカウントの IAM ロールの指定](https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html)」を参照してください。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. 左のナビゲーションペインで、**[ロール]** を選択します。前のステップでメモした IAM ロールの名前を選択します。

1. 以前に作成したカスタムポリシー、または `[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージドポリシーが一覧表示されます。どちらのポリシーもアタッチされていない場合は、[IAM ポリシー](#attach-iam-policy)を IAM ロールにアタッチします。カスタム IAM ポリシーをアタッチしたいが持っていない場合は、必要なアクセス許可を持つ[カスタム IAM ポリシー](#create-iam-policy)を作成する必要があります。カスタム IAM ポリシーが添付されている場合は、ポリシーを選択し、そこに `"Action": "appmesh:StreamAggregatedResources"` が含まれていることを確認します。そうでない場合は、そのアクセス許可をカスタム IAM ポリシーに追加する必要があります。また、特定のメッシュエンドポイントに適切な Amazon リソースネーム (ARN) が表示されていることを確認することもできます。ARN がリストされていない場合は、ポリシーを編集して、リストされた ARN を追加、削除、または変更することができます。詳細については、「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」および [IAM ポリシーを作成する](#create-iam-policy) を参照してください。

1. Envoy プロキシを含む各 Kubernetes ポッドについて、上記の手順を繰り返します。

------
#### [ Amazon ECS ]

1. Amazon ECS コンソールから、**[タスク定義]** を選択します。

1. Amazon ECS タスクを選択します。

1. **[タスク定義名]** ページで、タスク定義を選択します。

1. **[タスク定義]** ページで、**[タスクロール]** の右側にある IAM ロール名のリンクを選択します。IAM ロールがリストされていない場合は、[IAM ロールを作成し](#create-iam-role)、[タスク定義を更新](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-task-definition.html)してタスクにアタッチする必要があります。

1. **[概要]** ページの **[アクセス許可]** タブで、以前に作成したカスタムポリシー、または `[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージドポリシーのいずれかが一覧表示されていることを確認します。どちらのポリシーもアタッチされていない場合は、[IAM ポリシー](#attach-iam-policy)を IAM ロールにアタッチします。カスタム IAM ポリシーをアタッチしたいが持っていない場合は、[カスタム IAM ポリシー](#create-iam-policy)を作成します。カスタム IAM ポリシーが添付されている場合は、ポリシーを選択し、そこに `"Action": "appmesh:StreamAggregatedResources"` が含まれていることを確認します。そうでない場合は、そのアクセス許可をカスタム IAM ポリシーに追加する必要があります。また、特定のメッシュエンドポイントに適切な Amazon リソースネーム (ARN) が表示されていることを確認することもできます。ARN がリストされていない場合は、ポリシーを編集して、リストされた ARN を追加、削除、または変更することができます。詳細については、「[IAM ポリシーの編集](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-edit.html)」および [IAM ポリシーを作成する](#create-iam-policy) を参照してください。

1. Envoy プロキシを含むタスク定義ごとに、上記の手順を繰り返します。

------
#### [ Amazon EC2 ]

1. Amazon EC2 コンソールから、左側のナビゲーションで **[インスタンス]** を選択します。

1. Envoy プロキシをホストするインスタンスの 1 つを選択します。

1. **[説明]** タブで、**IAM ロール**の右側にある IAM ロール名のリンクを選択します。IAM ロールがリストされていない場合、[IAM ロールを作成する](#create-iam-role)必要があります。

1. **[概要]** ページの **[アクセス許可]** タブで、以前に作成したカスタムポリシー、または `[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージドポリシーのいずれかが一覧表示されていることを確認します。どちらのポリシーもアタッチされていない場合は、[IAM ポリシー](#attach-iam-policy)を IAM ロールにアタッチします。カスタム IAM ポリシーをアタッチしたいが持っていない場合は、[カスタム IAM ポリシー](#create-iam-policy)を作成します。カスタム IAM ポリシーが添付されている場合は、ポリシーを選択し、そこに `"Action": "appmesh:StreamAggregatedResources"` が含まれていることを確認します。そうでない場合は、そのアクセス許可をカスタム IAM ポリシーに追加する必要があります。また、特定のメッシュエンドポイントに適切な Amazon リソースネーム (ARN) が表示されていることを確認することもできます。ARN がリストされていない場合は、ポリシーを編集して、リストされた ARN を追加、削除、または変更することができます。詳細については、「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」および [IAM ポリシーを作成する](#create-iam-policy) を参照してください。

1. Envoy プロキシをホストしているインスタンスごとに、上記の手順を繰り返します。

------

# AWS App Mesh ID とアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></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 と IAM の使用に伴って発生する可能性がある一般的な問題の診断や修復に役立ちます。

**Topics**
+ [App Mesh でアクションを実行する認可がされていない](#security_iam_troubleshoot-no-permissions)
+ [AWS アカウント以外のユーザーに App Mesh リソースへのアクセスを許可したい](#security_iam_troubleshoot-cross-account-access)

## App Mesh でアクションを実行する認可がされていない
<a name="security_iam_troubleshoot-no-permissions"></a>

でアクションを実行する権限がないと AWS マネジメントコンソール 通知された場合は、管理者に連絡してサポートを依頼する必要があります。管理者とは、サインイン認証情報を提供した担当者です。

次のエラーは、`mateojackson` IAM ユーザーがコンソールを使用して *my-mesh* という名前のメッシュに *my-virtual-node* という名前の仮想ノードを作成しようとしたが、`appmesh:CreateVirtualNode` アクセス許可がない場合に発生します。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: appmesh:CreateVirtualNode on resource: arn:aws:appmesh:us-east-1:123456789012:mesh/my-mesh/virtualNode/my-virtual-node
```

この場合、マテオは、管理者にポリシーを更新して、`appmesh:CreateVirtualNode` アクションを使用して仮想ノードを作成できるようにしてほしいと依頼します。

**注記**  
仮想ノードはメッシュ内に作成されるため、マテオのアカウントめでも、コンソールで仮想ノードを作成するための `appmesh:DescribeMesh` および `appmesh:ListMeshes` アクションが必要です。

## AWS アカウント以外のユーザーに App Mesh リソースへのアクセスを許可したい
<a name="security_iam_troubleshoot-cross-account-access"></a>

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、次を参照してください。
+ App Mesh でこれらの機能がサポートされているかどうかを確認するには、「[が IAM と AWS App Mesh 連携する方法](security_iam_service-with-iam.md)」を参照してください。
+ 所有 AWS アカウント している のリソースへのアクセスを提供する方法については、[「IAM ユーザーガイド」の「所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)」を参照してください。 **
+ リソースへのアクセスをサードパーティーに提供する方法については AWS アカウント、*IAM ユーザーガイド*の[「サードパーティー AWS アカウント が所有する へのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ ID フェデレーションを介してアクセスを提供する方法については、*IAM ユーザーガイド* の [外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) を参照してください。
+ クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、「*IAM ユーザーガイド*」の「[IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」を参照してください。

# を使用した AWS App Mesh API コールのログ記録 AWS CloudTrail
<a name="logging-using-cloudtrail"></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 は、ユーザー[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)、ロール、または によって実行されたアクションを記録するサービスである と統合されています AWS のサービス。CloudTrail は、 App Mesh に対するすべての APIコールをイベントとしてキャプチャします。キャプチャされたコールには、 App Mesh コンソールからのコールと、App Mesh API オペレーションへのコードコールが含まれます。CloudTrail で収集された情報を使用して、App Mesh に対するリクエスト、リクエスト元の IP アドレス、リクエスト日時などの詳細を確認できます。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ ルートユーザーまたはユーザー認証情報のどちらを使用してリクエストが送信されたか。
+ リクエストが IAM Identity Center ユーザーに代わって行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが、別の AWS のサービスによって送信されたかどうか。

CloudTrail は、アカウントを作成する AWS アカウント と でアクティブになり、CloudTrail **イベント履歴**に自動的にアクセスできます。CloudTrail の **[イベント履歴]** では、 AWS リージョンで過去 90 日間に記録された管理イベントの表示、検索、およびダウンロードが可能で、変更不可能な記録を確認できます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail イベント履歴の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。**[イベント履歴]** の閲覧には CloudTrail の料金はかかりません。

 AWS アカウント 過去 90 日間のイベントの継続的な記録については、証跡または [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) イベントデータストアを作成します。

**CloudTrail 証跡**  
*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。を使用して作成されたすべての証跡 AWS マネジメントコンソール はマルチリージョンです。 AWS CLIを使用する際は、単一リージョンまたは複数リージョンの証跡を作成できます。アカウント AWS リージョン 内のすべての でアクティビティをキャプチャするため、マルチリージョン証跡を作成することをお勧めします。単一リージョンの証跡を作成する場合、証跡の AWS リージョンに記録されたイベントのみを表示できます。証跡の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS アカウントの証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)」および「[組織の証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)」を参照してください。  
証跡を作成すると、進行中の管理イベントのコピーを 1 つ無料で CloudTrail から Amazon S3 バケットに配信できますが、Amazon S3 ストレージには料金がかかります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。Amazon S3 の料金に関する詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

**CloudTrail Lake イベントデータストア**  
*[CloudTrail Lake]* を使用すると、イベントに対して SQL ベースのクエリを実行できます。CloudTrail Lake は、行ベースの JSON 形式の既存のイベントを [Apache ORC](https://orc.apache.org/) 形式に変換します。ORC は、データを高速に取得するために最適化された単票ストレージ形式です。イベントは、*イベントデータストア*に集約されます。イベントデータストアは、[高度なイベントセレクタ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors)を適用することによって選択する条件に基づいた、イベントのイミュータブルなコレクションです。どのイベントが存続し、クエリに使用できるかは、イベントデータストアに適用するセレクタが制御します。CloudTrail Lake の詳細については、 *AWS CloudTrail ユーザーガイド*の[AWS CloudTrail 「Lake の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html)」を参照してください。  
CloudTrail Lake のイベントデータストアとクエリにはコストがかかります。イベントデータストアを作成する際に、イベントデータストアに使用する[料金オプション](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option)を選択します。料金オプションによって、イベントの取り込みと保存にかかる料金、および、そのイベントデータストアのデフォルトと最長の保持期間が決まります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

## CloudTrail の App Mesh 管理イベント
<a name="cloudtrail-management-events"></a>

[管理イベント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events)は、 のリソースで実行される管理オペレーションに関する情報を提供します AWS アカウント。これらのイベントは、コントロールプレーンオペレーションとも呼ばれます。CloudTrail は、デフォルトで管理イベントをログ記録します。

AWS App Mesh は、すべての App Mesh コントロールプレーンオペレーションを管理イベントとしてログに記録します。App Mesh が CloudTrail に記録する AWS App Mesh コントロールプレーンオペレーションのリストについては、 [AWS App Mesh API リファレンス](https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_Operations.html)を参照してください。

## App Mesh イベントの例
<a name="cloudtrail-event-examples"></a>

各イベントは任意の送信元からの単一のリクエストを表し、リクエストされた API オペレーション、オペレーションの日時、リクエストパラメータなどに関する情報を含みます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、イベントは特定の順序で表示されません。

以下の例は、`StreamAggregatedResources` アクションを示す CloudTrail ログエントリです。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AKIAIOSFODNN7EXAMPLE:d060be4ac3244e05aca4e067bfe241f8",
        "arn": "arn:aws:sts::123456789012:assumed-role/Application-TaskIamRole-C20GBLBRLBXE/d060be4ac3244e05aca4e067bfe241f8",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "invokedBy": "appmesh.amazonaws.com"
    },
    "eventTime": "2021-06-09T23:09:46Z",
    "eventSource": "appmesh.amazonaws.com",
    "eventName": "StreamAggregatedResources",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "appmesh.amazonaws.com",
    "userAgent": "appmesh.amazonaws.com",
    "eventID": "e3c6f4ce-EXAMPLE",
    "readOnly": false,
    "eventType": "AwsServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "connectionId": "e3c6f4ce-EXAMPLE",
        "nodeArn": "arn:aws:appmesh:us-west-2:123456789012:mesh/CloudTrail-Test/virtualNode/cloudtrail-test-vn",
        "eventStatus": "ConnectionEstablished",
        "failureReason": ""
    },
    "eventCategory": "Management"
}
```

CloudTrail レコードの内容については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail record contents](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html)」を参照してください。

# でのデータ保護 AWS App Mesh
<a name="data-protection"></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 [共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)、 でのデータ保護に適用されます AWS App Mesh。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「 AWS のサービス 」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、[データプライバシーに関するよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された [AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) のブログ記事を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM アイデンティティセンター または AWS Identity and Access Management (IAM) を使用して個々のユーザーを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 *AWS CloudTrail ユーザーガイド*」の[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+  AWS 暗号化ソリューションと、その中のすべてのデフォルトのセキュリティコントロールを使用します AWS のサービス。
+ Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
+ コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-3 検証済み暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これは、コンソール、API、または SDK を使用して App Mesh AWS CLIまたは他の AWS のサービス を使用する場合も同様です。 AWS SDKs タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。

## データ暗号化
<a name="data-encryption"></a>

データは、App Mesh を使用すると暗号化されます。

### 保管中の暗号化
<a name="encryption-at-rest"></a>

デフォルトでは、作成した App Mesh 設定は保管時に暗号化されます。

### 転送中の暗号化
<a name="encryption-in-transit"></a>

App Mesh サービスエンドポイントは HTTPS プロトコルを使用します。Envoy プロキシと App Mesh Envoy 管理サービス間のすべての通信は暗号化されます。Envoy プロキシと App Mesh Envoy Management Service 間の通信に FIPS 準拠の暗号化が必要な場合は、使用できる Envoy プロキシコンテナイメージの FIPS バリアントがあります。詳細については、「[Envoy イメージ](envoy.md)」を参照してください。

仮想ノード内のコンテナ間の通信は暗号化されませんが、このトラフィックはネットワーク名前空間を離れることはありません。

# のコンプライアンス検証 AWS App Mesh
<a name="compliance"></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 のサービス が特定のコンプライアンスプログラムの範囲内にあるかどうかを確認するには、「コンプライアンス[AWS のサービス プログラムによるスコープ](https://aws.amazon.com/compliance/services-in-scope/)」の「コンプライアンス」の「」を参照し、関心のあるコンプライアンスプログラムを選択します。一般的な情報については、[AWS 「コンプライアンスプログラム](https://aws.amazon.com/compliance/programs/)」を参照してください。

を使用して、サードパーティーの監査レポートをダウンロードできます AWS Artifact。詳細については、[「Downloading Reports in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)」を参照してください。

を使用する際のお客様のコンプライアンス責任 AWS のサービス は、お客様のデータの機密性、貴社のコンプライアンス目的、適用される法律および規制によって決まります。を使用する際のコンプライアンス責任の詳細については AWS のサービス、[AWS 「 セキュリティドキュメント](https://docs.aws.amazon.com/security/)」を参照してください。

# のインフラストラクチャセキュリティ AWS App Mesh
<a name="infrastructure-security"></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 は、 AWS グローバルネットワークセキュリティで保護されています。 AWS セキュリティサービスと がインフラストラクチャ AWS を保護する方法については、[AWS 「 クラウドセキュリティ](https://aws.amazon.com/security/)」を参照してください。インフラストラクチャセキュリティのベストプラクティスを使用して環境を AWS 設計するには、*「Security Pillar AWS Well‐Architected Framework*」の[「Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)」を参照してください。

 AWS 公開された API コールを使用して、ネットワーク経由で App Mesh にアクセスします。クライアントは以下をサポートする必要があります。
+ Transport Layer Security (TLS)。TLS 1.2 が必須で、TLS 1.3 をお勧めします。
+ DHE (楕円ディフィー・ヘルマン鍵共有) や ECDHE (楕円曲線ディフィー・ヘルマン鍵共有) などの完全前方秘匿性 (PFS) による暗号スイート。これらのモードは Java 7 以降など、ほとんどの最新システムでサポートされています。

App Mesh がインターフェイス VPC エンドポイントを使用するように設定することで、VPC のセキュリティポスチャーを向上させることができます。詳細については、「[App Mesh インターフェイス VPC エンドポイント (AWS PrivateLink)](vpc-endpoints.md)」を参照してください。

# App Mesh インターフェイス VPC エンドポイント (AWS PrivateLink)
<a name="vpc-endpoints"></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)」を参照してください。

インターフェイス VPC エンドポイントを使用するように Amazon ECS を設定することで、VPC のセキュリティ体制を改善できます。インターフェイスエンドポイントは AWS 、プライベート IP アドレスを使用して App Mesh API にプライベートにアクセスできるテクノロジーである PrivateLink を利用しています。 APIs PrivateLink は、Amazon VPC と Amazon App Mesh の 間のすべてのネットワークトラフィックを Amazon ネットワークに限定します。

PrivateLink の設定は要件ではありませんが、推奨されます。PrivateLink とインターフェイス VPC エンドポイントの詳細については、「[Accessing Services Through AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink)」を参照してください。

## App Mesh インターフェイス VPC エンドポイントに関する考慮事項
<a name="app-mesh-vpc-endpoint-considerations"></a>

App Mesh 用のインターフェイス VPC エンドポイントを設定する前に、次の考慮事項に注意してください。
+ Amazon VPC にインターネットゲートウェイがなく、タスクが `awslogs` ログドライバーを使用して、ログ情報を CloudWatch Logs に送信する場合、CloudWatch Logs 用のインターフェース VPC エンドポイントを作成する必要があります。詳細については、「[Amazon CloudWatch Logs ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html)」の「*インターフェイス VPC エンドポイントでの CloudWatch Logs の使用*」を参照してください。
+ VPC エンドポイントは AWS 、クロスリージョンリクエストをサポートしていません。エンドポイントには、App Mesh への API コールを発行する予定の同じリージョンに作成することを確認してください。
+ VPC エンドポイントでは、Amazon Route 53 を介して Amazon 提供の DNS のみがサポートされています。独自の DNS を使用したい場合は、条件付き DNS 転送を使用できます。詳細については、*Amazon VPC ユーザーガイド*の「[DHCP Options Sets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)」を参照してください。
+ VPC エンドポイントにアタッチされたセキュリティグループは、Amazon VPC のプライベートサブネットからのポート443での着信接続を許可する必要があります。
**注記**  
エンドポイントポリシーを VPC エンドポイントにアタッチして (サービス名 `com.amazonaws.Region.appmesh-envoy-management` を使用するなど)、App Mesh へのアクセスを制御することはサポートされていません。

その他の考慮事項と制限事項については、「[インターフェイスエンドポイントのアベイラビリティーゾーンに関する考慮事項](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-availability-zones)」と「[インターフェイスエンドポイントのプロパティと制限](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations)」を参照してください。

## App Mesh のインターフェイス VPC エンドポイントを作成する
<a name="app-mesh-setting-up-vpc-create"></a>

App Mesh サービスのインターフェース VPC エンドポイントを作成するには、 *「Amazon VPC ユーザーガイド*」の「[インターフェースエンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」の作成手順を使用してください。Envoy プロキシで App Mesh のパブリック Envoy 管理サービスに接続するためのサービス名として `com.amazonaws.Region.appmesh-envoy-management` を、メッシュ操作用に `com.amazonaws.Region.appmesh` を指定します。

**注記**  
*Region* は、米国東部 (オハイオ) リージョンなど、App Mesh でサポートされている AWS リージョン`us-east-2`のリージョン識別子を表します。

App Mesh がサポートされているリージョンでは、App Mesh のインターフェイス VPC エンドポイントを定義できますが、各リージョンのすべてのアベイラビリティーゾーンのエンドポイントを定義できない場合があります。リージョン内のインターフェイス VPC エンドポイントでサポートされているアベイラビリティーゾーンを確認するには、[describe-vpc-endpoint-services ](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-services.html)コマンドを使用するか、 AWS マネジメントコンソールを使用します。たとえば、次のコマンドは、米国東部 (オハイオ) リージョン内の App Mesh インターフェイス VPC エンドポイントをデプロイできるアベイラビリティゾーンを返します：

```
aws --region us-east-2 ec2 describe-vpc-endpoint-services --query 'ServiceDetails[?ServiceName==`com.amazonaws.us-east-2.appmesh-envoy-management`].AvailabilityZones[]'
```

```
aws --region us-east-2 ec2 describe-vpc-endpoint-services --query 'ServiceDetails[?ServiceName==`com.amazonaws.us-east-2.appmesh`].AvailabilityZones[]'
```

# の耐障害性 AWS App Mesh
<a name="disaster-recovery-resiliency"></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 グローバルインフラストラクチャは、 AWS リージョンとアベイラビリティーゾーンを中心に構築されています。 AWS リージョンは、低レイテンシー、高スループット、および高度に冗長なネットワークで接続された、物理的に分離および分離された複数のアベイラビリティーゾーンを提供します。アベイラビリティーゾーンでは、アベイラビリティーゾーン間で中断せずに、自動的にフェイルオーバーするアプリケーションとデータベースを設計および運用することができます。アベイラビリティーゾーンは、従来の単一または複数のデータセンターインフラストラクチャよりも可用性、耐障害性、および拡張性に優れています。

App Mesh は、高可用性を確保するために、複数のアベイラビリティーゾーンで実行し、高可用性を確保しています。App Mesh は、異常なコントロールプレーンインスタンスを自動的に検出して置換します。また、バージョンアップやパッチ適用を自動的に行います。

## でのディザスタリカバリ AWS App Mesh
<a name="disaster-recovery"></a>

App Mesh サービスは、顧客データのバックアップを管理します。バックアップを管理するためには、何もする必要はありません。バックアップされたデータは暗号化されます。

# での設定と脆弱性の分析 AWS App Mesh
<a name="configuration-vulnerability-analysis"></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 は、マイクロサービスと共にデプロイするマネージド [Envoy プロキシ Docker コンテナイメージ](envoy.md)を発行します。App Mesh は、コンテナイメージに最新の脆弱性およびパフォーマンスパッチが確実に適用されるようにします。App Mesh は、イメージを利用できるようにする前に、App Mesh 機能セットに対して新しい Envoy プロキシリリースをテストします。

更新されたコンテナイメージのバージョンを使用するには、マイクロサービスを更新する必要があります。次は、イメージの最新バージョンです。

```
840364872350.dkr.ecr.region-code.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```