コンピュータ上で DynamoDB をローカルでデプロイする - Amazon DynamoDB

コンピュータ上で DynamoDB をローカルでデプロイする

Download locally

DynamoDB ローカルは .jar 実行ファイルとして提供されます。アプリケーションは、Windows、Linux、macOS、および Java をサポートする他のプラットフォームで動作します。

これらのステップに従って DynamoDB をコンピュータにセットアップして実行します。

注記

M1 以降の Apple プロセッサで使用するには、DynamoDB ローカル v1.20 以降が必要です。

コンピュータに DynamoDB をセットアップするには
  1. DynamoDB は、次のいずれかの場所から無料でダウンロードできます。

    リージョン ダウンロードリンク チェックサム

    Asia Pacific (Mumbai) Region

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    Asia Pacific (Singapore) Region

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    Asia Pacific (Tokyo) Region

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    Europe (Frankfurt) Region

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    South America (São Paulo) Region

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    米国西部 (オレゴン) リージョン

    .tar.gz | .zip

    .tar.gz.sha256 | .zip.sha256

    DynamoDB は、AWS Toolkit for Eclipse の一部としても利用できます。詳細については、「AWS Toolkit for Eclipse」を参照してください。

    重要

    コンピュータで DynamoDB を実行するには、Java ランタイム環境 (JRE) 6.x 以降のバージョンが必要です。アプリケーションは、以前のバージョンの JRE では動作しません。

  2. アーカイブをダウンロードしたら、内容を抽出し、抽出されたディレクトリを任意の場所にコピーします。

  3. コンピュータで DynamoDB を開始するには、コマンドプロンプトウィンドウを開き、DynamoDBLocal.jar を抽出したディレクトリに移動し、次のコマンドを入力します。

    java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
    注記

    Windows PowerShell を使用している場合は、パラメータ名または名前全体と値を次のように囲んでください。

    java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar

    DynamoDB は、停止するまで受信リクエストを処理します。DynamoDB を停止するには、コマンドプロンプトで Ctrl+C を押します。

    DynamoDB は、デフォルトではポート 8000 を使用します。ポート 8000 を使用できない場合、このコマンドにより例外がスローされます。DynamoDB ランタイムオプション (-port を含む) の詳細なリストを表示するには、次のコマンドを入力します。

    java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -help

  4. プログラムまたは AWS Command Line Interface (AWS CLI) を介して DynamoDB にアクセスする前に、アプリケーションで認証が有効になるように認証情報を設定する必要があります。以下の例に示されているように、ダウンロード可能な DynamoDB には、認証情報が必要です。

    AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey"

    aws configure の AWS CLI コマンドを使用して、認証情報を設定できます。詳細については、「」を参照してくださいAWS CLI の使用

  5. アプリケーションの書き込みを開始します。AWS CLI を使用してローカルで実行中の DynamoDB にアクセスするには、--endpoint-url パラメータを使用します。たとえば、次のコマンドを使用して、DynamoDB テーブルを一覧表示します。

    aws dynamodb list-tables --endpoint-url http://localhost:8000
Docker

Amazon DynamoDB のダウンロード可能バージョンは、Docker イメージとして入手できます。詳細については、「dynamodb-local」を参照してください。

AWS Serverless Application Model (AWS SAM) に構築された REST アプリケーションの一部として DynamoDB ローカルを使用する例については、「オーダーを管理するための SAM DynamoDB アプリケーション」を参照してください。このサンプルアプリケーションは、DynamoDB ローカルをテストで使用する方法について説明します。

DynamoDB Local のコンテナも使用するマルチコンテナアプリケーションを実行する場合は、Docker Compose を使用して、DynamoDB ローカルを含むアプリケーション内のすべてのサービスを定義して実行します。

Docker Compose を使用して DynamoDB Local をインストールして実行するには、
  1. Docker Desktop をダウンロードしてインストールします。

  2. 以下のコードをファイルにコピーし、docker-compose.yml として保存します。

    version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal

    アプリケーションと DynamoDB Local を別々のコンテナにしたい場合は、次の yaml ファイルを使用します。

    version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal app-node: depends_on: - dynamodb-local image: amazon/aws-cli container_name: app-node ports: - "8080:8080" environment: AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE' AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY' command: dynamodb describe-limits --endpoint-url http://dynamodb-local:8000 --region us-west-2

    この docker-compose.yml スクリプトは、app-node コンテナと dynamodb-local コンテナを作成します。スクリプトは、AWS CLI を使用して app-node コンテナに接続し、アカウントとテーブルの制限を記述するコマンドを dynamodb-local コンテナで実行します。

    独自のアプリケーションイメージで使用するには、以下の例の image 値をアプリケーションの値に置き換えます。

    version: '3.8' services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data" image: "amazon/dynamodb-local:latest" container_name: dynamodb-local ports: - "8000:8000" volumes: - "./docker/dynamodb:/home/dynamodblocal/data" working_dir: /home/dynamodblocal app-node: image: location-of-your-dynamodb-demo-app:latest container_name: app-node ports: - "8080:8080" depends_on: - "dynamodb-local" links: - "dynamodb-local" environment: AWS_ACCESS_KEY_ID: 'DUMMYIDEXAMPLE' AWS_SECRET_ACCESS_KEY: 'DUMMYEXAMPLEKEY' REGION: 'eu-west-1'
    注記

    YAML スクリプトでは、AWS アクセスキーと AWS シークレットキーを指定する必要がありますが、DynamoDB Local にアクセスするための有効な AWS キーである必要はありません。

  3. 次のコマンドラインのコマンドを実行します。

    docker-compose up
Apache Maven

Amazon DynamoDB をアプリケーション内で依存関係として使用するには、これらのステップに従います。

DynamoDB を Apache Maven リポジトリとしてデプロイするには
  1. Apache Maven をダウンロードし、インストールします。詳細については、「Apache Maven のダウンロード」および「Apache Maven のインストール」を参照してください。

  2. DynamoDB の Maven リポジトリをアプリケーションのプロジェクトオブジェクトモデル (POM) ファイルに追加します。

    <!--Dependency:--> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>DynamoDBLocal</artifactId> <version>[1.12,2.0)</version> </dependency> </dependencies> <!--Custom repository:--> <repositories> <repository> <id>dynamodb-local-oregon</id> <name>DynamoDB Local Release Repository</name> <url>https://s3-us-west-2.amazonaws.com/dynamodb-local/release</url> </repository> </repositories>
    注記

    また、AWS リージョンに応じて、次のいずれかのリポジトリ URL を使用することもできます。

    id リポジトリの URL

    dynamodb-local-mumbai

    https://s3.ap-south-1.amazonaws.com/dynamodb-local-mumbai/release

    dynamodb-local-singapore

    https://s3.ap-southeast-1.amazonaws.com/dynamodb-local-singapore/release

    dynamodb-local-tokyo

    https://s3.ap-northeast-1.amazonaws.com/dynamodb-local-tokyo/release

    dynamodb-local-frankfurt

    https://s3.eu-central-1.amazonaws.com/dynamodb-local-frankfurt/release

    dynamodb-local-sao-paulo

    https://s3.sa-east-1.amazonaws.com/dynamodb-local-sao-paulo/release