Amazon EC2를 수동으로 연결 - Amazon DocumentDB

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

Amazon EC2를 수동으로 연결

다음 단계에서는 필수 조건 주제의 단계를 완료했다고 가정합니다.

1단계: Amazon EC2 인스턴스 생성

이 단계에서는 나중에 Amazon DocumentDB 클러스터를 프로비저닝하는 데 사용할 동일한 지역 및 Amazon VPC에 Amazon EC2 인스턴스를 생성합니다.

  1. Amazon EC2 콘솔 대시보드에서 인스턴스 시작을 선택합니다.

  2. 이름 및 태그 섹션에 있는 이름 필드에 이름 또는 식별자를 입력합니다.

  3. 아마존 머신 이미지 (AMI) 드롭다운 목록에서 아마존 리눅스 2 AMI를 찾아 선택합니다.

  4. 인스턴스 유형 드롭다운 목록에서 t3.micro를 찾아 선택합니다.

  5. 키 페어 (로그인) 섹션에서 기존 키 페어의 식별자를 입력하거나 새 키 페어 생성을 선택합니다.

    Amazon EC2 키 페어를 제공해야 합니다.

    Amazon EC2 키 페어가 있는 경우:

    1. 키 페어를 선택하고 목록에서 키 페어를 선택합니다.

    2. Amazon EC2 인스턴스에 로그인하려면 프라이빗 키 파일 (.pem 또는.ppk 파일) 이 이미 있어야 합니다.

    Amazon EC2 키 페어가 없는 경우:

    1. 새 키 페어 생성을 선택합니다. 키 페어 생성 대화 상자가 나타납니다.

    2. 키 페어 이름 필드에 이름을 입력합니다.

    3. 키 페어 유형과 개인 키 파일 형식을 선택합니다.

    4. 키 페어 생성(Create key pair)를 선택합니다.

    참고

    보안을 위해 EC2 인스턴스에 대한 SSH 및 인터넷 연결 모두에 키 페어를 사용하는 것이 좋습니다.

  6. 네트워크 설정 섹션의 방화벽 (보안 그룹) 에서 보안 그룹 생성 또는 기존 보안 그룹 선택을 선택합니다.

    기존 보안 그룹을 선택했다면 일반 보안 그룹 드롭다운 목록에서 하나를 선택합니다.

    새 보안 그룹을 생성하기로 선택한 경우 다음을 수행하십시오.

    1. EC2 연결에 적용되는 모든 트래픽 허용 규칙을 확인하십시오.

    2. IP 필드에서 My IP를 선택하거나 Custom을 선택하여 CIDR 블록, 접두사 목록 또는 보안 그룹 목록에서 선택합니다. EC2 인스턴스가 격리된 네트워크에 있지 않으면 Anywhere를 선택하지 않는 것이 좋습니다. EC2 인스턴스에서는 EC2 인스턴스에 대한 모든 IP 주소 액세스를 허용하기 때문입니다.

  7. 요약 섹션에서 EC2 구성을 검토하고 올바른 경우 Launch instance를 선택합니다. 보안 그룹을 편집합니다.

2단계: 보안 그룹 만들기

이제 기본 Amazon VPC에 새 보안 그룹을 생성합니다. 보안 그룹을 demoDocDB 사용하면 Amazon EC2 인스턴스에서 포트 27017 (Amazon DocumentDB의 기본 포트) 을 통해 Amazon DocumentDB 클러스터에 연결할 수 있습니다.

  1. Amazon EC2 관리 콘솔네트워크 및 보안에서 보안 그룹을 선택합니다.

  2. 보안 그룹 생성을 선택합니다.

  3. 기본 세부 정보 섹션에서:

    1. 보안 그룹 이름demoDocDB를 입력합니다.

    2. 설명에 설명을 입력합니다.

    3. VPC의 경우 기본 VPC 사용을 수락합니다.

  4. 인바운드 규칙 섹션에서 규칙 추가를 선택합니다.

    1. 유형의 경우 사용자 지정 TCP 규칙을 선택합니다.

    2. 포트 범위27017을 입력합니다.

    3. 대상에서 사용자 지정을 선택합니다. 옆에 있는 필드에서 방금 호출한 보안 그룹을 검색합니다. demoEC2 Amazon EC2 콘솔에서 소스 이름을 자동으로 채우려면 브라우저를 새로 고쳐야 할 수 있습니다. demoEC2

  5. 다른 모든 기본값을 그대로 사용하고 보안 그룹 생성을 선택합니다.

3단계: Amazon DocumentDB 클러스터 생성

Amazon EC2 인스턴스가 프로비저닝되는 동안 Amazon DocumentDB 클러스터를 생성해야 합니다.

  1. Amazon DocumentDB 콘솔로 이동한 다음 탐색 창에서 클러스터를 선택합니다.

  2. 생성을 선택합니다.

  3. 클러스터 유형 설정을 기본값인 인스턴스 기반 클러스터로 유지합니다.

  4. 인스턴스 수1을 선택합니다. 이렇게 하면 비용이 최소화됩니다. 다른 설정은 기본값으로 유지합니다.

  5. 연결의 경우 기본 설정을 EC2 컴퓨팅 리소스에 연결하지 않음으로 그대로 두십시오.

    참고

    EC2 컴퓨팅 리소스에 연결하면 클러스터에 대한 EC2 컴퓨팅 리소스 연결을 위한 보안 그룹이 자동으로 생성됩니다. 이전 단계에서 이러한 보안 그룹을 수동으로 생성했으므로 두 번째 보안 그룹 세트를 생성하지 않도록 EC2 컴퓨팅 리소스에 연결 안 함을 선택해야 합니다.

  6. 인증의 경우 로그인 자격 증명을 입력합니다. 중요: 이후 단계에서 클러스터를 인증하려면 로그인 자격 증명이 필요합니다.

  7. 고급 설정 표시를 켭니다.

  8. 네트워크 설정 섹션에서 Amazon VPC 보안 그룹의 경우 DemoDocDB를 선택합니다.

  9. 클러스터 생성을 선택합니다.

4단계: Amazon EC2 인스턴스 구성

mongo 쉘을 설치하려면 먼저 Amazon EC2 인스턴스에 연결해야 합니다. mongo 쉘을 설치하면 Amazon DocumentDB 클러스터에 연결하고 쿼리할 수 있습니다. 다음 단계를 완료합니다.

  1. Amazon EC2 콘솔에서 인스턴스로 이동하여 방금 생성한 인스턴스가 실행 중인지 확인합니다. 해당하는 경우 인스턴스 ID를 클릭하여 인스턴스를 선택합니다.

  2. 연결을 선택합니다.

  3. 연결 방법에는 Amazon EC2 인스턴스 연결, 세션 관리자, SSH 클라이언트 또는 EC2 직렬 콘솔의 네 가지 탭 옵션이 있습니다. 하나를 선택하고 지침을 따라야 합니다. 완료되면 Connect를 선택합니다.

참고

이 안내를 시작한 후 IP 주소가 변경되었거나 나중에 해당 환경으로 돌아오려는 경우 새 API 주소로부터의 인바운드 트래픽을 활성화하도록 demoEC2 보안 그룹 인바운드 규칙을 업데이트해야 합니다.

5단계: mongo 쉘 설치

이제 Amazon DocumentDB 클러스터에 연결하고 쿼리하는 데 사용하는 명령줄 유틸리티인 mongo 셸을 설치할 수 있습니다. 아래 지침에 따라 사용 중인 운영 체제 mongo 쉘을 설치합니다.

On Amazon Linux
Amazon Linux에서 mongo 셸을 설치하려면
  1. 리포지토리 파일을 생성합니다. EC2 인스턴스의 명령줄에서 다음 명령을 실행합니다:

    echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo
  2. 완료되면 다음 명령을 실행하여 mongo 쉘을 설치합니다.

    sudo yum install -y mongodb-org-shell
On Ubuntu 18.04
Ubuntu 18.04에서 mongo 셸을 설치하려면
  1. 패키지 관리 시스템에서 사용할 퍼블릭 키를 가져옵니다.

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
  2. Ubuntu 버전에 맞는 명령을 사용하여 MongoDB의 목록 파일 /etc/apt/sources.list.d/mongodb-org-3.6.list를 생성합니다.

    Ubuntu 18.04

    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
    참고

    위의 명령은 Bionic과 Xenial 모두에 대한 mongo 3.6 셸을 설치합니다.

  3. 다음 명령을 사용하여 로컬 패키지 데이터베이스를 다시 로드합니다.

    sudo apt-get update
  4. MongoDB 셸을 설치합니다.

    sudo apt-get install -y mongodb-org-shell

Ubuntu 시스템에서 이전 버전의 MongoDB를 설치하는 방법에 대한 자세한 내용은 Install MongoDB Community Edition on Ubuntu를 참조하십시오.

 

On other operating systems

다른 운영 체제에서 mongo 셸을 설치하려면 MongoDB 설명서의 MongoDB Community Edition 설치를 참조하십시오.

6단계: Amazon DocumentDB TLS 관리

다음 코드를 사용하여 Amazon DocumentDB용 CA 인증서를 다운로드하십시오. wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem

참고

전송 계층 보안 (TLS) 은 모든 새 Amazon DocumentDB 클러스터에 기본적으로 활성화됩니다. 자세한 내용은 Amazon DocumentDB 클러스터 TLS 설정 관리를 참조하십시오.

7단계: Amazon DocumentDB 클러스터에 연결

  1. Amazon DocumentDB 콘솔의 클러스터에서 클러스터를 찾습니다. 클러스터 식별자를 클릭하여 생성한 클러스터를 선택합니다.

  2. 연결 및 보안 탭의 Connect 상자에서 mongo 셸을 사용하여 이 클러스터에 연결을 찾습니다.

    제공된 연결 문자열을 복사하여 터미널에 붙여넣습니다.

    다음과 같이 변경하십시오.

    1. 문자열에 올바른 사용자 이름이 있는지 확인하세요.

    2. 연결할 때 mongo 셸에서 비밀번호를 입력하라는 메시지가 <insertYourPassword> 표시되도록 생략하세요.

    연결 문자열은 다음과 유사하게 표시되어야 합니다:

    mongo --ssl host docdb-2020-02-08-14-15-11. cluster.region.docdb.amazonaws.com:27107 --sslCAFile global-bundle.pem --username demoUser --password

  3. 터미널에서 Enter 키를 누릅니다. 이제 비밀번호를 입력하라는 메시지가 표시됩니다. 암호를 입력합니다.

  4. 암호를 입력하고 rs0:PRIMARY> 메시지가 표시되면 Amazon DocumentDB 클러스터에 성공적으로 연결된 것입니다.

연결에 문제가 있으신가요? Amazon DocumentDB 문제 해결을 참조하십시오.

8단계: 데이터 삽입 및 쿼리

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

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

    db.collection.insert({"hello":"DocumentDB"})
  2. 출력은 다음과 같습니다.

    WriteResult({ "nInserted" : 1 })

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

    db.collection.findOne()
  4. 출력은 다음과 같습니다.

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

  5. 쿼리를 몇 개 더 수행하려면 게임 프로필 사용 사례를 고려해 보세요. 먼저 제목이 붙은 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} ])
  6. 출력은 다음과 같습니다.

    { "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }

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

    db.profiles.find()
  8. 5단계에서 입력한 데이터와 일치하는 출력이 출력됩니다.

  9. 필터를 사용하여 단일 문서에 대한 쿼리를 사용하십시오. 다음을 입력합니다.

    db.profiles.find({name: "Katie"})
  10. 다음 출력이 나타나야 합니다:

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

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

    db.profiles.findAndModify({ query: { name: "Matt", status: "active"}, update: { $inc: { score: 10 } } })
  12. 다음과 같은 결과가 출력됩니다 (참고로 그의 점수는 아직 오르지 않았습니다):

    { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 202 }
  13. 다음 쿼리를 통해 그의 점수가 변경되었는지 확인할 수 있습니다:

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

  14. 출력은 다음과 같습니다.

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

9단계: 살펴보기

축하합니다! Amazon DocumentDB에 대한 퀵 스타트 가이드를 성공적으로 완료했습니다.

다음 단계? 몇 가지 인기 있는 기능을 갖춘 이 강력한 데이터베이스를 최대한 활용하는 방법을 알아보십시오.

참고

비용을 절감하려면 Amazon DocumentDB 클러스터를 중지하여 비용을 절감하거나 클러스터를 삭제할 수 있습니다. 기본적으로 30분 동안 사용하지 않으면 사용자 AWS Cloud9 환경은 기본 Amazon EC2 인스턴스를 중지합니다.