

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

# 공유 AWS Cloud Map 네임스페이스
<a name="sharing-namespaces"></a>

AWS Cloud Map 를 사용하면 네임스페이스 소유자가의 다른 AWS 계정 또는 조직 내에서 네임스페이스를 공유 AWS Organizations 하여 계정 간 서비스 검색 및 서비스 레지스트리를 간소화할 수 있습니다. 이를 통해 AWS 조직 내 다른 AWS 계정 또는 팀에서 관리하는 네임스페이스를 더 쉽게 사용할 수 있습니다.

AWS Cloud Map 는 AWS Resource Access Manager (AWS RAM)와 통합되어 리소스 공유를 활성화합니다. AWS RAM 는 일부 AWS Cloud Map 리소스를 다른 AWS 계정 또는를 통해 공유할 수 있는 서비스입니다 AWS Organizations. AWS RAM를 사용하면 리소스 공유를 생성하여 소유한 *리소스를 공유할* 수 있습니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 소비자에는 다음이 포함될 수 있습니다.
+ 의 조직 AWS 계정 내에서 특정 AWS Organizations
+ 의 조직 내 조직 단위 AWS Organizations
+ 의 전체 조직 AWS Organizations

에 대한 자세한 내용은 *[AWS RAM 사용 설명서를](https://docs.aws.amazon.com/ram/latest/userguide/)* AWS RAM참조하세요.

이 항목에서는 소유한 리소스를 공유하는 방법과 공유 리소스를 사용하는 방법을 설명합니다.

**Topics**
+ [네임스페이스 공유 시 고려 사항](#sharing-considerations)
+ [AWS Cloud Map 네임스페이스 공유](sharing-share.md)
+ [AWS Cloud Map 네임스페이스 공유 중지](sharing-unshare.md)
+ [공유 AWS Cloud Map 네임스페이스 식별](sharing-identify.md)
+ [네임스페이스를 공유할 수 있는 권한 부여](#granting-perms-to-share)
+ [공유 네임스페이스에 대한 책임 및 권한](#sharing-perms)
+ [결제 및 측정](#sharing-billing)
+ [할당량](#sharing-quotas)

## 네임스페이스 공유 시 고려 사항
<a name="sharing-considerations"></a>
+ 네임스페이스를 공유하려면에서 해당 네임스페이스를 소유해야 합니다 AWS 계정. 즉, 계정에서 리소스를 할당하거나 프로비저닝해야 합니다. 공유된 네임스페이스는 공유할 수 없습니다.
+ 에서 조직 또는 조직 단위와 네임스페이스를 공유하려면 와의 공유를 활성화 AWS Organizations해야 합니다 AWS Organizations. 자세한 내용은 *AWS RAM 사용 설명서*의 [AWS Organizations과(와) 공유 활성화](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)를 참조하세요.
+ 공유 프라이빗 DNS 네임스페이스에서 DNS 쿼리를 사용하는 서비스 검색의 경우 네임스페이스 소유자는 네임스페이스 및 소비자의 VPC`create-vpc-association-authorization`와 연결된 프라이빗 호스팅 영역의 ID로를 호출해야 합니다.

  ```
  aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  네임스페이스 소비자는 프라이빗 호스팅 영역의 ID를 사용하여 `associate-vpc-with-hosted-zone`을 직접 호출해야 합니다.

  ```
  aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  자세한 내용은 [Amazon Route 53 개발자 안내서의 Amazon VPC와 다른 로 생성한 프라이빗 호스팅 영역 연결을 참조하세요 AWS 계정](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-associate-vpcs-different-accounts.html). * *
+ 공유 DNS 네임스페이스와 연결된 서비스의 up-to-date 네트워크 위치를 검색한 후 다른 VPC에 있는 경우 서비스와 통신하도록 VPCs. VPC 피어링 연결을 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 *Amazon Virtual Private Cloud VPC 피어링 가이드*의 [VPC 피어링 연결 생성](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html)을 참조하세요.
+ `ListOperations`를 사용하여 다른 계정에서 수행하는 공유 네임스페이스에 대한 작업을 나열할 수 없습니다.
+ 공유 네임스페이스에는 태그 지정이 지원되지 않습니다.

# AWS Cloud Map 네임스페이스 공유
<a name="sharing-share"></a>

 소유한 AWS Cloud Map 네임스페이스를 다른 AWS 계정 (소비자)와 공유하면 이러한 계정이 임시 자격 증명 없이 네임스페이스에서 서비스의 up-to-date 네트워크 위치를 검색할 수 있습니다.

네임스페이스를 공유하려면 리소스 공유에 추가해야 합니다. 리소스 공유는 AWS 계정전반에서 리소스를 공유할 수 있게 해주는 AWS RAM 리소스입니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다. 새 리소스 공유에 네임스페이스를 추가하려면 먼저 [AWS RAM 콘솔](https://console.aws.amazon.com/ram)을 사용하여 리소스 공유를 생성해야 합니다.

의 조직에 속 AWS Organizations 해 있고 조직 내 공유가 활성화된 경우 조직의 소비자에게 공유 네임스페이스에 대한 액세스 권한이 자동으로 부여됩니다. 그렇지 않으면 소비자는 리소스 공유에 가입하라는 초대를 받고 초대를 수락한 후 공유 네임스페이스에 대한 액세스 권한이 부여됩니다.

 AWS RAM 콘솔 또는를 사용하여 소유한 네임스페이스를 공유할 수 있습니다 AWS CLI.

------
#### [ AWS RAM console ]

**AWS RAM 콘솔을 사용하여 소유한 네임스페이스를 공유하려면**  
**AWS RAM 사용 설명서의 [Creating a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)을 참조하세요.

------
#### [ AWS CLI ]

**를 사용하여 소유한 네임스페이스를 공유하려면 AWS CLI**  
 AWS RAM [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 명령을 사용합니다.

------

# AWS Cloud Map 네임스페이스 공유 중지
<a name="sharing-unshare"></a>

네임스페이스가 더 이상 공유되지 않으면 소비자가 더 이상 네임스페이스와 해당 네임스페이스와 연결된 서비스 및 인스턴스에 액세스할 수 없습니다 AWS 계정. 여기에는 소비자가 네임스페이스에 액세스할 때 네임스페이스에서 생성된 리소스가 포함됩니다.

소유한 네임스페이스의 공유를 중지하려면 리소스 공유에서 해당 네임스페이스를 제거해야 합니다. AWS RAM 콘솔 또는를 사용하여이 작업을 수행할 수 있습니다 AWS CLI.

------
#### [ AWS RAM console ]

**AWS RAM 콘솔을 사용하여 소유한 네임스페이스 공유를 중지하려면**  
*AWS RAM 사용 설명서*에서 [리소스 공유 업데이트](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)를 참조하세요.

------
#### [ AWS CLI ]

**를 사용하여 소유한 네임스페이스 공유를 중지하려면 AWS CLI**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 명령을 사용합니다.

------

# 공유 AWS Cloud Map 네임스페이스 식별
<a name="sharing-identify"></a>

소유자와 소비자는 AWS Cloud Map 콘솔 및를 사용하여 공유 네임스페이스를 식별할 수 있습니다 AWS CLI. 네임스페이스 소유자는 `ResourceOwner` 속성을 사용하여 식별할 수 있습니다. `CreatedByAccount` 속성을 사용하여 서비스를 생성하거나 공유 네임스페이스에 인스턴스를 등록 AWS 계정 하는를 식별할 수 있습니다.

------
#### [ AWS Cloud Map console ]

**AWS Cloud Map 콘솔을 사용하여 공유 네임스페이스를 식별하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/) AWS Cloud Map 콘솔을 엽니다.

1. **네임스페이스** 페이지의 **리소스 소유자**에서 네임스페이스를 소유 AWS 계정 한의 ID를 찾을 수 있습니다.

1. 식별하려는 네임스페이스의 **도메인 이름을** 선택합니다.

1. **네임스페이스: *namespace-name*** 페이지의 **네임스페이스 정보** 섹션의 **리소스 소유자**에서 네임스페이스를 소유 AWS 계정 한의 ID를 찾을 수 있습니다.

------
#### [ AWS CLI ]

를 사용하여 공유 네임스페이스를 식별하려면 [list-namespaces](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/list-namespaces.html) 명령을 AWS CLI사용합니다. 이 명령은 사용자가 소유한 네임스페이스와 사용자와 공유된 네임스페이스를 반환합니다. `ResourceOwner` 필드에는 네임스페이스 소유자의 AWS 계정 ID가 표시됩니다.

계정에서 다음 `list-namespaces` 호출을 수행합니다`111122223333`.

```
aws servicediscovery list-namespaces
```

출력:

```
{
    "Namespaces": [
        {
            "Arn": "arn:aws:servicediscovery:us-west-2:111122223333:namespace/ns-abcdef01234567890",
            "CreateDate": 1585354387.357,
            "Id": "ns-abcdef01234567890",
            "Name": "local",
            "Properties": {
                "DnsProperties": {
                    "HostedZoneId": "Z06752353VBUDTC32S84S"
                },
                "HttpProperties": {
                    "HttpName": "local"
                 }
            },
            "Type": "DNS_PRIVATE",
            "ServiceCount": 2,
           "ResourceOwner": "111122223333"
        },
        {
            "Arn": "arn:aws:servicediscovery:us-west-2:444455556666:namespace/ns-021345abcdef6789",
            "CreateDate": 1586468974.698,
            "Description": "Shared second namespace",
            "Id": "ns-021345abcdef6789",
            "Name": "My-second-namespace",
            "Properties": {
                "DnsProperties": {},
                "HttpProperties": {
                    "HttpName": "Shared-second-namespace"
                }
            },
            "Type": "HTTP",
            "ServiceCount": 0,
            "ResourceOwner": "444455556666"
        }
    ]
}
```

이 시나리오에서는 네임스페이스`ns-abcdef01234567890`가에서 생성 및 소유`111122223333`되고 네임스페이스`ns-021345abcdef6789`가에서 생성 및 소유됩니다`444455556666`. 네임스페이스`ns-021345abcdef6789`는 계정 `111122223333`에서 계정와 공유됩니다`444455556666`.

------

## 네임스페이스를 공유할 수 있는 권한 부여
<a name="granting-perms-to-share"></a>

IAM 보안 주체가 네임스페이스를 공유하려면 최소 권한 집합이 필요합니다. `AWSCloudMapFullAccess` 및 `AWSResourceAccessManagerFullAccess` 관리형 정책을 사용하여 IAM 보안 주체가 공유 네임스페이스를 공유하고 사용하는 데 필요한 권한을 갖도록 하는 것이 좋습니다.

사용자 지정 IAM 정책을 사용하는 경우 네임스페이스를 공유하려면 `servicediscovery:PutResourcePolicy``servicediscovery:GetResourcePolicy`, 및 `servicediscovery:DeleteResourcePolicy` 작업이 필요합니다. 이는 권한 전용 IAM 작업입니다. IAM 보안 주체에게 이러한 권한이 부여되지 않은 경우를 사용하여 네임스페이스를 공유하려고 할 때 오류가 발생합니다 AWS RAM.

에서 IAM AWS RAM 을 사용하는 방법에 대한 자세한 내용은 *AWS RAM 사용 설명서*의 [IAM을 AWS RAM 사용하는 방법을](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-policies.html) 참조하세요.

## 공유 네임스페이스에 대한 책임 및 권한
<a name="sharing-perms"></a>

네임스페이스 소유자와 소비자는 공유 네임스페이스에서 서로 다른 작업을 수행할 수 있습니다.

### 소유자에 대한 권한
<a name="perms-owner"></a>

네임스페이스 소유자는 공유 네임스페이스에서 다음 작업을 수행할 수 있습니다.
+ 소비자 계정에서 생성한 서비스 및 이러한 서비스에 등록된 인스턴스를 포함하여 네임스페이스와 연결된 서비스에 액세스합니다.
+ 소비자 계정 및 이러한 서비스에 등록된 인스턴스가 생성한 서비스에 대한 액세스를 포함하여 네임스페이스에 대한 액세스를 취소합니다.
+ 소비자 또는 네임스페이스 소유자가 공유 네임스페이스에서 생성한 서비스에서 인스턴스를 등록 및 등록 취소하도록 다른 계정에 대한 권한을 구성합니다.
+ 소비자 계정에서 생성한 서비스 및 등록된 인스턴스를 포함하여 서비스를 삭제하고 인스턴스 등록을 취소합니다.
+ 공유 네임스페이스를 업데이트하거나 삭제합니다.

### 소비자에 대한 권한
<a name="perms-consumer"></a>

네임스페이스 소비자는 공유 네임스페이스에서 다음 작업을 수행할 수 있습니다.
+ 네임스페이스에서 서비스를 생성하고 삭제합니다.
+ 네임스페이스에서 생성된 서비스에서 인스턴스를 등록 및 등록 취소합니다.
+ 네임스페이스에서 생성된 서비스에 등록된 인스턴스를 검색합니다.

소비자는 공유 네임스페이스를 업데이트하거나 삭제할 수 없습니다. 공유 네임스페이스에 대한 액세스 권한을 잃으면 소비자 계정도 네임스페이스에서 생성한 서비스에 대한 액세스 권한을 잃게 됩니다.

## 결제 및 측정
<a name="sharing-billing"></a>

공유 네임스페이스에 등록하는 모든 인스턴스와 이러한 인스턴스를 등록할 때 생성되는 모든 Route 53 상태 확인에 대해 소유자에게 요금이 청구됩니다. 소비자는 네임스페이스에 등록한 모든 인스턴스와 이러한 인스턴스를 등록할 때 생성된 모든 Route 53 상태 확인에 대해 요금이 청구됩니다. 공유 네임스페이스가 DNS 네임스페이스인 경우 네임스페이스에서 서비스가 생성될 때 생성된 Route 53 DNS 레코드에 대해 네임스페이스 소유자에게 요금이 청구됩니다. 소유자는 모든 `DiscoverInstances` 및 `DiscoverInstancesRevision` 호출에 대해 요금이 청구됩니다. 소비자는 모든 `DiscoverInstances` 및 `DiscoverInstancesRevision` 호출에 대해 요금이 청구됩니다.

## 할당량
<a name="sharing-quotas"></a>

공유 네임스페이스는 리전 할당량당 네임스페이스 소유자의 네임스페이스에만 포함됩니다. 공유 네임스페이스에 소비자가 등록한 인스턴스는 네임스페이스 할당량당 소유자의 인스턴스에 포함됩니다. 소비자가 공유 네임스페이스에서 서비스를 생성하는 경우 서비스에 등록된 모든 인스턴스는 서비스 할당량당 소비자의 인스턴스에 포함됩니다. 소유자가 공유 네임스페이스에서 서비스를 생성하는 경우 서비스에 등록된 모든 인스턴스는 서비스 할당량당 소유자의 인스턴스에 포함됩니다.