다른 계정과 VPC 공유 - Amazon Virtual Private Cloud

다른 계정과 VPC 공유

VPC 공유를 이용하면 여러 AWS 계정에서 Amazon EC2 인스턴스, Amazon Relational Database Service(RDS) 데이터베이스, Amazon Redshift 클러스터, AWS Lambda 함수 등의 애플리케이션 리소스를 중앙 관리형 공유 Virtual Private Cloud(VPC)로 생성할 수 있습니다. 이 모델에서 VPC(소유자)를 소유하는 계정은 의 동일한 조직에 속한 다른 계정(참여자)과 한 개 또는 여러 개의 서브넷을 공유합니다AWS Organizations 서브넷을 공유한 후 참여자는 공유된 서브넷의 해당 애플리케이션 리소스를 보고, 생성하고, 수정하고, 삭제할 수 있습니다. 참여자는 다른 참여자 또는 VPC 소유자에 속한 리소스를 보거나 수정하거나 삭제할 수 없습니다.

VPC를 공유하여 높은 상호 연결성을 필요로 하고 동일한 신뢰 경계 내에 있는 애플리케이션에 대해 VPC 내의 암시적 라우팅을 활용할 수 있습니다. 이렇게 하면 생성 및 관리하는 VPC 수가 줄어들고 청구 및 액세스 제어에 별도의 계정을 사용할 수 있습니다. AWS PrivateLink, Transit Gateway, VPC 피어링 같은 연결 기능으로 공유 Amazon VPC를 상호 연결하여 네트워크 토폴로지를 더욱 단순화할 수 있습니다. VPC 공유 혜택에 대한 자세한 내용은 VPC 공유: 여러 계정 및 VPC 관리에 대한 새로운 접근 방식을 참조하세요.

공유 VPC 사전 조건

조직의 관리 계정에서 리소스 공유를 활성화해야 합니다. 리소스 공유 활성화에 대한 자세한 내용은 AWS RAM 사용자 안내서AWS Organizations과의 공유 활성화를 참조하세요.

서브넷 공유

기본이 아닌 서브넷을 조직의 다른 계정과 공유할 수 있습니다. 서브넷을 공유하려면 먼저 공유할 서브넷 및 서브넷을 공유하려는 AWS 계정, 조직 단위 또는 전체 조직과 리소스 공유를 생성해야 합니다. 리소스 공유 생성에 대한 자세한 내용은 AWS RAM 사용 설명서의 리소스 공유 생성을 참조하세요.

콘솔을 사용하여 서브넷을 공유하려면

  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 서브넷을 선택합니다.

  3. 서브넷을 선택하고 작업, 서브넷 공유를 선택합니다.

  4. 리소스 공유를 선택하고 서브넷 공유를 선택합니다.

AWS CLI를 사용하여 서브넷을 공유하려면

create-resource-share 명령과 associate-resource-share 명령을 사용합니다.

여러 가용 영역에서 서브넷 매핑

리전의 가용 영역에 걸쳐 리소스가 배포될 수 있도록 각 계정의 이름에 가용 영역을 독립적으로 매핑합니다. 예를 들어 AWS 계정의 us-east-1a 가용 영역은 다른 AWS 계정에 대한 us-east-1a로 위치가 동일하지 않을 수 있습니다.

VPC 공유를 위해 계정에 대해 가용 영역을 조정하려면 가용 영역에 대한 고유하고 일관된 식별자인 AZ ID를 사용해야 합니다. 예를 들어, use1-az1us-east-1 리전의 가용 영역 중 하나에 대한 AZ ID입니다. AZ ID를 사용하여 다른 계정과 관련된 하나의 계정의 리소스 위치를 판단합니다. Amazon VPC 콘솔에서 각 서브넷에 대한 AZ ID를 확인할 수 있습니다.

다음 다이어그램은 가용 영역 코드를 AZ ID에 매핑하는 서로 다른 두 개의 계정을 보여 줍니다.


          가용 영역 코드를 AZ ID에 매핑하는 서로 다른 두 개의 계정입니다.

공유 서브넷 공유 해제

소유자는 참여자와 공유한 서브넷을 언제든지 공유 해제할 수 있습니다. 소유자가 공유한 서브넷을 해제하면 다음 규칙이 적용됩니다.

  • 기존 참여자 리소스는 공유 해제된 서브넷에서 계속 실행됩니다. 자동/관리형 워크플로(예: Auto Scaling 또는 노드 교체)가 있는 AWS 관리형 서비스 (예: Elastic Load Balancing의 경우 일부 리소스의 공유 서브넷에 지속적으로 액세스해야 할 수 있습니다.

  • 참여자는 공유 해제된 서브넷에 더 이상 새로운 리소스를 생성할 수 없습니다.

  • 참여자는 서브넷에 있는 리소스를 수정, 기술하고 삭제할 수 있습니다.

  • 참여자가 공유 해제된 서브넷의 리소스를 여전히 가지고 있을 경우 소유자는 공유 서브넷 또는 공유 서브넷 VPC를 삭제할 수 없습니다. 참여자가 공유 해제된 서브넷의 모든 리소스를 삭제한 후에만 소유자는 서브넷 또는 공유 서브넷 VPC를 삭제할 수 있습니다.

콘솔을 사용하여 서브넷을 공유 해제하려면

  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 서브넷을 선택합니다.

  3. 서브넷을 선택하고 작업, 서브넷 공유를 선택합니다.

  4. 작업, 공유 중지를 선택합니다.

AWS CLI를 사용하여 서브넷을 공유 해제하려면

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

공유 서브넷의 소유자 식별

참여자는 공유된 서브넷을 Amazon VPC 콘솔이나 명령줄 도구를 사용하여 볼 수 있습니다.

콘솔을 사용하여 서브넷 소유자를 식별하려면

  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 서브넷을 선택합니다. 소유자 열에 서브넷 소유자가 표시됩니다.

AWS CLI를 사용하여 서브넷 소유자를 식별하려면

describe-subnets 명령과 describe-vpcs 명령을 사용합니다. 출력에 소유자의 ID가 포함됩니다.

VPC 리소스 관리

소유자와 참여자는 자신이 소유한 VPC 리소스에 책임이 있습니다.

소유자 리소스

VPC 소유자는 공유 VPC와 연결된 리소스를 생성, 관리 및 삭제할 책임이 있습니다. 이러한 책임에는 서브넷, 라우팅 테이블, 네트워크 ACL, 피어링 연결, 게이트웨이 엔드포인트, 인터페이스 엔드포인트, Amazon Route 53 Resolver 엔드포인트, 인터넷 게이트웨이, NAT 게이트웨이, 가상 프라이빗 게이트웨이 및 전송 게이트웨이 연결이 포함됩니다.

VPC 소유자는 EC2 인스턴스 및 보안 그룹과 같이 참여자가 생성한 리소스를 수정하거나 삭제할 수 없습니다. VPC 소유자는 문제 해결 및 감사를 위해 참여자 리소스에 연결된 네트워크 인터페이스 및 보안 그룹에 대한 세부 정보를 볼 수 있습니다. VPC 소유자는 VPC, 서브넷 및 네트워크 인터페이스에 대한 흐름 로그 구독을 생성할 수 있습니다.

참여자 리소스

참여자는 공유 VPC에서 리소스를 생성, 관리 및 삭제할 수 있습니다. 참여자는 EC2 인스턴스, Amazon RDS 데이터베이스, Elastic Load Balancing 로드 밸런서와 같은 VPC에서 자신이 생성한 리소스를 소유합니다.

참여자는 라우팅 테이블 및 네트워크 ACL과 같이 VPC 소유자가 담당하는 리소스의 세부 정보를 볼 수는 있지만 이를 수정할 수는 없습니다. 참여자는 다른 참여자 계정에 속한 리소스를 보거나 수정할 수 없습니다. 참여자는 자신이 소유한 네트워크 인터페이스에 대해서만 흐름 로그 구독을 생성할 수 있습니다.

참여자는 다음과 같은 다른 참여자 또는 소유자에게 속한 보안 그룹을 참조할 수 있습니다.

account-number/security-group-id

참가자는 프라이빗 호스팅 영역 중 하나를 공유 VPC에 직접 연결할 수 없습니다. VPC와 연결된 프라이빗 호스팅 영역의 동작을 제어해야 하는 참여자는 다음 솔루션을 사용할 수 있습니다.

  • 참여자는 프라이빗 호스팅 영역을 생성하여 VPC 소유자와 공유할 수 있습니다. 프라이빗 호스팅 영역 공유에 대한 자세한 내용은 Amazon Route 53 개발자 안내서서로 다른 AWS 계정으로 생성한 VPC와 프라이빗 호스팅 영역 연결을 참조하세요.

  • VPC 소유자는 소유자가 이미 VPC와 연결한 프라이빗 호스팅 영역을 제어할 권한을 제공하는 교차 계정 IAM 역할을 생성할 수 있습니다. 그런 다음 소유자는 이 역할을 수임하는 데 필요한 권한을 참가자 계정에 부여할 수 있습니다. 자세한 내용은 IAM 사용 설명서IAM 자습서: IAM 역할을 사용하여 AWS 계정에 대한 액세스 권한 위임을 참조하세요. 그러면 참여자 계정이 역할을 수임하고, 소유자가 역할의 권한을 통해 위임한 프라이빗 호스팅 영역에 대한 제어 권한을 행사할 수 있습니다.

소유자 및 참여자에 대한 청구 및 측정

공유 VPC에서 각 참가자는 Amazon EC2 인스턴스, Amazon Relational Database Service 데이터베이스, Amazon Redshift 클러스터 및 AWS Lambda 함수를 비롯한 애플리케이션 리소스에 대한 비용을 지불합니다. 또한 참여자는 가용 영역 간 데이터 전송, VPC 피어링 연결을 통한 데이터 전송, AWS Direct Connect 게이트웨이를 통한 데이터 전송과 연결된 데이터 전송 요금을 지불합니다. VPC 소유자는 NAT 게이트웨이, 가상 프라이빗 게이트웨이, 전송 게이트웨이, AWS PrivateLink 및 VPC 엔드포인트에서의 데이터 처리 및 데이터 전송 요금을 시간당 요금(해당하는 경우)으로 지불합니다. 동일한 가용 영역(AZ-ID를 사용하여 고유하게 식별됨) 내에서의 데이터 전송은 통신 리소스의 계정 소유권과 상관없이 무료입니다.

제한 사항

다음 제한은 VPC 공유를 통한 작업에 적용됩니다.

  • 소유자는 의 동일한 조직에 있는 다른 조직 단위 또는 계정하고만 서브넷을 공유할 수 있습니다AWS Organizations

  • 소유자는 기본 VPC에 있는 서브넷을 공유할 수 없습니다.

  • 참여자는 VPC를 공유하는 다른 참여자 또는 VPC 소유자가 소유한 보안 그룹을 사용하여 리소스를 시작할 수 없습니다.

  • 참여자는 VPC의 기본 보안 그룹을 사용하여 리소스를 시작할 수 없습니다. 그러한 그룹은 소유자에게 속해 있기 때문입니다.

  • 소유자는 다른 참여자가 소유한 보안 그룹을 사용하여 리소스를 시작할 수 없습니다.

  • 참가자는 공유 서브넷에서 리소스를 시작할 때, 보안 그룹을 리소스에 연결하고 기본 보안 그룹을 사용하지 않도록 해야 합니다. 참가자는 기본 보안 그룹을 사용할 수 없습니다. 기본 보안 그룹은 VPC 소유자에게 속해 있기 때문입니다.

  • 참가자는 자신이 소유하지 않은 VPC에서 Route 53 Resolver 엔드포인트를 생성할 수 없습니다. VPC 소유자만 인바운드 엔드포인트와 같은 VPC 수준 리소스를 생성할 수 있습니다.

  • VPC 태그와 공유 VPC 내 리소스에 대한 태그는 참가자와 공유되지 않습니다.

  • 서브넷 소유자만 Transit Gateway를 공유 서브넷에 연결할 수 있습니다. 참가자는 선택할 수 없습니다.

  • 참가자는 공유 VPC에서 Application Load Balancer 및 네트워크 로드 밸런서를 생성할 수 있지만 공유되지 않은 서브넷에서 실행 중인 대상은 등록할 수 없습니다.

  • 게이트웨이 로드 밸런서를 만들 때 서브넷 소유자만 공유 서브넷을 선택할 수 있습니다. 참가자는 선택할 수 없습니다.

  • 서비스 할당량은 개별 계정별로 적용됩니다.