

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

# Amazon DocumentDB로 시작하기
<a name="get-started-guide"></a>

Amazon DocumentDB에 연결하고 이를 통해 시작하는 방법에는 여러 가지가 있습니다. 이 안내서는 사용자가 강력한 도큐먼트 데이터베이스를 사용하여 시작할 수 있는 가장 빠르고 간단하며 쉬운 방법입니다. 이 가이드에서는 [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)을 사용하여 AWS Management Console에서 직접 Amazon DocumentDB 클러스터를 연결하고 쿼리합니다. AWS Free Tier 대상 신규 고객은 Amazon DocumentDB 및 CloudShell을 무료로 이용할 수 있습니다. AWS CloudShell 환경 또는 Amazon DocumentDB 클러스터가 무료 계층을 넘어서는 리소스를 사용하는 경우, 해당 리소스에 대해 일반적인 AWS 요금이 부과됩니다. 이 안내서를 통해 5분 이내에 Amazon DocumentDB를 시작할 수 있습니다.

**참고**  
이 안내서의 지침은 특별히 Amazon DocumentDB 및 AWS CloudShell을 이용할 수 있는 Amazon DocumentDB 인스턴스 기반 클러스터를 생성하고 연결하기 위한 것입니다.  
Amazon DocumentDB 탄력성 클러스터를 생성하고 연결하려면 [Amazon DocumentDB 엘라스틱 클러스터 시작하기](elastic-get-started.md)을 참조하십시오.
AWS 중국 리전에 있는 경우 [Amazon EC2 자동 연결](connect-ec2-auto.md) 섹션을 참조하세요.

**Topics**
+ [사전 조건](#quickstart-prerequisites)
+ [1단계: 클러스터 생성](#get-start-cluster)
+ [2단계: 클러스터에 연결](#get-start-connectcluster)
+ [3단계: 데이터 삽입 및 쿼리](#get-start-insert-query)
+ [4단계: 살펴보기](#get-start-congrats)

## 사전 조건
<a name="quickstart-prerequisites"></a>

첫 번째 Amazon DocumentDB 클러스터를 작성하기 전에 다음 작업을 수행해야 합니다:

**Amazon Web Services(AWS) 계정 만들기**  
Amazon DocumentDB 사용을 시작하기 전에 Amazon Web Services(AWS) 계정이 있어야 합니다. AWS 계정은 무료입니다. 사용하는 서비스 및 리소스에 대해서만 비용을 지불하는 것입니다.  
AWS 계정이 없는 경우 다음 절차에 따라 계정을 생성합니다.  

**AWS 계정에 가입**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따릅니다.

   등록 절차 중 전화 또는 텍스트 메시지를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

   *AWS 계정 루트 사용자*에 가입하면 AWS 계정 루트 사용자가 만들어집니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 수행하는 것입니다.

**필요한 AWS Identity and Access Management(IAM) 권한을 설정하세요.**  
클러스터, 인스턴스 및 클러스터 파라미터 그룹과 같은 Amazon DocumentDB 리소스를 관리하기 위해 액세스하려면 AWS에서 요청을 인증하는 데 사용할 수 있는 자격 증명이 필요합니다. 자세한 내용은 [Amazon DocumentDB의 ID 및 액세스 관리](security-iam.md) 섹션을 참조하세요.  

1. AWS Management Console의 검색창에 IAM을 입력하고 나타나는 드롭다운 메뉴에서 **IAM**를 선택합니다.

1. IAM 콘솔에 들어가면 탐색 창에서 **사용자**를 선택합니다.

1. 사용자 이름을 선택합니다.

1. **Add permissions(권한 추가)**를 클릭합니다.

1. **정책 직접 연결**을 선택합니다.

1. 검색 창에 `AmazonDocDBFullAccess`을 입력하고 검색 결과에 표시되면 선택합니다.

1. **다음**을 클릭합니다.

1. **Add permissions(권한 추가)**를 클릭합니다.

****  
AWS 계정에는 각 리전의 기본 VPC가 포함되어 있습니다. Amazon VPC를 사용하기로 선택한 경우 *Amazon VPC 사용 설명서*에서 [Amazon VPC 생성](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) 주제의 단계를 완료합니다.

## 1단계: 클러스터 생성
<a name="get-start-cluster"></a>

이 단계에서 Amazon DocumentDB 클러스터를 생성합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔을 엽니다.

1. Amazon DocumentDB 관리 콘솔의 **클러스터**에서 **생성**을 선택합니다.  
![\[새 클러스터를 생성하고 리소스를 관리하는 옵션이 있는 빈 클러스터 대시보드입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/ec-gs-start.png)

1. Amazon DocumentDB 클러스터 생성 페이지의 **클러스터 유형** 섹션에서 **인스턴스 기반 클러스터**(기본 옵션)를 선택합니다.  
![\[인스턴스 기반 클러스터 옵션이 강조 표시되고 두 클러스터 유형이 모두 설명된 클러스터 유형 선택입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-cluster/cluster-type.png)
**참고**  
이 범주의 다른 옵션은 **탄력적 클러스터**입니다. Amazon DocumentDB 탄력적 클러스터에 대한 자세한 내용은 [Amazon DocumentDB 탄력적 클러스터 사용](docdb-using-elastic-clusters.md) 섹션을 참조하세요.

1. **클러스터 구성** 섹션에서:

   1. **클러스터 식별자 **에 **mydocdbcluster**와 같은 고유한 이름을 입력합니다. 콘솔은 모든 클러스터 이름을 입력 방식에 관계없이 소문자로 변경합니다.

   1. **엔진 버전**의 경우 **5.0.0**을 선택합니다.  
![\[식별자 및 엔진 버전 필드가 있는 데이터베이스 클러스터의 구성 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-cluster/cluster-config.png)

1. **클러스터 스토리지 구성** 섹션에서 **Amazon DocumentDB 표준**(기본 옵션입니다)을 선택합니다.  
![\[Amazon DocumentDB Standard 옵션이 강조 표시되고 두 스토리지 유형이 모두 설명된 스토리지 유형 선택입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-cluster/cluster-storage.png)
**참고**  
이 범주의 다른 옵션은 **Amazon DocumentDB I/O 최적화**입니다. 옵션에 대해 자세히 알아보려면 [Amazon DocumentDB 클러스터 스토리지 구성](db-cluster-storage-configs.md) 섹션을 참조하세요.

1. **인스턴스 구성** 섹션에서:

   1. **DB 인스턴스 클래스**에서 **메모리 최적화 클래스(r 클래스 포함)**(기본값)를 선택합니다.

      다른 인스턴스 옵션은 **NVMe 지원 클래스**입니다. 자세한 내용은 [NVMe 지원 인스턴스](db-instance-nvme.md)를 참조하세요.

   1. **인스턴스 클래스**에서 **db.t3.medium**을 선택합니다. AWS 무료 평가판을 사용할 수 있습니다.

   1. **인스턴스 수**에 **1** 인스턴스를 선택합니다. 인스턴스 하나를 선택하면 비용을 최소화하는 데 도움이 됩니다. 프로덕션 시스템인 경우 고가용성을 위해 세 개의 인스턴스를 프로비저닝하는 것이 좋습니다.  
![\[DB 인스턴스 클래스, 지원되는 인스턴스 클래스 및 인스턴스 수에 대한 필드가 있는 데이터베이스 인스턴스의 구성 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-cluster/instance-config.png)

1. **연결** 섹션에서 **EC2 컴퓨팅 리소스에 연결 안 함**을 기본 설정으로 둡니다.  
![\[EC2 컴퓨팅 리소스에 연결하거나 연결하지 않는 옵션이 있는 데이터베이스의 연결 설정입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-cluster/cluster-connectivity-no-ec2.png)

1. **인증** 섹션에 기본 사용자의 사용자 이름을 입력한 후 **자체 관리형**을 선택합니다. 암호를 입력한 다음 확인합니다.

   대신 **AWS Secrets Manager에서 관리**를 선택한 경우 자세한 내용은 [Amazon DocumentDB 및를 사용한 암호 관리 AWS Secrets Manager](docdb-secrets-manager.md) 섹션을 참조하세요.  
![\[AWS Secrets Manager에서 관리 옵션이 강조 표시되고 두 인증 유형이 모두 설명된 인증 유형 선택입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/create-cluster/cluster-auth-self.png)

1. 다른 모든 옵션을 기본값으로 두고 **클러스터 생성**을 선택합니다.

Amazon DocumentDB는 이제 클러스터를 프로비저닝하고 있으며, 완료하는 데 몇 분 정도 걸릴 수 있습니다.

**참고**  
클러스터 상태 값에 대한 자세한 내용은 Amazon DocumentDB 모니터링의 [클러스터 상태 값](monitoring_docdb-cluster_status.md#monitoring_docdb-status_values)(을)를 참조하십시오.

## 2단계: 클러스터에 연결
<a name="get-start-connectcluster"></a>

AWS CloudShell을 사용하여 Amazon DocumentDB 클러스터에 연결합니다.

1. Amazon DocumentDB 관리 콘솔의 **클러스터**에서 생성한 클러스터를 찾습니다. 클러스터 옆의 확인란을 클릭하여 클러스터를 선택합니다.  
![\[기본 인스턴스 세부 정보가 있는 리전 클러스터를 보여주는 Amazon DocumentDB 클러스터 관리 인터페이스\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/cluster-connect-cloud-shell.png)

1. **작업** 드롭다운 메뉴 옆에 있는 **클러스터에 연결**을 클릭합니다. 이 버튼은 클러스터 옆의 확인란을 클릭하고 리전 클러스터와 기본 인스턴스의 상태가 모두 **사용 가능**으로 표시된 후에만 활성화됩니다. CloudShell **명령 실행** 화면이 나타납니다.

1. **새 환경 이름** 필드에 “테스트”와 같은 고유한 이름을 입력하고 **생성 및 실행**을 클릭합니다. VPC 환경 세부 정보는 Amazon DocumentDB 데이터베이스에 대해 자동으로 구성됩니다.  
![\[새 환경 이름을 요청하는 클러스터 CloudShell 명령 실행 화면\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/ec-gs-run-command.png)

1. 메시지가 표시되면 1단계: Amazon DocumentDB 클러스터 생성(하위 7단계)에서 생성한 암호를 입력합니다.  
![\[사용자 암호를 요청하는 클러스터 CloudShell 화면\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/ec-gs-cs-password.png)

   암호를 입력한 후 프롬프트에 `rs0 [direct: primary] <env-name>>`이 표시되면 Amazon DocumentDB 클러스터에 성공적으로 연결된 것입니다.

**참고**  
흐름 문제 해결에 대한 자세한 내용은 [Amazon DocumentDB 문제 해결](https://docs.aws.amazon.com/documentdb/latest/developerguide/troubleshooting.html)을 참조하십시오.

## 3단계: 데이터 삽입 및 쿼리
<a name="get-start-insert-query"></a>

이제 클러스터에 연결되었으므로 몇 가지 쿼리를 실행하여 문서 데이터베이스 사용에 익숙해질 수 있습니다.

1. 단일 문서를 삽입하려면 다음을 입력합니다:

   ```
   db.collection.insertOne({"hello":"DocumentDB"})
   ```

   출력은 다음과 같습니다:

   ```
   {
     acknowledged: true,
     insertedId: ObjectId('673657216bdf6258466b128c')
   }
   ```

1. `findOne()` 명령으로 작성한 문서를 읽을 수 있습니다 (단일 문서만 반환하기 때문). 다음 내용을 입력합니다.

   ```
   db.collection.findOne()
   ```

   다음과 같은 출력내용을 얻게 됩니다.

   ```
   { "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
   ```

1. 쿼리를 몇 개 더 수행하려면 게임 프로필 사용 사례를 고려해 보세요. 먼저 `profiles`이라는 제목의 컬렉션에 몇 개의 항목을 삽입합니다. 다음 내용을 입력합니다.

   ```
   db.profiles.insertMany([{ _id: 1, name: 'Matt', status: 'active', level: 12, score: 202 }, 
         { _id: 2, name: 'Frank', status: 'inactive', level: 2, score: 9 }, 
         { _id: 3, name: 'Karen', status: 'active', level: 7, score: 87 }, 
         { _id: 4, name: 'Katie', status: 'active', level: 3, score: 27 }
   ])
   ```

   다음과 같은 출력내용을 얻게 됩니다.

   ```
   { acknowledged: true, insertedIds: { '0': 1, '1': 2, '2': 3, '3': 4 } }
   ```

1. `find()` 명령을 사용하여 프로필 컬렉션의 모든 문서를 반환합니다. 다음 내용을 입력합니다.

   ```
   db.profiles.find()
   ```

   3단계에서 입력한 데이터와 일치하는 출력이 출력됩니다.

1. 필터를 사용하여 단일 문서에 대한 쿼리를 사용하세요. 다음 내용을 입력합니다.

   ```
   db.profiles.find({name: "Katie"})
   ```

   다음과 같은 출력내용을 얻게 됩니다.

   ```
   { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
   ```

1. 이제 프로필을 찾아 `findAndModify` 명령을 사용하여 해당 프로필을 수정해 보겠습니다. 다음 코드를 사용하여 사용자 Matt에게 10점을 추가로 주겠습니다.

   ```
   db.profiles.findAndModify({
           query: { name: "Matt", status: "active"},
           update: { $inc: { score: 10 } }
       })
   ```

   다음과 같은 결과가 출력됩니다 (참고로 그의 점수는 아직 오르지 않았습니다):

   ```
   {
       [{_id : 1, name : 'Matt', status: 'active', level: 12, score: 202}]
   ```

1. 다음 쿼리를 통해 그의 점수가 변경되었는지 확인할 수 있습니다:

   `db.profiles.find({name: "Matt"})`

   다음과 같은 출력내용을 얻게 됩니다.

   ```
   { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 212 }
   ```

## 4단계: 살펴보기
<a name="get-start-congrats"></a>

축하합니다\$1 Amazon DocumentDB 인스턴스 기반 클러스터에 대한 시작 안내서를 성공적으로 완료했습니다.

다음 단계? 몇 가지 인기 있는 기능을 통해 이 데이터베이스를 최대한 활용하는 방법을 알아보십시오:
+  [Amazon DocumentDB 관리](https://docs.aws.amazon.com/documentdb/latest/developerguide/managing-documentdb.html) 
+  [스케일링](https://docs.aws.amazon.com/documentdb/latest/developerguide/operational_tasks.html) 
+  [백업 및 복원](https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore.html) 

**참고**  
이 시작 연습을 통해 생성한 클러스터는 해당 내용을 삭제하지 않는 한 계속 비용이 누적됩니다. 자세한 지침은 [Amazon DocumentDB 클러스터 삭제](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-delete.html)를 참조하십시오.