コンピュータ上で DynamoDB をローカルでデプロイする
- Download locally
-
DynamoDB ローカルは
.jar
実行ファイルとして提供されます。アプリケーションは、Windows、Linux、macOS、および Java をサポートする他のプラットフォームで動作します。これらのステップに従って DynamoDB をコンピュータにセットアップして実行します。
注記 M1 以降の Apple プロセッサで使用するには、DynamoDB ローカル v1.20 以降が必要です。
コンピュータに DynamoDB をセットアップするには
DynamoDB は、次のいずれかの場所から無料でダウンロードできます。
リージョン ダウンロードリンク チェックサム Asia Pacific (Mumbai) Region
Asia Pacific (Singapore) Region
Asia Pacific (Tokyo) Region
Europe (Frankfurt) Region
South America (São Paulo) Region
米国西部 (オレゴン) リージョン
DynamoDB は、AWS Toolkit for Eclipse の一部としても利用できます。詳細については、「AWS Toolkit for Eclipse
」を参照してください。 重要 コンピュータで DynamoDB を実行するには、Java ランタイム環境 (JRE) 6.x 以降のバージョンが必要です。アプリケーションは、以前のバージョンの JRE では動作しません。
-
アーカイブをダウンロードしたら、内容を抽出し、抽出されたディレクトリを任意の場所にコピーします。
コンピュータで 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
-
プログラムまたは AWS Command Line Interface (AWS CLI) を介して DynamoDB にアクセスする前に、アプリケーションで認証が有効になるように認証情報を設定する必要があります。以下の例に示されているように、ダウンロード可能な DynamoDB には、認証情報が必要です。
AWS Access Key ID: "fakeMyKeyId" AWS Secret Access Key: "fakeSecretAccessKey"
aws configure
の AWS CLI コマンドを使用して、認証情報を設定できます。詳細については、「」を参照してくださいAWS CLI の使用 -
アプリケーションの書き込みを開始します。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 をインストールして実行するには、
-
Docker Desktop
をダウンロードしてインストールします。 -
以下のコードをファイルにコピーし、
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 キーである必要はありません。
-
次のコマンドラインのコマンドを実行します。
docker-compose up
-
- Apache Maven
-
Amazon DynamoDB をアプリケーション内で依存関係として使用するには、これらのステップに従います。
DynamoDB を Apache Maven リポジトリとしてデプロイするには
-
Apache Maven をダウンロードし、インストールします。詳細については、「Apache Maven のダウンロード
」および「Apache Maven のインストール 」を参照してください。 -
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
-