

# DynamoDB にアクセスする
<a name="AccessingDynamoDB"></a>

 Amazon DynamoDB には、AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、または DynamoDB API を使用してアクセスできます。

**Topics**
+ [コンソールを使用する](#ConsoleDynamoDB)
+ [の使用AWS CLI](#Tools.CLI)
+ [API の使用](#Using.API)
+ [DynamoDB 用の NoSQL Workbench の使用](#Using.Workbench)
+ [IP アドレスの範囲](#Using.IPRanges)
+ [インターネットプロトコルバージョン 6 (IPv6) のデュアルスタックエンドポイント](#dual-stackipv4-6)

## コンソールを使用する
<a name="ConsoleDynamoDB"></a>

Amazon DynamoDB の AWS マネジメントコンソール、[https://console.aws.amazon.com/dynamodb/home](https://console.aws.amazon.com/dynamodb/home) からアクセスできます。

DynamoDB コンソールで実行できるアクションの一部を以下に示します。
+ **テーブルの管理**: テーブルを作成、更新、削除する。キャパシティ計算ツールは、キャパシティ要件の見積もりに役立ちます。
+ **データの操作**: テーブル内の項目を表示、追加、更新、削除する。Time to Live (TTL) 設定を管理する。
+ **モニタリングと分析**: ダッシュボードの表示、アラームのモニタリングと設定、DynamoDB テーブルのメトリクスとアラートの分析を行う。
+ **最適化と拡張**: セカンダリインデックス、ストリーム、トリガー、リザーブドキャパシティ、その他の高度な機能を管理し、DynamoDB の使用を強化する。

DynamoDB コンソールは、DynamoDB リソースを管理するための包括的なインターフェイスを提供します。詳細については、コンソールにアクセスして操作することをお勧めします。

## の使用AWS CLI
<a name="Tools.CLI"></a>

 AWS Command Line Interface (AWS CLI) を使用すると、複数の AWS のサービスをコマンドラインから制御したり、スクリプトで自動化したりできます。テーブルの作成など、その場限りのオペレーションに AWS CLI を使用できます。また、ユーティリティスクリプト内に Amazon DynamoDB オペレーションを埋め込むときにも使用できます。

 DynamoDB で AWS CLI を使用するには、事前にアクセスキー ID とシークレットアクセスキーを取得する必要があります。詳細については、「[プログラムによるアクセス権を付与する](SettingUp.DynamoWebService.md#SettingUp.DynamoWebService.GetCredentials)」を参照してください。

AWS CLI で DynamoDB 向けに使用できるすべてのコマンドの完全な一覧については、「[AWS CLI コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/index.html)」を参照してください。

**Topics**

### AWS CLI のダウンロードと設定
<a name="Tools.CLI.DownloadingAndRunning"></a>

AWS CLI は、[http://aws.amazon.com/cli](https://aws.amazon.com/cli) で入手できます。Windows、macOS、または Linux 上で実行できます。AWS CLI をダウンロードしたら、以下の手順に従って、インストールと設定を行います。

1. [AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)に移動します。

1. [AWS CLI のインストール](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)、[AWS CLI の設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)の手順に従います。

### DynamoDB での AWS CLI の使用
<a name="Tools.CLI.UsingWithDDB"></a>

コマンドラインの形式は、DynamoDB オペレーション名と、それに続くそのオペレーションのパラメータで構成されます。AWS CLI では、パラメータ値の短縮構文および JSON をサポートしています。

例えば、次のコマンドでは、*Music* という名前のテーブルを作成します。パーティションキーは *Artist* で、ソートキーは *SongTitle* です。(読みやすくするために、このセクションの長いコマンドは、複数の行に分かれています)。

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode PAY_PER_REQUEST \
    --table-class STANDARD
```

次のコマンドでは、新しい項目をテーブルに追加します。この例では、短縮構文と JSON を組み合わせて使用しています。

```
aws dynamodb put-item \
    --table-name Music \
    --item \
        '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"}}' \
    --return-consumed-capacity TOTAL

aws dynamodb put-item \
    --table-name Music \
    --item '{
        "Artist": {"S": "Acme Band"},
        "SongTitle": {"S": "Happy Day"},
        "AlbumTitle": {"S": "Songs About Life"} }' \
    --return-consumed-capacity TOTAL
```

コマンドラインで、有効な JSON を作成するのは難しい場合があります。ただし、AWS CLI で JSON ファイルを読み込むことができます。例えば、*key-conditions.json* という名前のファイルに格納されている次の JSON コードスニペットがあるとします。

```
{
    "Artist": {
        "AttributeValueList": [
            {
                "S": "No One You Know"
            }
        ],
        "ComparisonOperator": "EQ"
    },
    "SongTitle": {
        "AttributeValueList": [
            {
                "S": "Call Me Today"
            }
        ],
        "ComparisonOperator": "EQ"
    }
}
```

次のように、`Query` を使用して、AWS CLI リクエストを発行できます。この例では、*key-conditions.json* ファイルの内容は、`--key-conditions` パラメータに使用されます。

```
aws dynamodb query --table-name Music --key-conditions file://key-conditions.json
```

### DynamoDB Local での AWS CLI の使用
<a name="Tools.CLI.UsingWithDDBLocal"></a>

AWS CLI を使用して、コンピュータで実行されている DynamoDB Local (ダウンロード可能なバージョン) を操作することもできます。これを有効にするには、各コマンドに次のパラメータを追加します。

`--endpoint-url http://localhost:8000`

次の例では、AWS CLI を使用して、ローカルデータベースのテーブルを一覧表示します。

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

DynamoDB がデフォルト (8000) 以外のポート番号を使用している場合は、それに応じて `--endpoint-url` 値を変更する必要があります。

**注記**  
AWS CLI では、DynamoDB Local (ダウンロード可能なバージョン) をデフォルトのエンドポイントとして使用することはできません。そのため、各コマンドで `--endpoint-url` を指定する必要があります。

## API の使用
<a name="Using.API"></a>

 AWS マネジメントコンソール と AWS Command Line Interface を使用して、Amazon DynamoDB とインタラクティブに作業できます。ただし、DynamoDB を最大限に活用するためには、AWS SDK を使用してアプリケーションコードを記述できます。

AWS SDK は、DynamoDB の広範なサポート ([Java](https://aws.amazon.com/sdk-for-java)、[ブラウザの JavaScript](https://aws.amazon.com/sdk-for-browser)、[.NET](https://aws.amazon.com/sdk-for-net)、[Node.js](https://aws.amazon.com/sdk-for-node-js)、[PHP](https://aws.amazon.com/sdk-for-php)、[Python](https://aws.amazon.com/sdk-for-python)、[Ruby](https://aws.amazon.com/sdk-for-ruby)、[C\$1\$1](https://aws.amazon.com/sdk-for-cpp)、[Go](https://aws.amazon.com/sdk-for-go)、[Android](https://aws.amazon.com/mobile/sdk/)、[iOS](https://aws.amazon.com/mobile/sdk/)) を提供します。

DynamoDB を使用して AWS を使用するには、AWS アクセスキー ID とシークレットアクセスキーを取得する必要があります。詳細については、「[DynamoDB (ウェブサービス) の設定](SettingUp.DynamoWebService.md)」を参照してください。

 AWS SDK を使用した DynamoDB アプリケーションのプログラミングに関する概要については、「[DynamoDB と AWS SDK を使用したプログラミング](Programming.md)」を参照してください。

## DynamoDB 用の NoSQL Workbench の使用
<a name="Using.Workbench"></a>

また、DynamoDB には、[DynamoDB 用の NoSQL Workbench](workbench.md) をダウンロードして使用することによってアクセスできます。

Amazon DynamoDB 用の NoSQL Workbench は、最新のデータベース開発および運用向けのクロスプラットフォームのクライアント側 GUI アプリケーションです。Windows、macOS、Linux で使用できます。NoSQL Workbench は、DynamoDB テーブルの設計、作成、クエリ、管理に役立つデータモデリング、データ可視化、クエリ開発といった特徴を提供する視覚的開発ツールです。NoSQL Workbench に、インストールプロセスのオプションとして DynamoDB local が含まれるようになったため、DynamoDB local でデータを簡単にモデル化できます。DynamoDB local とその要件の詳細については、「[DynamoDB local (ダウンロード可能バージョン) のセットアップ](DynamoDBLocal.md)」を参照してください。

**注記**  
NoSQL Workbench for DynamoDB は、現在、2 要素認証 (2FA) で構成されている AWS ログインをサポートしていません。

**データモデリング**  
DynamoDB 用の NoSQL Workbench を使用すると、アプリケーションのデータアクセスパターンを満たす既存のデータモデルから新しいデータモデルを構築したり、既存のデータモデルに基づいてモデルを設計したりできます。プロセスの最後に、設計されたデータモデルをインポートおよびエクスポートすることもできます。詳細については、「[NoSQL Workbench を使用したデータモデルの構築](workbench.Modeler.md)」を参照してください。

**オペレーション構築**  
NoSQL Workbench は、クエリを開発およびテストするための豊富なグラフィカルユーザーインターフェイスを提供します。*オペレーションビルダー*を使用して、データセットを表示、探索、およびクエリできます。構造化オペレーションビルダーを使用して、データプレーンオペレーションを構築および実行することもできます。プロジェクションと条件式をサポートし、複数の言語でサンプルコードを生成できます。詳細については、「[NoSQL Workbench を使用したデータセットの探索とオペレーションの構築](workbench.querybuilder.md)」を参照してください。

## IP アドレスの範囲
<a name="Using.IPRanges"></a>

Amazon Web Services (AWS) は、その現在の IP アドレス範囲を JSON 形式で公開します。現在の範囲を表示するには、「[ip-ranges.json](https://ip-ranges.amazonaws.com/ip-ranges.json)」ファイルをダウンロードします。詳細については、AWS 全般のリファレンス の [AWS IP アドレスの範囲](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)をご参照ください。

[DynamoDB テーブルおよびインデックスへのアクセス](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations_Amazon_DynamoDB.html)に使用できる IP アドレス範囲を見つけるには、ip-ranges.json で文字列 `"service": "DYNAMODB"` を検索します。

**注記**  
この IP アドレス範囲は、DynamoDB Streams および DynamoDB Accelerator (DAX) には適用されません。

## インターネットプロトコルバージョン 6 (IPv6) のデュアルスタックエンドポイント
<a name="dual-stackipv4-6"></a>

DynamoDB は、IPv4 と IPv6 の両方と互換性のあるデュアルスタックエンドポイントを提供します。エンドポイントの命名規則は次のとおりです。
+ `dynamodb.<region>.api.aws`
+ `<account-id>.ddb.<region>.api.aws`
+ `streams-dynamodb.<region>.api.aws`
+ `dax.<region>.api.aws`
+ `dynamodb-fips.<region>.api.aws`

DynamoDB エンドポイントとリージョンの可用性の完全なリストについては、「*AWS 全般のリファレンスガイド*」の「[Amazon DynamoDB エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/ddb.html)」のトピックを参照してください。

デュアルスタックエンドポイントを使用するように AWS CLI を設定する方法の詳細については、「*AWS コマンドラインインターフェイスガイド*」の「[すべての AWS のサービスでデュアルスタックのエンドポイントを使用するように設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-endpoints.html#endpoints-dual-stack)」のセクションを参照してください。

デュアルスタックエンドポイントを使用するように SDK クライアントを設定する方法の詳細については、「*AWS SDK とツールガイド*」の「[デュアルスタックと FIPS エンドポイント](https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html)」のトピックを参照してください。

IPv6 で DynamoDB を使用する前に、IPv6 アドレスの範囲を含めるために IP アドレスフィルタリングに使用する IAM ユーザーロールまたはリソースベースのポリシーを更新する必要があります。IPv6 アドレスを考慮しない IP アドレスフィルタリングポリシーは、アクセスの問題を引き起こす可能性があります。詳細については、「*AWS Identity and Access Management ガイド*」の「[IP アドレス条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress)」のセクションを参照してください。