Amazon EC2 Connect - Amazon DocumentDB

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

Amazon EC2 Connect

이 섹션에서는 Amazon Amazon EC2 사용하여 Amazon DocumentDB 클러스터 (MongoDB 호환성과 함께) 를 시작하고 몽고 셸을 사용하여 상호 작용하는 방법을 설명합니다. 아래 비디오는 이 가이드의 단계를 보여줍니다.

Prerequisites

첫 번째 Amazon DocumentDB 클러스터를 만들기 전에 다음을 수행해야 합니다.

Amazon Web Services 생성 (AWS) 계정

Amazon DocumentDB 를 사용하기 전에 Amazon Web Services (AWS) 계정 AWS 계정은 무료입니다. 사용하는 서비스 및 리소스에 대해서만 비용을 지불하는 것입니다.

AWS 계정 이 없는 경우 다음 절차에 따라 계정을 생성하세요.

AWS 계정 에 가입하려면

  1. https://portal.aws.amazon.com/billing/signup을 엽니다.

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

    등록 절차 중 전화를 받고 전화 키패드를 사용하여 확인 코드를 입력하는 과정이 있습니다.

필요한 설정AWS Identity and Access Management(IAM) 권한입니다.

클러스터, 인스턴스 및 클러스터 파라미터 그룹과 같은 Amazon DocumentDB 리소스를 관리하기 위해 액세스하려면AWS가 요청을 인증하는 데 사용할 수 있습니다. 자세한 내용은 Amazon DocumentDB에서의 Identity and Access Management 섹션을 참조하세요.

  1. 검색 창에서AWS Management Console에서 IAM을 입력하고IAM나타나는 드롭 다운 메뉴에서.

  2. IAM 콘솔에 액세스하려면사용자탐색 창에서.

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

  4. 버튼을 클릭합니다.권한 추가.

  5. Attach existing policies directly(기존 정책 직접 연결)를 선택합니다.

  6. 유형AmazonDocDBFullAccess를 클릭하고 검색 결과에 나타나면 선택합니다.

  7. 아래쪽에있는 파란색 버튼을 클릭하십시오.다음: Review)]를 선택합니다.

  8. 아래쪽에있는 파란색 버튼을 클릭하십시오.권한 추가.

Amazon Virtual Private Cloud (Amazon VPC) 생성

어느 것에 따라 AWS 리전 에 있는 경우 기본 VPC 가 이미 생성되었거나 생성되지 않았을 수 있습니다. 기본 VPC 가 없는 경우Amazon VPC 시작하기Amazon VPC User Guide. 이 작업은 5 분 미만이 소요됩니다.

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

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

  1. Amazon EC2 콘솔에서인스턴스 실행.

  2. 찾기Amazon Linux AMI를 선택하고Select.

  3. 선택을 선택합니다.t3.micro인스턴스 유형입니다.

  4. 선택검토 및 시작로 건너 뛸 수 있습니다. 그러면 콘솔의단계 7: 인스턴스 시작 검토페이지로 이동합니다.

  5. 보안 그룹에서보안 그룹 편집.

  6. 이 기본 값은새 보안 그룹 생성. 에서보안 그룹 이름필드, 쓰기demoEC2.

  7. 유형을 SSH로 변경합니다. 그러면 포트 범위가 자동으로 22로 설정됩니다.

  8. 드롭다운 메뉴를 선택합니다.소스를 선택하고내 IP.

    참고

    현재 IP 주소에서만 DemoEC2 보안 그룹에 액세스할 수 있습니다. IP 주소가 변경되면 보안 그룹을 업데이트해야 합니다.

  9. 이제 선택검토 및 시작. 이제 DemoEC2 보안 그룹이보안 그룹섹션에서.

  10. 정보를 확인한 후시작.

  11. 라는 제목의 창이 나타납니다기존 key pair 선택 또는 새 키 페어 생성. 형식은 다음과 같습니다.

    Amazon EC2 key pair 제공해야 합니다. Amazon EC2 key pair 있는 경우

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

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

    Amazon EC2 key pair 없는 경우 다음을 수행합니다.

    1. [Create a new key pair]를 선택합니다.

    2. 필드에 키 모음의 이름을 씁니다.Key pair name.

    3. 프라이빗 키 파일 (.pem 파일) 을 다운로드합니다. 나중에 Amazon EC2 인스턴스에 로그인할 때 이 파일이 필요합니다.

  12. [Launch Instances]를 선택합니다.

2단계: 보안 그룹 생성

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

  1. Amazon EC2 콘솔의네트워크 및 보안를 선택하고보안 그룹.

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

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

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

  5. VPC을 사용하려면 기본 VPC 사용을 수락합니다.

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

  7. [Type]의 경우 [Custom TCP Rule]을 선택합니다.

  8. 포트 범위에 액세스하려면27017.

  9. [Destination]Custom. 옆에있는 필드에서 방금 만든 보안 그룹을 검색하십시오.demoEC2. Amazon EC2 콘솔에 대한 브라우저를 새로 고침하여demoEC2소스 이름입니다.

  10. 다른 모든 기본값을 적용하고보안 그룹 생성.

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

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

  1. Amazon DocumentDB 콘솔로 이동하여클러스터탐색 창에서.

  2. Create를 선택합니다.

  3. 인스턴스 개수를 선택하고1. 이렇게 하면 비용이 최소화됩니다. 기타 설정은 기본값으로 둡니다.

  4. 인증에 액세스하려면 사용자 이름과 암호를 입력합니다. 중요: 이후 단계에서 클러스터를 인증하려면 이 사용자 이름과 암호가 필요합니다.

  5. 켜기고급 설정 표시.

  6. 에서네트워크 설정섹션 () 에 대한Amazon VPC 보안 그룹를 선택하고데모 DocDB.

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

4단계: Amazon EC2 인스턴스에 Connect

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

  1. Amazon EC2 콘솔에서 인스턴스로 이동하여 방금 생성한 인스턴스가 실행 중인지 확인합니다. 그렇다면인스턴스를 선택합니다..

  2. [Connect]를 선택합니다.

  3. 연결 방법에 대한 세 가지 옵션이 표시됩니다. Amazon EC2 인스턴스 Connect, 세션 관리자 또는 SSH 클라이언트 하나를 선택하고 지시 사항을 따라야합니다.

참고

이 연습을 시작한 후 IP 주소가 변경되었거나 나중에 환경으로 돌아오는 경우demoEC2보안 그룹 인바운드 규칙을 사용하여 새 API 주소에서 인바운드 트래픽을 사용하도록 설정합니다.

5단계: mongo 셸 설치

이제 Amazon DocumentDB 클러스터를 연결하고 쿼리하는 데 사용하는 명령 줄 유틸리티인 몽고 쉘을 설치할 수 있습니다. 운영 체제 용 mongo 셸을 설치하려면 아래 지침을 따르십시오.

Amazon Linux에서 mongo 셸을 설치하려면

  1. 저장소 파일을 만듭니다. EC2 인스트스의 명령줄에서 다음 명령을 실행합니다.

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

    sudo yum install -y mongodb-org-shell

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를 참조하십시오.

 

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

6단계: Amazon DocumentDB TLS 관리

다음 코드를 사용하여 Amazon DocumentDB 용 CA 인증서를 다운로드합니다.wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

참고

새 Amazon DocumentDB 클러스터에는 기본적으로 TLS (전송 계층 보안) 가 활성화되어 있습니다. 자세한 내용은 단원을 참조하십시오.Amazon DocumentDB 클러스터 TLS 설정 관리.

단계 7: Amazon DocumentDB 클러스터에 Connect

  1. Amazon 문서 DB 콘솔의 클러스터 아래에서 클러스터를 찾습니다. 생성한 클러스터를 선택합니다.

  2. 로 이동합니다.연결상자에 입력합니다. 형식은 다음과 같습니다.

    제공된 연결 문자열을 복사합니다.

    터미널에 붙여 넣은 후 다음과 같이 변경하십시오. 먼저 문자열에 올바른 사용자 이름이 있는지 확인하십시오. 그런 다음<insertYourPassword>연결할 때 mongo 셸에서 암호를 입력하라는 메시지가 표시되도록 합니다. 연결 문자열은 다음과 같아야 합니다.

    mongo --ssl host docdb-2020-02-08-14-15-11. cluster.region.docdb.amazonaws.com:27107 --sslCAFile rds-combined-ca-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 인스턴스를 중지합니다.