メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

DB スナップショットまたは DB クラスタースナップショットのコピー

Amazon Relational Database Service (Amazon RDS) を使用すると、次のようにして、DB スナップショットと DB クラスタースナップショットをコピーできます。

  • 自動または手動 DB スナップショットまたは DB クラスタースナップショットをコピーして、同じ AWS リージョンに手動 DB スナップショットを作成します。

  • 同じ AWS アカウント内において、自動または手動 DB スナップショットまたは DB クラスタースナップショットを 1 つのリージョン内または 2 つのリージョン間でコピーします。

  • 同じリージョン内において、自動または手動 DB クラスタースナップショットを 2 つの AWS アカウント間でコピーします。

1 つのステップを使用してリージョンと AWS アカウントの間で DB クラスタースナップショットをコピーすることはできず、コピーアクションごとに 1 つのステップを実行する必要があります。

コピーの代わりに、他の AWS アカウントと手動スナップショットを共有することができます。詳細については、「DB スナップショットの共有または DB クラスタースナップショット」を参照してください。

他の AWS アカウントにより共有されているスナップショットは、コピーすることができます。他の AWS アカウントから共有された暗号化されたスナップショットをコピーする場合、 スナップショットの暗号化に使用されている KMS 暗号化キーへのアクセス権限が必要です。共有された暗号化されていない DB スナップショットはリージョン間でコピーできますが、共有された暗号化されている DB スナップショットは同じリージョン内でのみコピーできます。共有された DB クラスタースナップショットは、暗号化されていてもいなくても、同じリージョン内でのみコピーできます。詳細については、「暗号化されたスナップショットの共有」を参照してください。

関連するリージョンとコピーするデータの量に応じて、クロスリージョンスナップショットのコピーは完了するまでに長時間かかることがあります。特定のコピー元のリージョンに基づいた大量のクロスリージョンスナップショットのコピーリクエストが発生したとき、Amazon RDS では、一部の実行中のコピーが完了するまで、そのコピー元のリージョンからの新しいクロスリージョンのコピーリクエストをキューに入れる場合があります。コピーリクエストがキューに入っている間は、そのリクエストに関する進捗情報は表示されません。コピーが開始されたときに、進捗情報は表示されます。

暗号化の処理

AWS KMS 暗号化キーを使用して暗号化されたスナップショットをコピーできます。暗号化された スナップショットをコピーする場合は、 スナップショットのコピーも暗号化する必要があります。同じリージョン内で暗号化されているスナップショットをコピーする場合、元のスナップショットと同じ KMS 暗号化キーを使用してコピーを暗号化できます。または、別の KMS 暗号化キーを指定できます。リージョン間で暗号化されているスナップショットをコピーする場合、KMS キーはリージョン固有のため、ソーススナップショットに使用されているのと同じ KMS 暗号化キーをコピーに使用することはできません。代わりに、ターゲット AWS リージョンで有効な KMS キーを指定する必要があります。

さらに、暗号化されていない スナップショットのコピーも暗号化できます。この方法で、以前には暗号化されていなかった DB インスタンスまたは DB クラスターに簡単に暗号化を追加できます。つまり、暗号化したいときに DB インスタンスまたは DB クラスターのスナップショットを作成し、次にそのスナップショットのコピーを作成して、KMS 暗号化キーを指定してスナップショットのコピーを暗号化します。こうすることで、この暗号化されたスナップショットから暗号化された DB インスタンスまたは DB クラスターを復元できます。Amazon Aurora DB クラスタースナップショットの場合、DB クラスタースナップショットを暗号化しないままにし、復元時に KMS 暗号化キーを指定するオプションもあります。復元された DB クラスターは、指定されたキーを使用して暗号化されます。

スナップショット保持期間の使用

Amazon RDS で自動スナップショットが削除されるのは、その保持期間の終了時、DB インスタンスまたは DB クラスターの自動スナップショットを無効にしたとき、および DB インスタンスまたは DB クラスターを削除したときのいずれかです。自動 スナップショットをさらに長い期間保持する場合は、自動 スナップショットをコピーして手動 DB スナップショットを作成することで、自分で削除するまで保持できます。デフォルトのストレージ領域を超過した場合、Amazon RDS ストレージコストが手動スナップショットに適用されることがあります。バックアップストレージコストの詳細については、「Amazon RDS 料金表」を参照してください。

制約事項

スナップショットをコピーできる方法と場所にはいくつかの制限があります。

  • AWS GovCloud (US) リージョンとの間でスナップショットをコピーすることはできません。

  • また、DB スナップショットが Oracle Transparent Data Encryption (TDE) または Microsoft SQL Server TDE を使用している DB インスタンスから作成された場合は、DB スナップショットを他のリージョンにコピーすることはできません。

  • さらに、DB スナップショットがマルチ AZ ミラーリングを使用しているインスタンスから作成された場合は、リージョン間で SQL Server DB スナップショットをコピーすることはできません。

パラメーターグループおよびオプショングループの設定

リージョン間でコピーされるスナップショットには、スナップショットの作成元となる DB インスタンスまたは DB クラスターで使用されたパラメーターグループまたはオプショングループが含まれていません。スナップショットを復元して新しい DB インスタンスまたは DB クラスターを作成する場合、その DB インスタンスまたは DB クラスターには、その DB インスタンスまたは DB クラスターが作成されるリージョンのデフォルトのパラメータグループとオプショングループが割り当てられます。新しい DB インスタンスまたは DB クラスターにコピー元と同じパラメーターとオプションを割り当てるには、次を実行する必要があります。

  1. コピー先のリージョンで、コピー元の DB インスタンスまたは DB クラスターが使用するパラメーターグループと同じ設定で DB パラメーターグループまたは DB クラスターパラメーターグループを作成するか、それらの設定を使用する既存のパラメーターグループの名前を書き留めておきます。

  2. コピー先のリージョンで、コピー元の DB インスタンスまたは DB クラスターが使用するオプショングループと同じ設定でオプショングループを作成するか、それらの設定を使用する既存のオプショングループの名前を書き留めておきます。

  3. コピー先のリージョンでスナップショットを復元したら、コピー先のリージョンで使用できる DB パラメーターグループまたは DB クラスターパラメーターグループとオプショングループを追加するように新しい DB インスタンスまたは DB クラスターを変更します。

DB スナップショットのコピー

AWS アカウントごとに、リージョン間で同時に 5 つまでの DB スナップショットをコピーできます。別の AWS リージョンに DB スナップショットをコピーする場合には、そのリージョンに保持されている手動 DB スナップショットを作成します。コピー元のリージョンから DB スナップショットをコピーすると、Amazon RDS ではデータ転送料金が発生します。Amazon RDS でのデータ転送料金の詳細については、「Amazon Relational Database Service の料金」を参照してください。

DB スナップショットをコピーするには、以下の手順に示すように AWS マネジメントコンソール、copy-db-snapshot コマンド、または CopyDBSnapshot API アクションを使用します。

AWS CLI の copy-db-snapshot コマンド、または RDS API のCopyDBSnapshot アクションを使用して DB スナップショットをコピーするには、DB スナップショットのコピー先の AWS リージョンでコマンドを実行し、Amazon RDS Amazon リソースネーム (ARN) を使用して、コピーされるソース DB スナップショットを指定します。Amazon RDS ARN 形式については、「Amazon RDS の Amazon リソースネーム (ARN) での作業」を参照してください。

DB スナップショットのコピーが新しいリージョンに作成されると、その DB スナップショットのコピーは、リージョンにある他のすべての DB スナップショットと同じように動作します。

次のデータベースエンジンで暗号化されている DB スナップショットと暗号化されていない DB スナップショットの両方をコピーできます。

  • MariaDB

  • MySQL

  • Oracle

  • PostgreSQL

  • Microsoft SQL Server

同じアカウントで Amazon Aurora DB クラスタースナップショットのコピーの詳細については、「同じアカウント内、同じリージョン内、リージョン間での DB クラスタースナップショットのコピー」を参照してください。アカウント間での Amazon Aurora DB クラスタースナップショットのコピーの詳細については、「アカウント間での DB クラスタースナップショットのコピー」を参照してください。

AWS マネジメントコンソール を使用した DB スナップショットのコピー

この手順は、同じリージョン内またはリージョン間で、暗号化されている DB スナップショットや暗号化されていない DB スナップショットをコピーするために使用できます。

DB スナップショットをコピーするには

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

  2. ナビゲーションペインで、[Snapshots] を選択します。

  3. コピーする DB スナップショットのチェックボックスをオンにします。

  4. [Snapshot Actions] を選択してから、[Copy Snapshot] を選択します。

  5. (オプション) 別のリージョンに DB スナップショットをコピーするには、[Destination Region] でそのリージョンを選択します。

    注記

    コピー先リージョンは、コピー元リージョンと同じデータベースエンジンのバージョンを使用できる必要があります。

  6. [New DB Snapshot Identifier:] に、DB スナップショットのコピーの名前を入力します。

  7. スナップショットからスナップショットのコピーにタグと値をコピーするには、[Copy Tags] を選択します。

     DB スナップショットのコピー
  8. [Enable Encryption] で次のいずれかのオプションを選択します。

    • DB スナップショットが暗号化されておらず、コピーを暗号化しない場合、[Enable Encryption] で [No] を選択します。

    • DB スナップショットが暗号化されていないが、コピーを暗号化する場合、[Enable Encryption] の [Yes] を選択し、[Master Key] に DB スナップショットコピーの暗号化に使用する KMS キー識別子を指定します。

       DB スナップショットのコピーと暗号化
    • コピーされる DB スナップショットが暗号化されている場合、コピーを暗号化する必要があるため、[Enable Encryption] はすでに [Yes] に設定されています。[Master Key] で、DB スナップショットの暗号化に使用する KMS キー識別子を指定します。

       暗号化された DB スナップショットのコピー
  9. [Copy Snapshot] を選択します。

AWS CLI または Amazon RDS API を使用して、暗号化されていない DB スナップショットをコピーする

AWS CLI または Amazon RDS API を使用して、暗号化されていない DB スナップショットをコピーするには、次のセクションの手順を使用します。

CLI

DB スナップショットをコピーするには、AWS CLI の copy-db-snapshot コマンドを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでコマンドを実行します。

暗号化されていない DB スナップショットのコピーには、以下のオプションが使用されます。

  • --source-db-snapshot-identifier – コピーする暗号化された DB スナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。

  • --target-db-snapshot-identifier – 暗号化された DB スナップショットの新しいコピーの識別子。

次のコードは、コマンドが実行されるリージョン内にある mydbsnapshotcopy という名前のスナップショット arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 のコピーを作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。

Linux、OS X、Unix の場合:

Copy
aws rds copy-db-snapshot \ --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --copy-tags

Windows の場合:

Copy
aws rds copy-db-snapshot ^ --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --copy-tags

API

DB スナップショットをコピーするには、Amazon RDS API の CopyDBSnapshot アクションを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでアクションを実行します。

暗号化されていない DB スナップショットのコピーには、以下のパラメーターが使用されます。

  • SourceDBSnapshotIdentifier – コピーする DB スナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。

  • TargetDBSnapshotIdentifier – DB スナップショットの新しいコピーの識別子。

次のコードは、us-west-1 region で mydbsnapshotcopy という名前のスナップショット arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 のコピーを作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。

Copy
https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBSnapshot &CopyTags=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-east-1%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20130805 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2

AWS CLI または Amazon RDS API を使用して、暗号化されている DB スナップショットをコピーする

AWS CLI または Amazon RDS API を使用して、暗号化されている DB スナップショットをコピーするには、次のセクションの手順を使用します。

CLI

DB スナップショットをコピーするには、AWS CLI の copy-db-snapshot コマンドを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでコマンドを実行します。

暗号化されている DB スナップショットのコピーには、以下のオプションが使用されます。

  • --source-region – スナップショットを別のリージョンにコピーする場合、暗号化されている DB スナップショットのコピー元の AWS リージョンを指定します。

    スナップショットを別のリージョンにコピーし、source-region を指定しない場合、代わりに pre-signed-url オプションを指定する必要があります。pre-signed-url 値は、DB スナップショットのコピー元のリージョンで呼び出す CopyDBSnapshot アクションのリクエストを含む署名バージョン 4 で署名された URL でなければなりません。pre-signed-url の詳細については、「copy-db-snapshot」を参照してください。

  • --source-db-snapshot-identifier – コピーする暗号化された DB スナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。この場合、--source-db-snapshot-identifier で指定したリージョンは、--source-region で指定したリージョンと一致している必要があります。

  • --target-db-snapshot-identifier – 暗号化された DB スナップショットの新しいコピーの識別子。

  • --kms-key-id – DB スナップショットのコピーを暗号化するのに使用するキーの KMS キー識別子。

    DB スナップショットが暗号化されており、同じリージョン内でスナップショットをコピーして、コピーの暗号化に使用する新しい KMS 暗号化キーを指定する場合は、オプションでこのオプションを使用できます。それ以外の場合、DB スナップショットのコピーがソース DB スナップショットと同じ KMS キーで暗号化されます。

    DB スナップショットが暗号化されており、スナップショットを別のリージョンにコピーする場合は、このオプションを使用する必要があります。その場合、ターゲット AWS リージョンで KMS キーを指定する必要があります。

次のコード例では、us-west-2 リージョンから us-east-1 リージョンに暗号化された DB スナップショットをコピーします。copy-db-snapshot コマンドは、us-east-1 リージョンで呼び出されます。

Linux、OS X、Unix の場合:

Copy
aws rds copy-db-snapshot \ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --source-region us-west-2 \ --kms-key-id my-us-east-1-key

Windows の場合:

Copy
aws rds copy-db-snapshot ^ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --source-region us-west-2 ^ --kms-key-id my-us-east-1-key

API

DB スナップショットをコピーするには、Amazon RDS API の CopyDBSnapshot アクションを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでアクションを実行します。

暗号化されている DB スナップショットのコピーには、以下のパラメーターが使用されます。

  • SourceDBSnapshotIdentifier – コピーする暗号化された DB スナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。

  • TargetDBSnapshotIdentifier – 暗号化された DB スナップショットの新しいコピーの識別子。

  • KmsKeyId – DB スナップショットのコピーを暗号化するのに使用するキーの KMS キー識別子。

    DB スナップショットが暗号化されており、同じリージョン内でスナップショットをコピーして、コピーの暗号化に使用する新しい KMS 暗号化キーを指定する場合は、オプションでこのパラメーターを使用できます。それ以外の場合、DB スナップショットのコピーがソース DB スナップショットと同じ KMS キーで暗号化されます。

    DB スナップショットが暗号化されており、スナップショットを別のリージョンにコピーする場合は、このパラメーターを使用する必要があります。その場合、ターゲット AWS リージョンで KMS キーを指定する必要があります。

  • PreSignedUrl – DB スナップショットのコピー元のリージョンで呼び出す CopyDBSnapshot アクションのリクエストを含む署名バージョン 4 で署名された URL です。署名付き URL の詳細については、「CopyDBSnapshot」を参照してください。

    署名付き URL を手動ではなく自動的に生成するには、--source-region オプションを指定して AWS CLI の copy-db-snapshot コマンドを実行します。

次のコードは、us-east-1 region で mydbsnapshotcopy という名前のスナップショット arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 のコピーを作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。

Copy
https://rds.us-east-1.amazonaws.com/ ?Action=CopyDBSnapshot &KmsKeyId=my-us-east-1-key &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCopyDBSnapshot %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBSnapshotIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Asnapshot%25253Amysql-instance1-snapshot-20161115 %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4 %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20161115 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20161117T221704Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf

同じアカウント内、同じリージョン内、リージョン間での DB クラスタースナップショットのコピー

AWS アカウントごとに、リージョン間で同時に 5 つまでの DB クラスタースナップショットをコピーできます。暗号化されている DB クラスタースナップショットと暗号化されていない DB クラスタースナップショットのどちらのコピーもサポートされています。別の AWS リージョンに DB クラスタースナップショットをコピーする場合には、そのリージョンに保持されている手動 DB クラスタースナップショットを作成します。コピー元のリージョンから DB クラスタースナップショットをコピーすると、Amazon RDS ではデータ転送料金が発生します。Amazon RDS でのデータ転送料金の詳細については、「Amazon Relational Database Service の料金」を参照してください。

DB クラスタースナップショットをコピーするには、以下の手順に示すように AWS マネジメントコンソール、copy-db-cluster-snapshot コマンド、または CopyDBClusterSnapshot API アクションを使用します。

DB クラスタースナップショットのコピーが新しいリージョンに作成されると、その DB クラスタースナップショットのコピーは、リージョンにある他のすべての DB スナップショットと同じように動作します。

Aurora 以外のデータベースエンジンの DB スナップショットのコピーの詳細については、「DB スナップショットのコピー」を参照してください。

AWS マネジメントコンソール を使用した DB クラスタースナップショットのコピー

この手順は、同じリージョン内またはリージョン間で、暗号化されている DB クラスタースナップショットや暗号化されていない DB クラスタースナップショットをコピーするために使用できます。

コピーオペレーションが進行中にキャンセルするには、DB クラスタースナップショットが [copying] ステータスの間にターゲット DB クラスタースナップショットを削除します。

DB クラスタースナップショットをコピーするには

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

  2. ナビゲーションペインで、[Snapshots] を選択します。

  3. コピーする DB スナップショットのチェックボックスをオンにします。

  4. [Snapshot Actions] を選択してから、[Copy Snapshot] を選択します。

  5. (オプション) 別のリージョンに DB クラスタースナップショットをコピーするには、[Destination Region] でそのリージョンを選択します。

  6. [New DB Snapshot Identifier:] に、DB クラスタースナップショットのコピーの名前を入力します。

  7. スナップショットからスナップショットのコピーにタグと値をコピーするには、[Copy Tags] を選択します。

     DB スナップショットのコピー
  8. [Enable Encryption] で次のいずれかのオプションを選択します。

    • DB クラスタースナップショットが暗号化されておらず、コピーを暗号化しない場合、[Enable Encryption] で [No] を選択します。

    • DB クラスタースナップショットが暗号化されていないが、コピーを暗号化する場合、[Enable Encryption] の [Yes] を選択し、[Master Key] に DB クラスタースナップショットコピーの暗号化に使用する KMS キー識別子を指定します。

       DB スナップショットのコピーと暗号化
    • コピーされる DB クラスタースナップショットが暗号化されている場合、コピーを暗号化する必要があるため、[Enable Encryption] はすでに [Yes] に設定されています。[Master Key] で、DB クラスタースナップショットの暗号化に使用する KMS キー識別子を指定します。

       暗号化された DB スナップショットのコピー
  9. [Copy Snapshot] を選択します。

AWS CLI または Amazon RDS API を使用して、暗号化されていない DB クラスタースナップショットをコピーする

AWS CLI または Amazon RDS API を使用して、暗号化されていない DB クラスタースナップショットをコピーするには、次のセクションの手順を使用します。

コピーオペレーションが進行中にキャンセルするには、DB クラスタースナップショットが [copying] ステータスの間に --target-db-cluster-snapshot-identifier または TargetDBClusterSnapshotIdentifier により識別されるターゲット DB クラスタースナップショットを削除します。

CLI

DB クラスタースナップショットをコピーするには、AWS CLI の copy-db-cluster-snapshot コマンドを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでコマンドを実行します。

暗号化されていない DB クラスタースナップショットのコピーには、以下のオプションが使用されます。

  • --source-db-cluster-snapshot-identifier – コピーする暗号化された DB クラスタースナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。

  • --target-db-cluster-snapshot-identifier – DB クラスタースナップショットの新しいコピーの識別子。

次のコードは、コマンドが実行されるリージョン内にある myclustersnapshotcopy という名前の DB クラスタースナップショット arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805 のコピーを作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。

Linux、OS X、Unix の場合:

Copy
aws rds copy-db-cluster-snapshot \ --source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805 \ --target-db-cluster-snapshot-identifier myclustersnapshotcopy \ --copy-tags

Windows の場合:

Copy
aws rds copy-db-cluster-snapshot ^ --source-db-cluster-snapshot-identifier arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805 ^ --target-db-cluster-snapshot-identifier myclustersnapshotcopy ^ --copy-tags

API

DB クラスタースナップショットをコピーするには、Amazon RDS API の CopyDBClusterSnapshot アクションを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでアクションを実行します。

暗号化されていない DB クラスタースナップショットのコピーには、以下のパラメーターが使用されます。

  • SourceDBClusterSnapshotIdentifier – コピーする暗号化された DB クラスタースナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。

  • TargetDBClusterSnapshotIdentifier – DB クラスタースナップショットの新しいコピーの識別子。

次のコードは、us-west-1 region で myclustersnapshotcopy という名前のスナップショット arn:aws:rds:us-east-1:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20130805 のコピーを作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。

Copy
https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBClusterSnapshot &CopyTags=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-east-1%3A123456789012%3Acluster-snapshot%3Aaurora-cluster1-snapshot-20130805 &TargetDBSnapshotIdentifier=myclustersnapshotcopy &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2

AWS CLI または Amazon RDS API を使用して、暗号化されている DB クラスタースナップショットをコピーする

AWS CLI または Amazon RDS API を使用して、暗号化されている DB クラスタースナップショットをコピーするには、次のセクションの手順を使用します。

コピーオペレーションが進行中にキャンセルするには、DB クラスタースナップショットが [copying] ステータスの間に --target-db-cluster-snapshot-identifier または TargetDBClusterSnapshotIdentifier により識別されるターゲット DB クラスタースナップショットを削除します。

CLI

DB クラスタースナップショットをコピーするには、AWS CLI の copy-db-cluster-snapshot コマンドを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでコマンドを実行します。

暗号化されている DB クラスタースナップショットのコピーには、以下のオプションが使用されます。

  • --source-region – スナップショットを別のリージョンにコピーする場合、暗号化されている DB クラスタースナップショットのコピー元の AWS リージョンを指定します。

    スナップショットを別のリージョンにコピーし、source-region を指定しない場合、代わりに pre-signed-url オプションを指定する必要があります。pre-signed-url 値は、DB クラスタースナップショットのコピー元のリージョンで呼び出す CopyDBClusterSnapshot アクションのリクエストを含む署名バージョン 4 で署名された URL でなければなりません。pre-signed-url の詳細については、「copy-db-cluster-snapshot」を参照してください。

  • --source-db-cluster-snapshot-identifier – コピーする暗号化された DB クラスタースナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。この場合、source-db-cluster-snapshot-identifier で指定したリージョンは、--source-region で指定したリージョンと一致している必要があります。

  • --target-db-cluster-snapshot-identifier – 暗号化された DB クラスタースナップショットの新しいコピーの識別子。

  • --kms-key-id – DB クラスタースナップショットのコピーを暗号化するのに使用するキーの KMS キー識別子。

    DB クラスタースナップショットが暗号化されており、同じリージョン内でスナップショットをコピーして、コピーの暗号化に使用する新しい KMS 暗号化キーを指定する場合は、オプションでこのオプションを使用できます。それ以外の場合、DB クラスタースナップショットのコピーがソース DB クラスタースナップショットと同じ KMS キーで暗号化されます。

    DB クラスタースナップショットが暗号化されており、スナップショットを別のリージョンにコピーする場合は、このオプションを使用する必要があります。その場合、ターゲット AWS リージョンで KMS キーを指定する必要があります。

次のコード例では、us-west-2 リージョンから us-east-1 リージョンに暗号化された DB クラスタースナップショットをコピーします。このコマンドは、us-east-1 リージョンで呼び出されます。

Linux、OS X、Unix の場合:

Copy
aws rds copy-db-cluster-snapshot \ --source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115 \ --target-db-cluster-snapshot-identifier myclustersnapshotcopy \ --source-region us-west-2 \ --kms-key-id my-us-east-1-key

Windows の場合:

Copy
aws rds copy-db-cluster-snapshot ^ --source-db-cluster-snapshot-identifier arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115 ^ --target-db-cluster-snapshot-identifier myclustersnapshotcopy ^ --source-region us-west-2 ^ --kms-key-id my-us-east-1-key

API

DB クラスタースナップショットをコピーするには、Amazon RDS API の CopyDBClusterSnapshot アクションを使用します。スナップショットを別のリージョンにコピーする場合、スナップショットのコピー先のリージョンでアクションを実行します。

暗号化されている DB クラスタースナップショットのコピーには、以下のパラメーターが使用されます。

  • SourceDBClusterSnapshotIdentifier – コピーする暗号化された DB クラスタースナップショットの識別子。別のリージョンにスナップショットをコピーする場合、ソースリージョンでこの識別子は ARN 形式でなければなりません。

  • TargetDBClusterSnapshotIdentifier – 暗号化された DB クラスタースナップショットの新しいコピーの識別子。

  • KmsKeyId – DB クラスタースナップショットのコピーを暗号化するのに使用するキーの KMS キー識別子。

    DB クラスタースナップショットが暗号化されており、同じリージョン内でスナップショットをコピーして、コピーの暗号化に使用する新しい KMS 暗号化キーを指定する場合は、オプションでこのパラメーターを使用できます。それ以外の場合、DB クラスタースナップショットのコピーがソース DB クラスタースナップショットと同じ KMS キーで暗号化されます。

    DB クラスタースナップショットが暗号化されており、スナップショットを別のリージョンにコピーする場合は、このパラメーターを使用する必要があります。その場合、ターゲット AWS リージョンで KMS キーを指定する必要があります。

  • PreSignedUrl – スナップショットを別のリージョンにコピーする場合、PreSignedUrl パラメーターを指定する必要があります。PreSignedUrl 値は、DB クラスタースナップショットのコピー元のリージョンで呼び出す CopyDBClusterSnapshot アクションのリクエストを含む署名バージョン 4 で署名された URL でなければなりません。署名付き URL の詳細については、「CopyDBClusterSnapshot」を参照してください。

    署名付き URL を手動ではなく自動的に生成するには、--source-region オプションを指定して AWS CLI の copy-db-cluster-snapshot コマンドを実行します。

次のコード例では、us-west-2 リージョンから us-east-1 リージョンに暗号化された DB クラスタースナップショットをコピーします。このアクションは、us-east-1 リージョンで呼び出されます。

Copy
https://rds.us-east-1.amazonaws.com/ ?Action=CopyDBClusterSnapshot &KmsKeyId=my-us-east-1-key &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCopyDBClusterSnapshot %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBClusterSnapshotIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Acluster-snapshot%25253Aaurora-cluster1-snapshot-20161115 %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4 %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBClusterSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Acluster-snapshot%3Aaurora-cluster1-snapshot-20161115 &TargetDBClusterSnapshotIdentifier=myclustersnapshotcopy &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20161117T221704Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf

アカウント間での DB クラスタースナップショットのコピー

Amazon RDS API の ModifyDBClusterSnapshotAttribute アクションと CopyDBClusterSnapshot アクションを使用することで、他の AWS アカウントが、指定した DB クラスタースナップショットをコピーできるようにすることができます。DB クラスタースナップショットは、同じリージョンのアカウント間でのみコピーできます。クロスアカウントコピーは、アカウント A がコピー可能なスナップショットを作成した後、アカウント B がそれをコピーするというプロセスになります。

  1. アカウント A を使用し、AttributeName パラメーターに restore を、ValuesToAdd パラメーターにアカウント B の ID を指定して、ModifyDBClusterSnapshotAttribute を呼び出します。

  2. (スナップショットが暗号化されている場合) アカウント A を使用し、まずアカウント B の ARN を Principal として追加してから kms:CreateGrant アクションを許可し、KMS キーのキーポリシーを更新します。

  3. (スナップショットが暗号化されている場合) アカウント B を使用し、IAM ユーザーを選択するか作成してから、KMS キーを使用した暗号化されている DB スナップショットのコピーを許可する IAM ポリシーをそのユーザーにアタッチします。

  4. アカウント B を使用して CopyDBClusterSnapshot を呼び出し、SourceDBClusterSnapshotIdentifier パラメーターを使用して、コピーする DB クラスタースナップショットの ARN を指定します (アカウント A の ID を含める必要があります)。

DB スナップショットを復元する権限が付与されているすべての AWS アカウントをリストするには、DescribeDBSnapshotAttributes または DescribeDBClusterSnapshotAttributes API アクションを使用します。

AWS アカウントの共有アクセス権限を削除するには、AttributeNamerestore に設定して、ValuesToRemove パラメーターで削除するアカウントの ID を設定し、ModifyDBSnapshotAttribute アクションまたは ModifyDBClusterSnapshotAttribute アクションを使用します。

暗号化されていない DB クラスタースナップショットの別のアカウントへのコピー

暗号化されていない DB クラスタースナップショットを同じリージョン内の別のアカウントにコピーするには、以下の手順を使用します。

  1. DB クラスタースナップショットのソースアカウントで、AttributeName パラメーターに restore を指定して ValuesToAdd パラメーターにターゲットアカウントの ID を指定し、ModifyDBClusterSnapshotAttribute を呼び出します。

    アカウント 987654321 を使用して次の例を実行すると、2 つの AWS アカウント識別子 123451234512 および 123456789012manual-snapshot1 という名前の DB スナップショットを復元できるようになります。

    Copy
    https://rds.us-west-2.amazonaws.com/ ?Action=ModifyDBClusterSnapshotAttribute &AttributeName=restore &DBClusterSnapshotIdentifier=manual-snapshot1 &SignatureMethod=HmacSHA256&SignatureVersion=4 &ValuesToAdd.member.1=123451234512 &ValuesToAdd.member.2=123456789012 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request &X-Amz-Date=20150922T220515Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=ef38f1ce3dab4e1dbf113d8d2a265c67d17ece1999ffd36be85714ed36dddbb3
  2. ターゲットアカウントで、CopyDBClusterSnapshot を呼び出し、SourceDBClusterSnapshotIdentifier パラメーターを使用して、コピーする DB クラスタースナップショットの ARN を指定します (ソースアカウントの ID を含める必要があります)。

    アカウント 123451234512 を使用して次の例を実行すると、DB クラスターアカウント aurora-cluster1-snapshot-20130805 がアカウント 987654321 からコピーされ、dbclustersnapshot1 という名前の DB クラスタースナップショットが作成されます。

    Copy
    https://rds.us-west-2.amazonaws.com/ ?Action=CopyDBClusterSnapshot &CopyTags=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBClusterSnapshotIdentifier=arn:aws:rds:us-west-2:987654321:cluster-snapshot:aurora-cluster1-snapshot-20130805 &TargetDBClusterSnapshotIdentifier=dbclustersnapshot1 &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2

暗号化されている DB クラスタースナップショットの別のアカウントへのコピー

暗号化されている DB クラスタースナップショットを同じリージョン内の別のアカウントにコピーするには、以下の手順を使用します。

  1. DB クラスタースナップショットのソースアカウントで、AttributeName パラメーターに restore を指定して ValuesToAdd パラメーターにターゲットアカウントの ID を指定し、ModifyDBClusterSnapshotAttribute を呼び出します。

    アカウント 987654321 を使用して次の例を実行すると、2 つの AWS アカウント識別子 123451234512 および 123456789012manual-snapshot1 という名前の DB スナップショットを復元できるようになります。

    Copy
    https://rds.us-west-2.amazonaws.com/ ?Action=ModifyDBClusterSnapshotAttribute &AttributeName=restore &DBClusterSnapshotIdentifier=manual-snapshot1 &SignatureMethod=HmacSHA256&SignatureVersion=4 &ValuesToAdd.member.1=123451234512 &ValuesToAdd.member.2=123456789012 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request &X-Amz-Date=20150922T220515Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=ef38f1ce3dab4e1dbf113d8d2a265c67d17ece1999ffd36be85714ed36dddbb3
  2. DB クラスタースナップショットのソースアカウントで、まずターゲットアカウントの ARN を Principal として追加してから kms:CreateGrant アクションを許可し、KMS キーのキーポリシーを更新します。詳細については、「AWS KMS 暗号化キーへのアクセス許可」を参照してください。

  3. ターゲットアカウントで、IAM ユーザーを選択するか作成し、KMS キーを使用した暗号化されている DB スナップショットのコピーを許可する IAM ポリシーをそのユーザーにアタッチします。詳細については、「暗号化されているスナップショットのコピーを可能にする IAM ポリシーの作成」を参照してください。

  4. ターゲットアカウントで、CopyDBClusterSnapshot を呼び出し、SourceDBClusterSnapshotIdentifier パラメーターを使用して、コピーする DB クラスタースナップショットの ARN を指定します (ソースアカウントの ID を含める必要があります)。

    アカウント 123451234512 を使用して次の例を実行すると、DB クラスターアカウント aurora-cluster1-snapshot-20130805 がアカウント 987654321 からコピーされ、dbclustersnapshot1 という名前の DB クラスタースナップショットが作成されます。

    Copy
    https://rds.us-west-2.amazonaws.com/ ?Action=CopyDBClusterSnapshot &CopyTags=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBClusterSnapshotIdentifier=arn:aws:rds:us-west-2:987654321:cluster-snapshot:aurora-cluster1-snapshot-20130805 &TargetDBClusterSnapshotIdentifier=dbclustersnapshot1 &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20150922/us-west-2/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2

関連トピック