

# 다른 계정의 데이터 카탈로그 등록
<a name="data-sources-glue-cross-account"></a>

Athena의 계정 간 AWS Glue 카탈로그 기능을 사용해 자신의 계정이 아닌 다른 계정의 AWS Glue 카탈로그를 등록할 수 있습니다. AWS Glue에 요구되는 IAM 권한을 구성하고 카탈로그를 Athena `DataCatalog` 리소스로 등록하면 Athena를 사용해 계정 간 쿼리를 실행할 수 있습니다. 필요한 권한 구성에 대한 자세한 내용은 [AWS Glue 데이터 카탈로그에 대한 크로스 계정 액세스 구성](security-iam-cross-account-glue-catalog-access.md) 단원을 참조하세요.

다음 절차는 Athena를 사용하여 자신의 계정이 아닌 Amazon Web Services 계정의 AWS Glue Data Catalog를 데이터 소스로 구성하는 방법을 보여줍니다.

## 콘솔에서 등록
<a name="data-sources-glue-cross-account-console"></a>

1. [AWS Glue 데이터 카탈로그에 대한 크로스 계정 액세스 구성](security-iam-cross-account-glue-catalog-access.md)의 단계에 따라 다른 계정의 데이터 카탈로그를 쿼리할 권한이 있는지 확인합니다.

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)에서 Athena 콘솔을 엽니다.

1. 콘솔 탐색 창이 표시되지 않으면 왼쪽의 확장 메뉴를 선택합니다.  
![\[확장 메뉴를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/nav-pane-expansion.png)

1. **데이터 소스 및 카탈로그**를 선택합니다.

1. 오른쪽 위에서 **데이터 소스 생성(Create data source)**을 선택합니다.

1. **데이터 소스 선택(Choose a data source)**페이지에서 **데이터 소스(Data sources)**에 **S3 - AWS Glue Data Catalog**를 선택하고 **다음(Next)**을 선택합니다.

1. **데이터 소스 세부 정보 입력(Enter data source details)** 페이지의 **AWS Glue Data Catalog** 섹션에서 **AWS Glue Data Catalog 선택(Choose an AWS Glue Data Catalog)**에 **다른 계정의 AWS Glue Data Catalog(AWS Glue Data Catalog in another account)**를 선택합니다.

1. **데이터 세트 세부 정보(Dataset details)**에 다음 정보를 입력합니다.
   + **데이터 소스 이름(Data source name)** – 다른 계정의 데이터 카탈로그를 참조할 때 SQL 쿼리에 사용할 이름을 입력합니다.
   + **설명(Description)** - (선택 사항) 다른 계정의 데이터 카탈로그에 대한 설명을 입력합니다.
   + **카탈로그 ID(Catalog ID)** - 데이터 카탈로그가 속한 계정의 Amazon Web Services 계정 ID(12자리)를 입력합니다. Amazon Web Services 계정 ID는 카탈로그 ID입니다.

1. (선택 사항) **태그(Tags)**에 데이터 소스와 연결할 키-값 페어를 입력합니다. 태그에 대한 자세한 내용은 [Athena 리소스 태깅](tags.md) 섹션을 참조하세요.

1. **다음**을 선택합니다.

1. **검토 및 생성(Review and create)** 페이지에서 제공한 정보를 검토한 다음 **데이터 소스 생성(Create data source)**을 선택합니다. **데이터 소스 세부 정보(Data source details)** 페이지는 등록한 데이터 카탈로그에 대한 데이터베이스 및 태그를 나열합니다.

1. **데이터 소스 및 카탈로그**를 선택합니다. 등록한 데이터 카탈로그가 **데이터 소스 이름(Data source name)** 열에 나열됩니다.

1. 새 데이터 카탈로그에 대한 정보를 보거나 편집하려면 카탈로그를 선택한 다음 **작업(Actions)**, **편집(Edit)**을 선택합니다.

1. 새 데이터 카탈로그를 삭제하려면 카탈로그를 선택한 다음 **작업(Actions)**, **삭제(Delete)**를 선택합니다.

## API 작업을 사용하여 등록
<a name="data-sources-glue-cross-account-api"></a>

1. 다음 `CreateDataCatalog` 요청 본문은 계정 간 액세스를 위한 AWS Glue 카탈로그를 등록합니다.

   ```
   # Example CreateDataCatalog request to register a cross-account Glue catalog:
   {
       "Description": "Cross-account Glue catalog",
       "Name": "ownerCatalog",
       "Parameters": {"catalog-id" : "<catalogid>"  # Owner's account ID
       },
       "Type": "GLUE"
   }
   ```

1. 다음 샘플 코드는 Java 클라이언트를 사용하여 `DataCatalog` 객체를 생성합니다.

   ```
   # Sample code to create the DataCatalog through Java client
   CreateDataCatalogRequest request = new CreateDataCatalogRequest()
       .withName("ownerCatalog")
       .withType(DataCatalogType.GLUE)
       .withParameters(ImmutableMap.of("catalog-id", "<catalogid>"));
   
   athenaClient.createDataCatalog(request);
   ```

   이 단계가 끝나면 [ListDataCatalogs](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListDataCatalogs.html) API 작업을 호출할 때 차용자에게 *`ownerCatalog`*가 표시되어야 합니다.

## AWS CLI를 사용하여 등록
<a name="data-sources-glue-cross-account-cli"></a>

다음 예제 CLI 명령을 사용하여 다른 계정에서 AWS Glue Data Catalog를 등록합니다.

```
aws athena create-data-catalog \
  --name cross_account_catalog \
  --type GLUE \
  --description "Cross Account Catalog" \
  --parameters catalog-id=<catalogid>
```

자세한 내용은 *AWS 빅 데이터 블로그*의 [Query cross-account AWS Glue Data Catalogs using Amazon Athena](https://aws.amazon.com/blogs/big-data/query-cross-account-aws-glue-data-catalogs-using-amazon-athena/)를 참조하세요.