연합 데이터베이스 인스턴스 배포
이 페이지의 내용
이 페이지에서는 Amazon Web Services S3 버킷의 데이터에 액세스하기 위한 연합 데이터베이스 인스턴스를 배포하는 방법을 설명합니다.
필요한 액세스 권한
연합 데이터베이스 인스턴스 를 배포 하려면 프로젝트 에 대한 Project Owner
액세스 이 있어야 합니다. Organization Owner
액세스 이 있는 사용자는 연합 데이터베이스 인스턴스 를 배포하기 전에 프로젝트 에 자신을 Project Owner
으)로 추가해야 합니다.
전제 조건
시작하기 전에 다음을 수행해야 합니다.
아직 계정이 없는 경우 MongoDB Atlas 계정을 만듭니다.
Amazon Web Services 구성 CLI Amazon Web Services 계정에 액세스합니다. 또는 IAM 역할 을 생성할 수 있는 권한으로 Amazon Web Services 관리콘솔에 액세스할 수 있어야 합니다.
절차
Atlas CLI를 사용하여 새 Data Federation 데이터베이스를 생성하려면 다음 명령을 실행합니다.
atlas dataFederation create <name> [options]
명령 구문 및 매개변수에 Atlas CLI 학습 보려면 dataFederation create Atlas 에 대한 설명서를 참조하세요.
Atlas Data Federation 이 연합 데이터베이스 인스턴스 에 대한 쿼리를 프로세스 할 cloud 제공자 를 선택합니다.
Amazon Web Services , Azure 또는 Google Cloud Platform 을 선택할 수 Amazon Web Services Azure있습니다.Google Cloud Platform 연합 데이터베이스 인스턴스 가 생성되면 Atlas Data Federation 이 쿼리를 처리하는 cloud 제공자 를 변경할 수 없습니다.
Amazon Web Services S3 버킷의 데이터에 대해 연합 데이터베이스 인스턴스 를 구성하는 경우, 데이터를 호스팅하는 cloud 제공자 와 다른 cloud 제공자 를 선택할 수 없습니다. 즉, Amazon Web Services 를 선택해야 합니다.
Amazon Web Amazon Web Services Services S 데이터 저장 를 지정하고 데이터 저장 에 매핑되는 연합 데이터베이스 및 가상 컬렉션을 구성합니다.3
Data Sources 섹션에서 연합 데이터베이스 인스턴스의 데이터 세트를 선택합니다.
Add Data Sources 을 클릭하여 데이터 저장소를 선택합니다.
데이터 저장소를 지정합니다.
Amazon Web Services S3 버킷의 데이터에 대한 연합 데이터베이스 인스턴스 를 구성하려면 Amazon S3 를 선택합니다.
stores.[n].provider
JSON 구성 설정에 해당합니다.Atlas에 맞는 AWS IAM 역할을 선택하세요.
역할 선택 드롭다운 목록에서 Atlas가 승인한 기존 Amazon Web Services IAM 역할을 선택하거나 Authorize an AWS IAM Role 를 선택하여 새 역할을 승인할 수 있습니다.
Atlas에 사용하도록 인증된 기존 역할을 선택했다면 다음 단계로 넘어가서 AWS S3 버킷의 목록을 볼 수 있습니다.
기존 역할을 사용할 수 있도록 Atlas를 인증하거나 새 역할을 생성하려는 경우, 아래 단계를 완료한 후에 그 다음 단계로 넘어가세요.
Authorize an AWS IAM Role 을 선택하여 새 역할을 인증하거나 드롭다운에서 기존 역할을 선택하고 Next 을 클릭합니다.
Add Atlas to the trust relationships of your AWS IAM role 섹션에서 Amazon Web Services ARN 과 고유한 외부 ID를 사용하여 기존 또는 새 Amazon Web Services IAM 역할의 신뢰 관계에 Atlas를 추가합니다.
Atlas UI에서 다음 중 하나를 클릭하고 확장합니다.
은(는)ARN 및 고유한 외부 를 사용하여 Create New Role with the AWS CLI ID 새 Atlas Amazon Web Services IAM 역할의 신뢰 관계에 를 추가하는 방법을 보여줍니다. 새 역할을 만들려면 Atlas UI의 단계를 따르세요. 자세한 내용 은 Amazon Web Services CLI 로 새 역할 생성하기를 참조하세요.
새 역할을 인증할 때
Configure a New Data Lake
워크플로를 종료하는 경우:Add Trust Relationships to an Existing Role 은(는) ARN 과 고유한 외부 ID를 사용하여 기존 AWS IAM 역할의 신뢰 관계에 Atlas를 추가하는 방법을 보여줍니다. 기존 역할의 신뢰 관계에 Atlas를 추가하려면 Atlas UI에 명시되어 있는 단계대로 하세요. 자세한 내용 은 기존 역할에 신뢰 관계 추가 를 참조하세요.
중요
나중에 사용자 지정 AWS 역할 ARN을 수정할 경우, 해당 역할의 액세스 정책에 연합 데이터베이스 인스턴스용 S3 리소스에 대한 적절한 액세스 권한이 포함되어 있는지 확인하세요.
Next를 클릭합니다.
S3 버킷 정보를 입력합니다.
S3 버킷의 이름을 입력합니다.
stores.[n].bucket
JSON 구성 설정에 해당합니다.버킷이 Read-only 인지 또는 둘 다 Read and write 인지 지정합니다.
Atlas 는 Read-only 버킷만 쿼리 할 수 있습니다. 쿼리 결과를 쿼리 하여 S3 버킷에 저장하려면 Read and write 를 선택합니다. 쿼리 결과를 S3 버킷에 저장하려면, 리소스에 대한 액세스 을 부여하는 역할 정책에,,Atlas Amazon Web Services 외에
s3:PutObject
및s3:DeleteObject
권한이 포함되어야s3:ListBucket
s3:GetObject
합니다.s3:GetObjectVersion
} 및 읽기 액세스 권한을 부여하는s3:GetBucketLocation
권한이 포함됩니다. Amazon Web Services IAM 역할 에 액세스 정책을 할당하는 방법에 학습 보려면 아래 4 단계를 참조하세요.S3 버킷의 리전 을 선택합니다.
stores.[n].region
JSON 구성 설정에 해당합니다.참고
Atlas Data Federation 이 지정된 S3 버킷의 리전 을 조회 할 수 없는 경우 연합 데이터베이스 인스턴스 만들 수 없습니다.
선택 사항. S3 버킷에서 파일을 검색할 때 Data Federation 이 사용해야 하는 접두사를 지정합니다. 생략하면 Data Federation 은 S3 버킷의 루트에서 모든 파일을 재귀적으로 검색 합니다.
stores.[n].prefix
JSON 구성 설정에 해당합니다.Next를 클릭합니다.
AWS IAM 역할에 액세스 정책을 할당하세요.
Atlas user 인터페이스의 단계에 따라 Amazon Web Services IAM 역할 에 액세스 정책을 할당합니다.
읽기 전용 또는 읽기 및 쓰기 액세스에 대한 역할 정책은 다음과 유사해야 합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation" ], "Resource": [ <role arn> ] } ] } { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ <role arn> ] } ] } Next를 클릭합니다.
S3 버킷에서 파일의 경로 구조를 정의하고 Next 을(를) 클릭합니다.
예를 들면 다음과 같습니다.
s3://<bucket-name>/<path>/<to>/<files>/<filename>.<file-extension> S3 버킷의 데이터에 경로를 추가하려면 Add Data Source 을 클릭하고 경로를 입력합니다. 경로에 학습 보려면 S3 데이터의 경로 정의를 참조하세요.
databases.[n].collections.[n].dataSources.[n].path
JSON 구성 설정에 해당합니다.가상 데이터베이스, 컬렉션 및 뷰를 생성하고 데이터베이스, 컬렉션 및 뷰를 데이터 저장소에 매핑합니다.
(선택 사항) 다음을 클릭합니다. 의 경우:
데이터베이스를 클릭하여 데이터베이스 이름을 편집합니다. 기본값은
VirtualDatabase[n]
입니다.databases.[n].name
JSON 구성 설정에 해당합니다.컬렉션을 클릭하여 컬렉션 이름을 편집합니다. 기본값은
VirtualCollection[n]
입니다.databases.[n].collections.[n].name
JSON 구성 설정에 해당합니다.보기 이름을 편집하려면 보기를 클릭합니다.
다음을 클릭할 수 있습니다.
Add Database 데이터베이스 및 컬렉션을 추가합니다.
데이터베이스에 컬렉션을 추가하기 위해 데이터베이스와 연결됩니다.
을(를) 클릭하여 컬렉션 에 대한 뷰 를 추가 컬렉션. 뷰를 만들려면 다음을 지정해야 합니다.
뷰의 이름을 지정합니다.
뷰에 적용할 파이프라인 입니다.
뷰 정의 파이프라인은
$out
또는$merge
단계를 포함할 수 없습니다. 뷰 정의에$lookup
또는$facet
와 같은 중첩된 파이프라인 단계가 포함된 경우 이 제한은 해당 중첩된 파이프라인에도 적용됩니다.
뷰에 학습 보려면 다음을 참조하세요.
데이터베이스, 컬렉션 또는 뷰와 연결된 항목을 제거합니다.
Data Sources 섹션의 드롭다운에서 AWS S3 를 선택합니다.
데이터 저장소를 드래그 앤 드롭하여 컬렉션과 매핑합니다.
databases.[n].collections.[n].dataSources
JSON 구성 설정에 해당합니다.
Amazon Web Services S3 데이터 저장 에 대한 구성은 다음과 유사해야 합니다.
{ "stores" : [ { "name" : "<string>", "provider": "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "includeTags": <boolean>, "delimiter": "<string>", "public": <boolean> } ], "databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "path" : "<string>", "defaultFormat" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": true | false } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] }
구성 설정에 대한 자세한 내용 은 연합 데이터베이스 인스턴스에 대한 데이터 저장소 정의를 참조하세요.
Amazon Web Services S3 데이터 저장 를 정의합니다.
stores
에 대한 UI 에 표시된 JSON 구성 설정을 편집합니다.stores
구성 설정은 다음과 유사해야 합니다."stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "delimiter" : "<string>", "includeTags": <boolean>, "public": <boolean> } ] 이러한 구성 설정에 학습 보려면
stores
를 참조하세요.연합 데이터베이스 인스턴스 가상 데이터베이스, 컬렉션 및 뷰를 정의합니다.
databases
에 대한 UI 에 표시된 JSON 구성 설정을 편집합니다.databases
구성 설정은 다음과 유사해야 합니다."databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "defaultFormat" : "<string>", "path" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] 이러한 구성 설정에 학습 보려면
databases
를 참조하세요.
선택 사항: 위의 시각적 편집기 또는 JSON 편집기 탭 의 단계를 반복하여 추가 Azure Azure Blob Storage 데이터 저장소를 정의합니다.
연합 쿼리에 대한 다른 데이터 저장소를 추가하려면 다음을 참조하세요.
참고
클라우드 공급자 간에 페더레이션 쿼리를 실행 하기 위해 Azure Blob Storage 데이터 저장소를 연결할 수 없습니다.