翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Envoy プロキシの認可
プロキシ認可は、Amazon ECS タスク内、Amazon EKS で実行されている Kubernetes ポッド、または Amazon EC2 インスタンスで実行されている Envoy プロキシが、App Mesh Envoy Management Service から1つ以上のメッシュエンドポイントの設定を読み取ることを認可します。2021 年 4 月 26 日以前にすでに Envoy を App Mesh エンドポイントに接続している顧客アカウントの場合、Transport Layer Security (TLS) を使用する仮想ノードと仮想ゲートウェイ (TLS の有無にかかわらず) にはプロキシ認可が必要です。2021 年 4 月 26 日以降に Envoy を App Mesh エンドポイントに接続する顧客アカウントの場合、すべての App Mesh 機能にプロキシ認可が必要です。すべての顧客アカウントが、TLS を使用していない場合でも、すべての仮想ノードのプロキシ認可を有効にして、特定のリソースへの認証に IAM を使用して安全で一貫性のあるエクスペリエンスを提供することをお勧めします。プロキシ認可では、appmesh:StreamAggregatedResources
アクセス許可は IAM ポリシーで指定されています。ポリシーは IAM ロールに添付する必要があり、その IAM ロールは、プロキシをホストするコンピューティングリソースに添付する必要があります。
IAM ポリシーを作成する
サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取れるようにするには、IAM ロールの作成 に進みます。個々のメッシュエンドポイントで設定を読み取りできるメッシュエンドポイントを制限する場合は、1 つ以上の IAM ポリシーを作成する必要があります。設定を読み取りできるメッシュエンドポイントを、特定のコンピューティングリソースで実行されている Envoy プロキシのみに制限することをお勧めします。IAM ポリシーを作成し、appmesh:StreamAggregatedResources
ポリシーへのアクセス許可を追加します。次のポリシーの例では、serviceBv1
と serviceBv2
という名前の仮想ノードの設定をサービスメッシュで読み取りすることを許可します。サービスメッシュで定義されている他の仮想ノードの設定を読み取りすることはできません。IAM ポリシーの作成と編集の詳細については、「IAM ポリシーの作成」と「IAM ポリシーの編集」を参照してください。
{ "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 ロールの作成
サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取りできるようにするには、1 つの IAM ロールを作成するだけで済みます。個々のメッシュエンドポイントで設定を読み取りできるメッシュエンドポイントを制限する場合は、前の手順で作成したポリシーごとにロールを作成する必要があります。プロキシが実行されるコンピュートリソースの指示を完了します。
-
Amazon EKS — 単一のロールを使用する場合は、クラスターの作成時に作成され、ワーカーノードに割り当てられた既存のロールを使用できます。複数のロールを使用するには、クラスターが「クラスターでのサービスアカウントの IAM ロールの有効化」で定義されている要件を満たしている必要があります。IAM ロールを作成し、ロールを Kubernetes サービスアカウントに関連付けます。詳細については、「サービスアカウントの IAM ロールとポリシーの作成」と「サービスアカウントの IAM ロールの指定」を参照してください。
-
Amazon ECS – AWS サービスを選択し、Elastic Container Service を選択してから、IAMロールを作成するときに Elastic Container Service Task のユースケースを選択します。
-
Amazon EC2 – AWS サービスを選択し、EC2 を選択してから、IAM ロールを作成するときに EC2 ユースケースを選択します。これは、プロキシを Amazon EC2 インスタンスで直接ホストする場合でも、インスタンスで実行されている Kubernetes でホストする場合でも適用されます。
IAM ロールを作成する方法の詳細については、「AWS サービス用のロールの作成」を参照してください。
IAM ポリシーの添付
サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取りできるようにするには、AWSAppMeshEnvoyAccess
マネージド IAM ポリシーを、前のステップで作成した IAM ロールにアタッチします。個々のメッシュエンドポイントで設定を読み込みできるメッシュエンドポイントを制限する場合は、作成した各ポリシーを、作成した各ロールにアタッチします。カスタムまたはマネージド IAM ポリシーを IAM ロールに添付する方法の詳細については、「IAM ID アクセス許可の追加」を参照してください。
IAM ロールを添付する
各 IAM ロールを適切なコンピューティングリソースに添付します。
-
Amazon EKS — ワーカーノードに添付されたロールにポリシーを添付した場合は、この手順をスキップできます。個別のロールを作成した場合は、各ロールを個別の Kubernetes サービスアカウントに割り当てて、各サービスアカウントを Envoy プロキシを含む個々の Kubernetes ポッドデプロイ仕様に割り当てます。詳細については、「Amazon EKS ユーザーガイド」の「サービスアカウントの IAM ロールの指定」、および「Kubernetes ドキュメント」の「Pod のサービスアカウントを設定する
」を参照してください。 -
Amazon ECS — Envoy プロキシを含むタスク定義に Amazon ECS タスクロールを添付します。タスクは EC2 または Fargate 起動タイプでデプロイできます。Amazon ECS タスクロールを作成してタスクにアタッチする方法の詳細については、「タスクの IAM ロールの指定」を参照してください。
-
Amazon EC2 — IAM ロールは、Envoy プロキシをホストする Amazon EC2 インスタンスに添付する必要があります。Amazon EC2 インスタンスにロールをアタッチする方法の詳細については、「IAM ロールを作成しましたが、今度は EC2 インスタンスに割り当てたいと思います
」を参照してください。
アクセス許可の確認
コンピュートサービス名の1つを選択して、プロキシをホストするコンピュートリソースに appmesh:StreamAggregatedResources
アクセス許可が割り当てられていることを確認します。