Node.js 및 DAX - Amazon DynamoDB

Node.js 및 DAX

다음 단계에 따라 Amazon EC2 인스턴스에서 Node.js 샘플 애플리케이션을 실행합니다.

DAX에 대한 Node.js 샘플을 실행하려면
  1. 다음과 같이 Amazon EC2 인스턴스에서 Node.js를 설치합니다.

    1. 노드 버전 관리자(nvm)를 설치합니다.

      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
    2. nvm을 사용하여 Node.js를 설치합니다.

      nvm install 12.16.3
    3. Node.js가 설치되었고 올바르게 실행되는지 테스트합니다.

      node -e "console.log('Running Node.js ' + process.version)"

      다음 메시지가 표시되어야 합니다.

      Running Node.js v12.16.3

  2. 노드 패키지 관리자(npm)를 사용하여 DAX Node.js 클라이언트를 설치합니다.

    npm install amazon-dax-client
  3. 샘플 프로그램 소스 코드(.zip 파일)를 다운로드합니다.

    wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zip

    다운로드가 완료되면 소스 파일의 압축을 풉니다.

    unzip TryDax.zip
  4. 다음 Node.js 프로그램을 실행합니다. 첫 프로그램은 TryDaxTable이라는 Amazon DynamoDB 테이블을 생성합니다. 두 번째 프로그램은 해당 테이블에 데이터를 씁니다.

    node 01-create-table.js node 02-write-data.js
  5. 다음 Node.js 프로그램을 실행합니다.

    node 03-getitem-test.js node 04-query-test.js node 05-scan-test.js

    GetItem, QueryScan 테스트에 필요한 시간 정보(밀리초)를 기록해 둡니다.

  6. 전 단계에서 DynamoDB 엔드포인트에 대해 프로그램을 실행했습니다. 프로그램을 다시 실행하되, 이번에는 GetItem, QueryScan 작업을 DAX 클러스터에서 처리합니다.

    DAX 클러스터의 엔드포인트를 결정하려면 다음 중 하나를 선택합니다.

    • Using the DynamoDB console(DynamoDB 콘솔 사용) - DAX 클러스터를 선택합니다. 다음 예제와 같이 클러스터 엔드포인트가 콘솔에 표시됩니다.

      dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com
    • AWS CLI 사용 - 다음 명령을 입력합니다.

      aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"

      다음 예제와 같이 클러스터 엔드포인트가 출력에 표시됩니다.

      { "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com", "Port": 8111, "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com" }

    이제 프로그램을 다시 실행합니다. 이번에는 클러스터 엔드포인트를 명령줄 파라미터로 지정합니다.

    node 03-getitem-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com node 04-query-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com node 05-scan-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com

    나머지 출력을 확인하여 시간 정보를 기록해 둡니다. GetItem, Query, Scan에 대한 경과 시간은 DAX가 DynamoDB보다 현저히 적어야 합니다.

  7. 다음 Node.js 프로그램을 실행하여 TryDaxTable을 삭제합니다.

    node 06-delete-table

이러한 프로그램에 대한 자세한 내용은 다음 단원을 참조하세요.