

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon DocumentDB エラスティッククラスターの開始方法
<a name="elastic-get-started"></a>

このセクションでは、初めてのエラスティッククラスターを作成してクエリする方法を順を追って説明します。

Amazon DocumentDB に接続して開始する方法は複数あります。以下の手順は、ユーザーが私たちの強力なドキュメントデータベースの使用を開始するための最も迅速、シンプルかつ簡単な方法です。このガイドでは、[AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) を使用して、 AWS マネジメントコンソールから直接 Amazon DocumentDB クラスターに接続してクエリを実行します。 AWS 無料利用枠の対象となる新規のお客様は、Amazon DocumentDB と CloudShell を無料で使用できます。 AWS CloudShell 環境または Amazon DocumentDB エラスティッククラスターが無料利用枠を超えるリソースを使用する場合、それらのリソースの通常の AWS 料金が課金されます。このガイドでは、5 分以内に Amazon DocumentDB の使用を開始します。

**Topics**
+ [前提条件](#elastic-clusters-prerequisites)
+ [ステップ 1: エラスティッククラスターを作成する](#elastic-get-started-clusters)
+ [ステップ 2: エラスティッククラスターに接続する](#ec-gs-connect)
+ [ステップ 3: コレクションをシャーディングし、データを挿入してクエリする](#elastic-get-started-shard)
+ [ステップ 4: 探索する](#ec-gs-congrats)

## 前提条件
<a name="elastic-clusters-prerequisites"></a>

最初の Amazon DocumentDB クラスターを作成する前に、以下の操作を行う必要があります。

**Amazon Web Services (AWS) アカウントを作成する**  
Amazon DocumentDB を使用する前に、Amazon Web Services (AWS) アカウントを持っている必要があります。 AWS アカウントは無料です。使用しているサービスとリソースに対してのみ料金をお支払いいただきます。  
がない場合は AWS アカウント、次の手順を実行して作成します。  

**にサインアップするには AWS アカウント**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   にサインアップすると AWS アカウント、 *AWS アカウントのルートユーザー* が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)の実行にはルートユーザーのみを使用するようにしてください。

**必要な AWS Identity and Access Management (IAM) アクセス許可を設定します。**  
クラスター、インスタンス、クラスターパラメータグループなどの Amazon DocumentDB リソースを管理するには、 がリクエストの認証 AWS に使用できる認証情報が必要です。詳細については、「[Amazon DocumentDB の Identity and Access Management](security-iam.md)」を参照してください。  

1. の検索バーで AWS マネジメントコンソール、IAM と入力し、ドロップダウンメニューで **IAM** を選択します。

1. IAM コンソールにアクセスしたら、ナビゲーションペインから [**ユーザー**] を選択します。

1. ユーザーネームを選択します。

1. **[Add permissions]** (アクセス許可の追加) をクリックします。

1. **[ポリシーを直接アタッチする]** を選択します。

1. 検索バーに `AmazonDocDBElasticFullAccess` と入力し、検索結果に表示されたら、それを選択します。

1. **[次へ]** をクリックします。

1. **[Add permissions]** (アクセス許可の追加) をクリックします。

****  
 AWS アカウントには、各リージョンにデフォルトの VPC が含まれています。Amazon VPC を使用することを選択した場合は、「[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)」の「*Amazon VPC を作成する*」トピックの手順を完了します。

## ステップ 1: エラスティッククラスターを作成する
<a name="elastic-get-started-clusters"></a>

このセクションでは、 AWS マネジメントコンソール または を使用して、以下の手順 AWS CLI で新しい Elastic クラスターを作成する方法について説明します。

------
#### [ Using the AWS マネジメントコンソール ]

 AWS マネジメントコンソールを使用して エラスティッククラスター設定を作成するには、以下の手順に従います。

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) で Amazon DocumentDB コンソールを開きます。

1. **Amazon DocumentDB マネジメントコンソール**の **[クラスター]** で **[作成]** を選択します。  
![\[開始点としてクラスターがないことを示すエラスティッククラスターテーブル。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-start.png)

1. **[Amazon DocumentDB クラスターの作成]** ページの **[クラスタータイプ]** セクションで、**[エラスティッククラスター]** を選択します。  
![\[インスタンスベースのクラスターとエラスティッククラスターの選択を表示するエラスティッククラスタータイプのダイアログ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-type.png)

1. **[設定]** セクションで、次を実行します:

   1. **クラスター名** フィールドに、一意のクラスター識別子を入力します (フィールドの下の命名要件に従います)。

   1. **[シャード数]** フィールドに、クラスターに必要なシャードの数を入力します。クラスターあたりのシャードの最大数は 32 です。
**注記**  
シャードごとに 2 つのノードが展開されます。両方のノードのシャード容量は同じになります。

   1. **[シャードインスタンス数]** フィールドで、各シャードに関連付けるレプリカインスタンスの数を選択します。シャードインスタンスの最大数は 16 で、1 刻みで設定できます。すべてのレプリカインスタンスのシャード容量は、次のフィールドで定義するものと同じになります。テスト目的では、デフォルト値の 2 で十分です。
**注記**  
レプリカインスタンスの数は、Elastic クラスター内のすべてのシャードに適用されます。シャードインスタンス数の値が 1 の場合、ライターインスタンスが 1 つあり、それ以外の追加のインスタンスはすべてレプリカで、読み取りや可用性の向上に使用できます。テスト目的では、デフォルト値の 2 で十分です。

   1. **[シャード容量]** フィールドで、各シャードインスタンスに関連付ける仮想 CPU (vCPU) の数を選択します。1 シャードインスタンスあたりの vCPU の最大数は 64 です。使用できる値は、2、4、8、16、32、64 です。テスト目的では、デフォルト値の 2 で十分です。

   1. **[仮想プライベートクラウド (VPC)]** フィールドのドロップダウンリストから VPC を選択します。

   1. **[サブネット]** と **[VPC セキュリティグループ]** では、デフォルトを使用するか、選択した 3 つのサブネットと最大 3 つの **VPC セキュリティグループ** (最低 1 つ) を選択できます。  
![\[設定可能なフィールドを表示するエラスティッククラスター設定ダイアログ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-configuration.png)

1. **[認証]** セクションの **[ユーザー名]** フィールドで、プライマリユーザーのログイン名を示す文字列を入力します。

   **[パスワード]** フィールドに、指示に従った一意のパスワードを入力して確認します。  
![\[[ユーザー名] と [パスワード] の入力フィールドを含む [認証] セクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-authentication.png)

1. **[暗号化]** セクションは、デフォルト設定 (**デフォルトキー**) をそのまま使用します。

   必要に応じて、作成した AWS KMS key ARN を入力できます。詳細については、「[Amazon DocumentDB エラスティッククラスターで保管中のデータ暗号化](elastic-encryption.md)」を参照してください。
**重要**  
エラスティッククラスターでは暗号化を有効にする必要があります。

1. **[バックアップ]** セクションで、該当するバックアップ要件に従ってフィールドを編集します。テスト目的で、デフォルト設定を保持できます。  
![\[クラスターバックアップウィンドウを設定するステップを示すバックアップダイアログのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-backup.png)

   1. [**バックアップ保持期間**] - リストで、このクラスターの自動バックアップを削除するまで保持する日数を選択します。

   1. **[バックアップウィンドウ]** - Amazon DocumentDB によってこのクラスターのバックアップが作成される毎日の時刻と期間を設定します。

      1. バックアップの作成タイミングと期間を設定したい場合は、**[ウィンドウを選択]** を選択します。

         [**開始時刻**] - 最初のリストで、自動バックアップを開始する時間 (UTC 時) を選択します。2 番目のリストで、自動バックアップを開始する時間 (UTC 分) を選択します。

         [**期間**] - リストで、自動バックアップの作成に割り当てる時間を選択します。

      1. Amazon DocumentDB 動作に従ってバックアップの作成タイミングや期間を自動選択する場合は、**[設定なし]** を選択します。

1. **[メンテナンス]** セクションで、クラスターに変更やパッチを適用する日と時間、期間を選択します。テスト目的で、デフォルト設定を保持できます。  
![\[メンテナンスウィンドウオプションを示す [メンテナンス] セクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-maintenance.png)

1. **[クラスターを作成]** を選択します。

エラスティッククラスターは現在プロビジョニング中です。このプロセスには数分かかることがあります。**[クラスター]** リストに エラスティッククラスターのステータスが **使用可能** と表示されている場合は、クラスターに接続できます。

------
#### [ Using the AWS CLI ]

を使用して Elastic クラスターを作成するには AWS CLI、以下のパラメータを指定して `create-cluster`オペレーションを使用します。
+ **--cluster-name** — 必須 作成時に入力した、または最終変更時のエラスティックスケールクラスターの現在の名前。
+ **--shard-capacity** — 必須 各シャードに割り当てられた vCPU の数。最大数は 64 です。使用できる値は、2、4、8、16、32、64 です。
+ **--shard-count** — 必須 クラスターに割り当てられたシャードの数。最大数は 32 です。
+ **--shard-instance-count** - オプションです。このクラスター内のすべてのシャードに適用されるレプリカインスタンスの数。最大数は 16 です。
+ **--admin-user-name** — 必須 管理者ユーザーに関連付けられているユーザー名。
+ **--admin-user-password** — 必須 管理者ユーザーに関連付けられているパスワード。
+ **--auth-type** — 必須 エラスティッククラスターへのアクセスに使用するパスワードの取得先の特定に使用している認証タイプ。有効なタイプは、`PLAIN_TEXT` または `SECRET_ARN` です。
+ **--vpc-security-group-ids** - オプションです。このクラスターに関連付ける EC2 VPC セキュリティグループのリストを設定します。
+ **--preferred-maintenance-window** - オプションです。週 1 回のシステムメンテナンスを実行できる時間帯 (世界標準時 (UTC)) を設定します。

  形式は `ddd:hh24:mi-ddd:hh24:mi` です。有効な曜日 (ddd): 月、火、水、木、金、土、日

  デフォルトは、1 週間のうちのランダムな日に起こる、Amazon Web Services リージョンあたり 8 時間の範囲からランダムに選択された 30 分のウィンドウです。

  最小 30 分のウィンドウ。
+ **--kms-key-id** - オプションです。暗号化されたクラスターの KMS キー識別子を設定します。

  KMS キー識別子は、 AWS KMS 暗号化キーの Amazon リソースネーム (ARN) です。新しいクラスターの暗号化に使用する KMS 暗号化キーを所有する Amazon Web Services アカウントと同じアカウントを使用してクラスターを作成する場合、KMS 暗号化キーの ARN の代わりに KMS キーエイリアスを使用できます。

  KmsKeyId で暗号化キーが指定がなく、かつ `StorageEncrypted` パラメータが true の場合、Amazon DocumentDB はデフォルトの暗号化キーを使用します。
+ **--preferred-backup-window** - オプションです。毎日自動バックアップを作成する希望の時間帯。デフォルトは、それぞれ 8 時間の時間ブロックからランダムに選択された 30 分のウィンドウです AWS リージョン。
+ **--backup-retention-period** - オプション。自動バックアップを保管する日数。デフォルト値は 1 です。
+ **--storage-encrypted** - オプションです。クラスターが暗号化されているかどうかを設定します。

  `--no-storage-encrypted` はクラスターが暗号化されていない指定です。
+ **--subnet-ids** - オプションです。ネットワークのサブネット ID を設定します。

次の例では、各 *ユーザー入力プレースホルダー* を独自の情報に置き換えます。

**注記**  
以下の例には、特定の KMS キーの作成例が含まれています。デフォルトの KMS キーを使用するには、`--kms-key-id` パラメータを含めないでください。

Linux、macOS、Unix の場合:

```
aws docdb-elastic create-cluster \
     --cluster-name sample-cluster-123 \
     --shard-capacity 8 \
     --shard-count 4 \
     --shard-instance-count 3 \
     --auth-type PLAIN_TEXT \
     --admin-user-name testadmin \
     --admin-user-password testPassword \
     --vpc-security-group-ids ec-65f40350 \
     --kms-key-id arn:aws:docdb-elastic:us-east-1:477568257630:cluster/b9f1d489-6c3e-4764-bb42-da62ceb7bda2 \
     --subnet-ids subnet-9253c6a3, subnet-9f1b5af9 \
     --preferred-backup-window 18:00-18:30 \ 
     --backup-retention-period 7
```

Windows の場合:

```
aws docdb-elastic create-cluster ^
     --cluster-name sample-cluster-123 ^
     --shard-capacity 8 ^
     --shard-count 4 ^
     --shard-instance-count 3 ^
     --auth-type PLAIN_TEXT ^
     --admin-user-name testadmin ^
     --admin-user-password testPassword ^
     --vpc-security-group-ids ec-65f40350 ^
     --kms-key-id arn:aws:docdb-elastic:us-east-1:477568257630:cluster/b9f1d489-6c3e-4764-bb42-da62ceb7bda2 ^
     --subnet-ids subnet-9253c6a3, subnet-9f1b5af9 \
     --preferred-backup-window 18:00-18:30 \ 
     --backup-retention-period 7
```

------

## ステップ 2: エラスティッククラスターに接続する
<a name="ec-gs-connect"></a>

を使用して Amazon DocumentDB エラスティッククラスターに接続します AWS CloudShell。

1. Amazon DocumentDB マネジメントコンソールの **[クラスター]** で、作成したエラスティッククラスターを探します。クラスターの横にあるチェックボックスをクリックして選択します。  
![\[エラスティッククラスターを示す [Amazon DocumentDB クラスター管理] インターフェイス\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-cluster-new.png)

1. **[クラスターに接続]** をクリックします(**[アクション]** ドロップダウンメニューの横にある)。このボタンは、クラスターの横にあるチェックボックスをクリックし、クラスターのステータスが **使用可能** と表示された後にのみ有効になります。CloudShell の **[Run コマンド]** 画面が表示されます。

1. **[新しい環境の名前]** フィールドに、「test」などの一意の名前を入力し、**[作成して実行する]** をクリックします。VPC 環境の詳細は、Amazon DocumentDB データベースに自動的に設定されます。  
![\[新しい環境名をリクエストするエラスティッククラスター CloudShell Run コマンド画面\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-run-command.png)

1. プロンプトが表示されたら、ステップ 1: Amazon DocumentDB エラスティッククラスターを作成する (サブステップ 5) で作成したパスワードを入力します。  
![\[ユーザーパスワードをリクエストするエラスティッククラスター CloudShell 画面\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/ec-gs-cs-password.png)

   パスワードを入力して、プロンプトが `direct: mongos] <env-name>>` に変わったら、Amazon DocumentDB クラスターに正常に接続できています

**注記**  
トラブルシューティングについては、「[Amazon DocumentDB のトラブルシューティング](https://docs.aws.amazon.com/documentdb/latest/developerguide/troubleshooting.html)」を参照してください。

## ステップ 3: コレクションをシャーディングし、データを挿入してクエリする
<a name="elastic-get-started-shard"></a>

エラスティッククラスターでは Amazon DocumentDB でのシャーディングのサポートが追加されています。クラスターに接続できたので、クラスターをシャーディングし、データを挿入して、クエリを実行できます。

1. コレクションをシャーディングするには、次のように入力します。

   ```
   sh.shardCollection("db.Employee1" , { "Employeeid" : "hashed" })
   ```

1. 1 つのドキュメントを挿入するには、次のように入力します。

   ```
   db.Employee1.insertOne({"Employeeid":1, "Name":"Joe", "LastName": "Bruin", "level": 1 })
   ```

   以下のような出力が表示されます。

   ```
   WriteResult({ "nInserted" : 1 })
   ```

1. `findOne()` コマンドで書き込んだドキュメントを読み取るには、 コマンドを入力します (コマンドから一つのドキュメントが返される)。

   ```
   db.Employee1.findOne()
   ```

   以下のような出力が表示されます。

   ```
   {
   "_id" : ObjectId("61f344e0594fe1a1685a8151"),
   "EmployeeID" : 1,
   "Name" : "Joe",
   "LastName" : "Bruin",
   "level" : 1
   }
   ```

1. さらにクエリを実行するには、ゲームプロファイルのユースケースを検討してみてください。最初に、「Employee」というタイトルのコレクションにエントリをいくつか挿入します。次のように入力します。

   ```
   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 }
   ])
   ```

   以下のような出力が表示されます。

   ```
   { acknowledged: true, 
        insertedIds: { 
           '0': ObjectId('679d02cd6b5a0581be78bcbd'),
           '1': ObjectId('679d02cd6b5a0581be78bcbe'),
           '2': ObjectId('679d02cd6b5a0581be78bcbf'),
           '3': ObjectId('679d02cd6b5a0581be78bcc0')
       }
   }
   ```

1. プロファイルコレクション内のすべてのドキュメントを取得するには、`find`() コマンドを使用します。

   ```
   db.Employee.find()
   ```

   ステップ 4 で入力したデータが表示されます。

1. 1 つのドキュメントに対してクエリを発行するには、フィルター (「Katie」など) を含めます。次のように入力します。

   ```
   db.Employee.find({name: "Katie"})
   ```

    以下のような出力が表示されます。

   ```
   [ 
      { 
        _id: ObjectId('679d02cd6b5a0581be78bcc0'), 
        Employeeid: 4, 
        name: 'Katie', 
        lastname: 'Schaper', 
        level: 3 
      } 
   ]
   ```

1. プロファイルを見つけて変更するには、`findAndModify` コマンドを入力します。この例では、従業員「Matt」にはより高いレベル「14」が割り当てられています。

   ```
   db.Employee.findAndModify({     
       query: { "Employeeid" : 1, "name" : "Matt"},     
       update: { "Employeeid" : 1, "name" : "Matt", "lastname" : "Winkle", "level" : 14 } 
   })
   ```

   以下のような出力が表示されます (レベルはまだ変更されていないことに注意してください)。

   ```
   { 
      _id: ObjectId('679d02cd6b5a0581be78bcbd'), 
      Employeeid: 1, 
      name: 'Matt', 
      lastname: 'Winkle', 
      level: 12 
   }
   ```

1. レベルが上がったことを確認するには、次のクエリを入力します。

   ```
   db.Employee.find({name: "Matt"})
   ```

   以下のような出力が表示されます。

   ```
   [
      { 
      _id: ObjectId('679d02cd6b5a0581be78bcbd'), 
      Employeeid: 1, 
      name: 'Matt', 
      lastname: 'Winkle', 
      level: 14 
      }
   ]
   ```

## ステップ 4: 探索する
<a name="ec-gs-congrats"></a>

お疲れ様でした。Amazon DocumentDB エラスティッククラスターの開始手順が正常に完了しました。

次のステップ このデータベースを一般的な機能の一部を使用して、完全に活用する方法を学びましょう。
+  [Amazon DocumentDB のエラスティッククラスターのベストプラクティス](elastic-best-practices.md) 
+  [Amazon DocumentDB エラスティッククラスターの管理](elastic-managing.md) 

**注記**  
この開始手順で作成したエラスティッククラスターは、削除しない限り、引き続きコストを計上します。手順については、「[Elastic クラスターの削除](elastic-managing.md#elastic-delete)」を参照してください。