공유 메시 작업 - AWS App Mesh

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

공유 메시 작업

AWS Resource Access Manager 서비스를 사용하여 여러 AWS 계정에서 App Mesh 메시를 공유할 수 있습니다. 공유 메시를 사용하면 서로 다른 AWS 계정에서 만든 리소스가 동일한 메시에서 서로 통신할 수 있습니다.

AWS 계정은 메시 리소스 소유자, 메시 소비자 또는 둘 다일 수 있습니다. 소비자는 자신의 계정과 공유되는 메시에서 리소스를 생성할 수 있습니다. 소유자는 계정이 소유한 모든 메시에서 리소스를 생성할 수 있습니다. 메시 소유자는 다음 유형의 메시 소비자와 메시를 공유할 수 있습니다.

  • 조직 내부 또는 외부의 특정 AWS 계정 AWS Organizations

  • 조직 내 조직 단위: AWS Organizations

  • 조직 전체가 AWS Organizations

메시 공유 방법에 GitHub 대한 자세한 내용은 계정 간 메시 안내를 참조하세요. end-to-end

메시 공유 권한 부여

계정 간에 메시를 공유하는 경우 메시를 공유하는 IAM 보안 주체에 필요한 권한과 메시 자체에 필요한 리소스 수준 권한이 있습니다.

메시 공유 권한 부여

IAM 보안 주체가 메시를 공유하려면 최소 권한 세트가 필요합니다. IAM 보안 AWSAppMeshFullAccess 주체가 공유 메시를 공유하고 사용하는 데 필요한 권한을 갖도록 하려면 AWSResourceAccessManagerFullAccess 관리형 IAM 정책을 사용하는 것이 좋습니다.

사용자 지정 IAM 정책을 사용하는 경우,, 및 조치가 필요합니다. appmesh:PutMeshPolicy appmesh:GetMeshPolicy appmesh:DeleteMeshPolicy 이는 권한 전용 IAM 작업입니다. IAM 보안 주체에 이러한 권한이 부여되지 않은 경우 서비스를 사용하여 메시를 공유하려고 하면 오류가 발생합니다. AWS RAM

AWS Resource Access Manager 서비스가 IAM을 사용하는 방식에 대한 자세한 내용은 사용 설명서의 IAM AWS RAM 사용 방법을 참조하십시오.AWS Resource Access Manager

메시에 권한 부여

공유 메시에는 다음과 같은 권한이 있습니다.

  • 소비자는 계정과 공유되는 메시의 모든 리소스를 나열하고 설명할 수 있습니다.

  • 소유자는 계정이 소유한 모든 메시의 모든 리소스를 나열하고 설명할 수 있습니다.

  • 소유자와 소비자는 해당 계정이 생성한 메시의 리소스를 수정할 수 있지만 다른 계정이 생성한 리소스는 수정할 수 없습니다.

  • 소비자는 해당 계정이 생성한 메시의 모든 리소스를 삭제할 수 있습니다.

  • 소유자는 임의의 계정이 생성한 메시의 모든 리소스를 삭제할 수 있습니다.

  • 소유자의 리소스는 동일한 계정의 다른 리소스만 참조할 수 있습니다. 예를 들어, 가상 노드는 가상 노드의 소유자와 동일한 계정에 있는 AWS Certificate Manager 인증서 AWS Cloud Map 또는 참조만 할 수 있습니다.

  • 소유자와 소비자는 Envoy 프록시를 계정이 소유한 가상 노드로서 App Mesh에 연결할 수 있습니다.

  • 소유자는 가상 게이트웨이와 가상 게이트웨이 경로를 생성할 수 있습니다.

  • 소유자와 소비자는 계정이 생성한 메시의 리소스에 대해 태그를 나열하고 태그를 지정하거나 태그를 해제할 수 있습니다. 계정이 생성하지 않은 메시의 리소스의 경우에는 태그를 나열하고 리소스에 태그를 지정하거나 태그를 해제할 수 없습니다.

공유 메시는 정책 기반 인증을 사용합니다. 메시는 고정된 권한 집합으로 공유됩니다. 이러한 권한은 리소스 정책에 추가하도록 선택되며 IAM 사용자/역할을 기준으로 선택적 IAM 정책을 선택할 수도 있습니다. 이러한 정책에서 허용된 권한과 거부된 덜 명시적인 권한의 교집합에 따라 메시에 대한 보안 주체의 액세스 권한이 결정됩니다.

메시를 공유할 때 AWS Resource Access Manager 서비스는 다음과 같은 권한을 제공하는 App Mesh라는 관리형 정책을 생성하고 이를 App AWSRAMDefaultPermissionAppMesh Mesh와 연결합니다.

  • appmesh:CreateVirtualNode

  • appmesh:CreateVirtualRouter

  • appmesh:CreateRoute

  • appmesh:CreateVirtualService

  • appmesh:UpdateVirtualNode

  • appmesh:UpdateVirtualRouter

  • appmesh:UpdateRoute

  • appmesh:UpdateVirtualService

  • appmesh:ListVirtualNodes

  • appmesh:ListVirtualRouters

  • appmesh:ListRoutes

  • appmesh:ListVirtualServices

  • appmesh:DescribeMesh

  • appmesh:DescribeVirtualNode

  • appmesh:DescribeVirtualRouter

  • appmesh:DescribeRoute

  • appmesh:DescribeVirtualService

  • appmesh:DeleteVirtualNode

  • appmesh:DeleteVirtualRouter

  • appmesh:DeleteRoute

  • appmesh:DeleteVirtualService

  • appmesh:TagResource

  • appmesh:UntagResource

메시 공유를 위한 사전 조건

메시를 공유하려면 다음 사전 조건을 충족해야 합니다.

  • AWS 계정에서 메시를 소유해야 합니다. 나와 공유된 메시는 공유할 수 없습니다.

  • AWS Organizations의 조직 또는 조직 단위와 메시를 공유하려면, AWS Organizations와의 공유를 활성화해야 합니다. 자세한 내용은AWS RAM 사용 설명서의 AWS Organizations를 사용하여 공유 사용을 참조하세요.

  • 서비스는 서로 통신하려는 메시 리소스가 포함된 계정 간에 연결이 공유되는 Amazon VPC에 배포되어야 합니다. 네트워크 연결을 공유하는 한 가지 방법은 메시에서 사용하려는 모든 서비스를 공유 서브넷에 배포하는 것입니다. 자세한 내용 및 제한 사항은 서브넷 공유를 참조하세요.

  • 서비스는 DNS 또는 를 통해 검색할 수 있어야 합니다. AWS Cloud Map서비스 검색에 대한 자세한 내용은 가상 노드를 참조하세요.

메시 공유는 () 와 통합됩니다. AWS Resource Access Manager AWS RAM AWS RAM 모든 AWS 계정과 또는 계정을 통해 AWS 리소스를 공유할 수 있는 서비스입니다. AWS Organizations를 사용하면 리소스 공유를 생성하여 소유한 리소스를 공유할 수 있습니다. AWS RAM리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 소비자는 개별 AWS 계정, 조직 단위 또는 전체 조직일 수 AWS Organizations있습니다.

에 대한 AWS RAM자세한 내용은 AWS RAM 사용 설명서를 참조하십시오.

메시 공유

메시를 공유하면 다른 계정에서 생성한 메시 리소스가 동일한 메시에서 서로 통신할 수 있습니다. 소유한 메시만 공유할 수 있습니다. 메시를 공유하려면 리소스 공유에 추가해야 합니다. 리소스 공유는 AWS 계정 간에 AWS RAM 리소스를 공유할 수 있는 리소스입니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. Amazon Linux 콘솔을 사용하여 메시를 공유하면 기존 리소스 공유에 추가합니다. 새 리소스 공유에 메시를 추가하려면 AWS RAM 콘솔을 사용하여 리소스 공유를 생성합니다.

조직의 일원이고 조직 내 공유가 활성화된 경우 조직의 소비자에게 공유 메시에 대한 액세스 권한을 자동으로 부여할 수 있습니다. AWS Organizations 그렇지 않으면 소비자는 리소스 공유에 가입하라는 초대장을 받고 초대를 수락한 후 공유된 메시에 대한 액세스 권한을 받습니다.

AWS RAM 콘솔이나 를 사용하여 소유한 메시를 공유할 수 AWS CLI있습니다.

AWS RAM 콘솔을 사용하여 소유한 메시를 공유하려면

자세한 지침은AWS RAM 사용 설명서의 리소스 공유 생성을 참조하세요. 리소스 유형을 선택할 때 메시를 선택한 다음, 공유하려는 메시를 선택합니다. 목록에 메시가 없는 경우 먼저 메시를 생성합니다. 자세한 정보는 서비스 메시 생성을 참조하세요.

를 사용하여 소유한 메시를 공유하려면 AWS CLI

create-resource-share 명령을 사용합니다. --resource-arns 옵션에서 공유하려는 메시의 ARN을 지정합니다.

공유 메시의 공유 해제

메시의 공유를 해제하면 App Mesh는 이전 메시 사용자가 메시에 더 이상 액세스할 수 없도록 합니다. 하지만 App Mesh는 소비자가 생성한 리소스를 삭제하지 않습니다. 메시가 공유 해제된 후에는 메시 소유자만 리소스를 액세스하고 삭제할 수 있습니다. App Mesh는 메시가 공유 해제된 후 메시의 리소스를 소유한 계정이 구성 정보를 받지 못하도록 합니다. 또한 App Mesh는 메시에 리소스가 있는 다른 계정이 공유 해제된 메시로부터 구성 정보를 받지 못하도록 합니다. 메시 소유자만 공유된 메시의 공유를 해제할 수 있습니다.

소유하고 있는 공유된 메시를 공유 해제하려면 리소스 공유에서 제거해야 합니다. AWS RAM 콘솔이나 를 사용하여 이 작업을 수행할 수 AWS CLI있습니다.

콘솔을 사용하여 소유한 공유 메시의 AWS RAM 공유를 해제하려면

자세한 지침에 대해서는AWS RAM 사용 설명서에서 리소스 공유 업데이트를 참조하세요.

를 사용하여 소유한 공유 메시의 공유를 해제하려면 AWS CLI

disassociate-resource-share 명령을 사용합니다.

공유 메시 식별

소유자와 소비자는 Amazon Linux 콘솔을 사용하여 공유 메시와 메시 리소스를 식별할 수 있습니다. AWS CLI

Amazon Linux 콘솔을 사용하여 공유 메시를 식별하려면
  1. https://console.aws.amazon.com/appmesh/에서 App Mesh 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 메시를 선택합니다. 각 메시의 메시 소유자 계정 ID는 메시 소유자 열에 나열되어 있습니다.

  3. 왼쪽 탐색 창에서 가상 서비스, 가상 라우터 또는 가상 노드를 선택합니다. 각 리소스의 메시 소유자리소스 소유자의 계정 ID가 표시됩니다.

다음을 사용하여 공유 메시를 식별하려면 AWS CLI

aws appmesh list resource 명령(예: aws appmesh list-meshes)을 사용합니다. 이 명령은 소유하고 있는 메시 및 자신과 공유된 메시를 반환합니다. meshOwner속성에는 의 AWS 계정 ID가 meshOwner 표시되고 resourceOwner 속성에는 리소스 소유자의 AWS 계정 ID가 표시됩니다. 메시 리소스에 대해 실행된 모든 명령은 이러한 속성을 반환합니다.

공유 메시에 연결하는 사용자 정의 태그는 AWS 계정만 사용할 수 있습니다. 메시를 공유하는 다른 계정은 사용할 수 없습니다. 다른 계정의 메시에 대해 aws appmesh list-tags-for-resource 명령을 실행하려고 하면 액세스가 거부됩니다.

결제 및 측정

메시 공유에 대한 추가 비용은 없습니다.

인스턴스 할당량

메시에 대한 모든 할당량은 메시에 리소스를 생성한 사용자에 관계없이 공유 메시에도 적용됩니다. 메시 소유자만 할당량 증가를 요청할 수 있습니다. 자세한 정보는 App Mesh 서비스 할당량을 참조하세요. AWS Resource Access Manager 서비스에도 할당량이 있습니다. 자세한 내용은 서비스 할당량을 참조하세요.