Amazon DocumentDB 運用タスクの概要 - Amazon DocumentDB

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

Amazon DocumentDB 運用タスクの概要

このセクションでは、Amazon DocumentDB クラスターの運用タスクと、 を使用してこれらのタスクを実行する方法について説明します AWS CLI。

Amazon DocumentDB クラスターへのレプリカの追加

Amazon DocumentDB クラスターのプライマリインスタンスを作成した後、1 つまたは複数の レプリカ を追加することができます。レプリカは、2 つの目的に対応する読み取り専用インスタンスです。

  • スケーラビリティ - 同時アクセスを必要とするクライアントが多数ある場合は、レプリカを追加して読み取りをスケーリングできます。

  • 高可用性 - プライマリインスタンスに障害が発生した場合、Amazon DocumentDB は自動的にレプリカインスタンスにフェイルオーバーし、それを新しいプライマリとして指定します。レプリカに障害が発生しても、障害が発生したノードが回復するまで、クラスター内の他のインスタンスがリクエストを処理することができます。

各 Amazon DocumentDB クラスターは、最大 15 個のレプリカをサポートできます。

注記

耐障害性を最大にするため、レプリカを異なるアベイラビリティーゾーンにデプロイする必要があります。これにより、アベイラビリティーゾーン全体が使用できなくなった場合でも Amazon DocumentDB クラスターが機能し続けることができます。

次の AWS CLI 例は、新しいレプリカを追加する方法を示しています。--availability-zone パラメータは、指定されたアベイラビリティーゾーンにレプリカを配置します。

aws docdb create-db-instance \ --db-instance-identifier sample-instance \ --db-cluster-identifier sample-cluster \ --engine docdb \ --db-instance-class db.r5.large \ --availability-zone us-east-1a

クラスターとインスタンスの説明

次の AWS CLI 例では、リージョン内のすべての Amazon DocumentDB クラスターを一覧表示します。クラスターやインスタンスのライフサイクル管理などの特定の管理機能については、Amazon DocumentDB は Amazon と共有されている運用テクノロジーを活用しますRDS。filterName=engine,Values=docdb フィルターパラメータは Amazon DocumentDB クラスターのみを返します。

クラスターの説明と変更の詳細については、「Amazon DocumentDB クラスターのライフサイクル」を参照してください。

aws docdb describe-db-clusters --filter Name=engine,Values=docdb

このオペレーションによる出力は、次のようになります。

{ "DBClusters": [ { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-1", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... }, { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-2", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... }, { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-3", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... } ] }

次の AWS CLI 例では、Amazon DocumentDB クラスター内のインスタンスを一覧表示します。クラスターの説明と変更の詳細については、「Amazon DocumentDB インスタンスのライフサイクル」を参照してください。

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].[DBClusterMembers]'

出力は次のようになります。この出力には、2 つのインスタンスがあります。プライマリインスタンスは sample-instance-1 ("IsClusterWriter": true) です。レプリカインスタンス sample-instance2 ("IsClusterWriter: false") もあります。

[ [ [ { "DBInstanceIdentifier": "sample-instance-1", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "sample-cluster-2", "IsClusterWriter": false, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ] ] ]

クラスタースナップショットの作成

クラスタースナップショット は、Amazon DocumentDB クラスター内のデータの完全なバックアップです。スナップショットが作成されるときに、Amazon DocumentDB はクラスターボリュームから直接データを読み取ります。このため、その時点で実行中のインスタンスがクラスターにない場合でも、スナップショットを作成できます。スナップショットを作成するためにかかる時間は、クラスターボリュームサイズによって異なります。

Amazon DocumentDB は自動バックアップをサポートしており、バックアップウィンドウ(日中の 30 分間)に毎日実行されます。次の AWS CLI 例は、クラスターのバックアップウィンドウを表示する方法を示しています。

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].PreferredBackupWindow'

出力には、バックアップウィンドウ ( 内UTC) が表示されます。

[ "00:18-00:48" ]

Amazon DocumentDB クラスターを作成するときに、バックアップウィンドウを定義することができます。次の例に示すように、バックアップウィンドウを変更することもできます。バックアップウィンドウを定義しない場合、Amazon DocumentDB は自動的にクラスターに 1 つを割り当てます。

aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --preferred-backup-window "02:00-02:30"

自動バックアップに加えて、いつでもクラスタースナップショットを手動で作成できます。この操作を行うときは、後で復元できるように、バックアップするクラスターと、スナップショットの一意の名前を指定します。

次の AWS CLI 例は、データのスナップショットを作成する方法を示しています。

aws docdb create-db-cluster-snapshot \ --db-cluster-identifier sample-cluster \ --db-cluster-snapshot-identifier sample-cluster-snapshot

スナップショットからの復元

クラスタースナップショットを新しい Amazon DocumentDB クラスターに復元することができます。これを行うには、スナップショットの名前と新しいクラスターの名前を指定します。スナップショットから既存のクラスターに復元することはできません。代わりに、Amazon DocumentDB は復元時に新しいクラスターを作成してスナップショットデータを入力します。

次の例は、クラスター sample-cluster のすべてのスナップショットを示しています。

aws docdb describe-db-cluster-snapshots \ --db-cluster-identifier sample-cluster \ --query 'DBClusterSnapshots[*].[DBClusterSnapshotIdentifier,SnapshotType,Status]'

出力は次のようになります。手動スナップショットは手動で作成したものであり、自動スナップショットは、クラスターのバックアップウィンドウ内で Amazon DocumentDB によって作成されたものです。

[ "sample-cluster-snapshot", "manual", "available" ], [ "rds:sample-cluster", "automated", "available" ] ]

次の例は、スナップショットから Amazon DocumentDB クラスターを復元する方法を示しています。

aws docdb restore-db-cluster-from-snapshot \ --engine docdb \ --db-cluster-identifier new-sample-cluster \ --snapshot-identifier sample-cluster-snapshot

新しいクラスターには関連付けられたインスタンスがありません。このクラスターを操作するには、インスタンスを追加する必要があります。

aws docdb create-db-instance \ --db-instance-identifier new-sample-instance \ --db-instance-class db.r5.large \ --engine docdb \ --db-cluster-identifier new-sample-cluster

次の AWS CLI オペレーションを使用して、クラスターとインスタンスの作成の進行状況をモニタリングできます。クラスターとインスタンスのステータスが利用可能になったら、新しいクラスターのエンドポイントに接続し、データにアクセスできます。

aws docdb describe-db-clusters \ --db-cluster-identifier new-sample-cluster \ --query 'DBClusters[*].[Status,Endpoint]'
aws docdb describe-db-instances \ --db-instance-identifier new-sample-instance \ --query 'DBInstances[*].[DBInstanceStatus]'

クラスターからのインスタンスの削除

Amazon DocumentDB はクラスターボリューム内のすべてのデータを保存します。クラスターからすべてのインスタンスを削除しても、そのクラスターボリュームのデータは保持されます。データに再アクセスする必要がある場合は、いつでもクラスターにインスタンスを追加し、中断した個所から再開できます。

次の例は、Amazon DocumentDB クラスターからインスタンスを削除する方法を示しています。

aws docdb delete-db-instance \ --db-instance-identifier sample-instance

クラスターの削除

Amazon DocumentDB クラスターを削除する前に、最初にそのすべてのインスタンスを削除する必要があります。次の AWS CLI 例では、クラスター内のインスタンスに関する情報を返します。このオペレーションでインスタンス識別子が返される場合は、各インスタンスを削除する必要があります。詳細については、「クラスターからのインスタンスの削除」を参照してください。

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers[*].DBInstanceIdentifier'

その他のインスタンスが残っていない場合は、クラスターを削除できます。そのときに、次のいずれかのオプションを選択する必要があります。

  • 最終スナップショットの作成 - すべてのクラスターデータをスナップショットで取得し、後でそのデータで新しいインスタンスを再作成できるようにします。次の例は、その方法を示しています。

    aws docdb delete-db-cluster \ --db-cluster-identifier sample-cluster \ --final-db-snapshot-identifier sample-cluster-snapshot
  • 最終スナップショットをスキップする - すべてのクラスターデータを永久に破棄します。この操作は取り消すことができません。次の例は、その方法を示しています。

    aws docdb delete-db-cluster \ --db-cluster-identifier sample-cluster \ --skip-final-snapshot