のスナップショットのコピー - Amazon Relational Database Service

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

Amazon RDS を使用すると、自動バックアップまたは手動 DB スナップショットをコピーできます。スナップショットをコピーすると、そのコピーは手動スナップショットになります。自動バックアップまたは手動スナップショットは複数のコピーを作成できますが、各コピーには一意の識別子が必要です。

同じ AWS リージョン内、AWS リージョン間、スナップショットをコピーできます。また共有スナップショットをコピーできます。

制約事項

スナップショットをコピーする際の制約は以下のとおりです。

  • 中国 (北京) または 中国 (寧夏) リージョンとの間でスナップショットをコピーすることはできません。

  • AWS GovCloud (米国東部) と AWS GovCloud (US-West) の間でスナップショットをコピーすることはできます。ただし、これらの AWS GovCloud (US) リージョンと商用 AWS リージョンの間でスナップショットをコピーすることはできません。

  • ターゲットスナップショットが使用可能になる前に出典スナップショットを削除すると、スナップショットはコピーされない場合があります。ターゲットスナップショットのステータスが AVAILABLE になったことを確認してから、出典スナップショットを削除してください。

  • アカウントあたり 1 つのコピー先リージョンに対して最大 5 つのスナップショットコピーリクエストを実行できます。

  • 同じソース DB インスタンスに対して複数のスナップショットコピーをリクエストすると、それらは内部的にキューに追加されます。後でリクエストされたコピーは、それ以前のスナップショットコピーが完了するまで開始されません。詳細については、AWS ナレッジセンターの「 Why is my EC2 AMI or EBS snapshot creation slow? (EC2 AMI または EBS スナップショットの作成が遅いのはなぜですか?)」を参照してください。

  • コピー元とコピー先の AWS リージョンおよびデータのコピー量に応じて、リージョン間のスナップショットのコピーは完了するまでに長時間かかることがあります。場合によっては、特定のコピー元 リージョンから多数のクロスリージョンスナップショットコピーのリクエストが発生することがあります。このような場合、Amazon RDS は進行中のいくつかのコピーが完了するまで、そのコピー元リージョンからの新しいクロスリージョンコピーリクエストをキューに入れることがあります。コピーリクエストがキューに入っている間は、そのリクエストに関する進捗情報は表示されません。コピーがスタートされたときに、進捗情報は表示されます。

スナップショット保持期限

Amazon RDS は自動スナップショットをいくつかの状況で削除します。

  • 保持期間の終了時。

  • DB インスタンスの自動スナップショットを無効にした場合。

  • DB インスタンスを削除した場合。

自動スナップショットをより長期間保持したい場合は、コピーを手動スナップショットとして作成しすると、削除するまで保持されます。デフォルトのストレージ領域を超える場合、手動スナップショットにAmazon RDS ストレージコストが適用される場合があります。

バックアップストレージコストの詳細については、「Amazon RDS の料金」を参照してください。

共有スナップショットのコピー

他の AWS アカウントにより共有されているスナップショットは、コピーすることができます。場合によっては、別の AWS アカウントから共有された暗号化されたスナップショットをコピーすることがあります。このような場合、スナップショットの暗号化に使用された AWS KMS key へのアクセス権が必要になります。

スナップショットが暗号化されていない場合、共有 DB スナップショットは、別の AWS リージョンにコピーできます。共有 DB スナップショットが暗号化されている場合は、同じリージョン内でのみコピーできます。

注記

同じ AWS リージョン内の共有増分スナップショットのコピーは、暗号化されていない場合や、初期のフルスナップショットと同じ KMS キーを使用して暗号化されている場合にサポートされます。コピー時に別の KMS キーを使用して後続のスナップショットを暗号化すると、それらの共有スナップショットはフルスナップショットになります。詳細については、「増分スナップショットコピー」を参照してください。

暗号化の処理

KMS キーを使用して暗号化されたスナップショットをコピーできます。暗号化された スナップショットをコピーする場合は、スナップショットのコピーも暗号化する必要があります。同じAWS リージョン内で暗号化されているスナップショットをコピーする場合、元のスナップショットと同じ KMS キーを使用してコピーを暗号化できます。または、別の KMS キー を指定することもできます。

リージョン間で、暗号化されたスナップショットをコピーする場合は、送信先の AWS リージョンで有効な KMS キーを指定する必要があります。これは、リージョン固有の KMS キーでも、マルチリージョンのキーでもかまいません。マルチリージョンの KMS キーの詳細については、「AWS KMS でマルチリージョンキーを使用する」を参照してください。

送信元スナップショットはコピープロセス全体で暗号化されたままになります。詳細については、「Amazon RDS の暗号化された DB インスタンスの制限事項」を参照してください。

さらに、暗号化されていない スナップショットのコピーも暗号化できます。この方法で、以前には暗号化されていなかった DB インスタンスに簡単に暗号化を追加できます。このためには、暗号化の準備ができた段階で、DB インスタンスのスナップショットを作成します。次に、そのスナップショットのコピーを作成し、KMS キーを指定してそのスナップショットコピーを暗号化します。こうすることで、この暗号化されたスナップショットから暗号化された DB インスタンスを復元できます。

増分スナップショットコピー

差分スナップショットには、同じ DB インスタンスの最新のスナップショット以降に変更されたデータのみが含まれます。差分スナップショットのコピーは高速であり、フルスナップショットコピーよりストレージコストが低くなります。

注記

スナップショットコピーそのものである出典スナップショットをコピーする場合、新しいコピーは増分コピーではありません。これは、出典スナップショットコピーに、増分コピーに必要なメタデータが含まれていないためです。

スナップショットコピーが増分かどうかは、最近完了したスナップショットコピーによって決定されます。最近のスナップショットコピーが削除され、次のコピーがフルコピーである場合、増分コピーではありません。

別のコピーをスタートするときにコピーがまだ保留中の場合は、初期のコピーが終了するまで 2 番目のコピーはスタートされません。

別の AWS アカウントにスナップショットをコピーする場合、次の条件に合致すればコピーは増分となります。

  • 同じ出典 DB インスタンスの別のスナップショットがコピー先アカウントに以前コピーされている。

  • 最近のスナップショットコピーがコピー先のアカウントにまだ存在する。

  • 送信先アカウントのスナップショットのコピーがすべて、暗号化されていないか、あるいは同じ CMK キーを使って暗号化されていた。

次の例は、フルスナップショットと増分スナップショットの違いを示しています。これらは、共有スナップショットと非共有スナップショットの両方に適用されます。

スナップショット Encryption key フルまたは増分
S1 K1 フル
S2 K1 S1 の増分
S3 K1 S2 の増分
S4 K1 S3 の増分
S1 のコピー (S1C) K2 フル
S2 のコピー (S2C) K3 フル
S3 のコピー (S3C) K3 S2C の増分
S4 のコピー (S4C) K3 S3C の増分
S4 のコピー 2 (S4C2) K4 フル
注記

これらの例では、スナップショット S2、S3、および S4 は、前のスナップショットがまだ存在する場合にのみ増分になります。

コピーも同じです。スナップショットのコピー S3C および S4C は、前のコピーがまだ存在する場合にのみ増分になります。

AWS リージョン間で増分スナップショットをコピーする方法については、「フルコピーと増分コピー」を参照してください。

クロスリージョンのスナップショットコピー

AWS リージョン間で DB スナップショットをコピーできます。ただし、クロスリージョンのスナップショットコピーには、特定の制約と考慮事項があります。

クロスリージョン DB スナップショットコピーのリクエスト

出典リージョンと通信してクロスリージョン DB のスナップショットコピーをリクエストするには、リクエスタ (IAM ロールまたは IAM ユーザー) が出典 DB スナップショットおよび出典リージョンへのアクセス権を持っている必要があります。

リクエスタの IAM ポリシーの特定の条件により、リクエストが失敗する可能性があります。次の例では、DB スナップショットを 米国東部 (オハイオ) から US East (N. Virginia) にコピーしていることを前提としています。これらの例は、リクエストが失敗する原因となるリクエスタの IAM ポリシー内の条件を示しています。

  • リクエスタのポリシーには、aws:RequestedRegion の条件があります。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-1" } }

    ポリシーが出典リージョンへのアクセスを許可していないため、リクエストは失敗します。リクエストを正常に実行するには、出典リージョンとコピー先リージョンの両方を指定します。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-east-2" ] } }
  • リクエスタのポリシーでは、出典 DB スナップショットへのアクセスが許可されていません。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "arn:aws:rds:us-east-1:123456789012:snapshot:target-snapshot" ...

    リクエストを正常に実行するには、出典スナップショットとターゲットスナップショットの両方を指定します。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": [ "arn:aws:rds:us-east-1:123456789012:snapshot:target-snapshot", "arn:aws:rds:us-east-2:123456789012:snapshot:source-snapshot" ] ...
  • リクエスターのポリシーが aws:ViaAWSService を拒否します。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "Bool": {"aws:ViaAWSService": "false"} }

    出典リージョンとの通信は、リクエスタに代わって RDS によって行われます。リクエストを正常に実行するには、AWS のサービスからの呼び出しを拒否しないでください。

  • リクエスターのポリシーには、aws:SourceVpc または aws:SourceVpce の条件があります。

    RDS がリモートリージョンへの呼び出しを行うとき、指定された VPC または VPC エンドポイントからの呼び出しではないため、これらのリクエストは失敗する可能性があります。

リクエストが失敗する原因となる前述の条件のいずれかを使用する必要がある場合は、ポリシーに aws:CalledVia とともに 2 番目のステートメントを含めて、リクエストを成功させることができます。例えば、次のように aws:CalledViaaws:SourceVpce を使用できます。

... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "Condition" : { "ForAnyValue:StringEquals" : { "aws:SourceVpce": "vpce-1a2b3c4d" } } }, { "Effect": "Allow", "Action": [ "rds:CopyDBSnapshot" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "rds.amazonaws.com" ] } } }

詳細については、IAM ユーザーガイド の 「IAM のポリシーとアクセス許可」を参照してください。

スナップショットコピーの承認

クロスリージョン DB スナップショットコピーリクエストが success を返した後、RDS はバックグラウンドでコピーをスタートします。RDS が出典スナップショットにアクセスするための承認が作成されます。この承認は、出典 DB スナップショットをターゲット DB スナップショットにリンクし、RDS が指定されたターゲットスナップショットにのみコピーできるようにします。

承認は、サービスにリンクされた IAM ロールの rds:CrossRegionCommunication アクセス許可を使用して RDS によって検証されます。コピーが承認されると、RDS は出典リージョンと通信し、コピーを完了します。

RDS は、CopyDBSnapshot リクエストによって以前に許可されていない DB スナップショットにアクセスできません。コピーが完了すると、認証は取り消されます。

RDS は、サービスリンクされたロールを使用して、出典リージョンでの承認を確認します。コピープロセス中にサービスリンクされたロールを削除すると、コピーは失敗します。

詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの使用」を参照してください。

AWS Security Token Service 認証情報の使用

グローバル AWS Security Token Service (AWS STS) エンドポイントからのセッショントークンは、デフォルトで有効になっている AWS リージョン (商用リージョン) でのみ有効です。assumeRole の AWS STS API 操作からの認証情報を使用する場合、出典リージョンがオプトインリージョンである場合は、そのリージョンのエンドポイントを使用します。それ以外の場合、このリクエストは失敗します。これは、認証情報が両方のリージョンで有効である必要があるために発生します。これは、そのリージョンの AWS STS エンドポイントが使用されている場合にのみオプトインリージョンに当てはまります。

グローバルエンドポイントを使用するには、オペレーションで両方のリージョンで有効になっていることを確認します。Valid in all AWS Regions アカウント設定でグローバルエンドポイントを AWS STS に設定します。

署名付き URL パラメータの認証情報にも同じルールが適用されます。

詳細については、IAM ユーザーガイドの「AWS リージョンでの AWS STS の管理」を参照してください。

レイテンシーと複数のコピーリクエスト

コピー元とコピー先の AWS リージョンおよびデータのコピー量に応じて、リージョン間のスナップショットのコピーは完了するまでに長時間かかることがあります。

場合によっては、特定のコピー元 AWS リージョンから多数のクロスリージョンスナップショットコピーのリクエストが発生することがあります。このような場合、Amazon RDS は進行中のいくつかのコピーが完了するまで、そのコピー元 AWS リージョンからの新しいクロスリージョンコピーリクエストをキューに入れることがあります。コピーリクエストがキューに入っている間は、そのリクエストに関する進捗情報は表示されません。コピーがスタートされたときに、進捗情報は表示されます。

フルコピーと増分コピー

出典スナップショットとは異なる AWS リージョンにスナップショットをコピーする場合、初期のコピーでは、増分スナップショットをコピーした場合でもフルスナップショットコピーになります。フル・スナップショット・コピーには、DB インスタンスを復元するために必要なデータやメタデータすべてが含まれます。初期のスナップショットコピーの後、同じ DB インスタンスの増分スナップショットを同じ AWS アカウント内の同じコピー先リージョンにコピーできます。増分スナップショットの詳細については、「増分スナップショットコピー」を参照してください。

AWS リージョン間での増分スナップショットコピーは、暗号化されていないスナップショットと暗号化されたスナップショットの両方がサポートされています。

AWS リージョンにわたってスナップショットをコピーする場合、次の条件に合致すればコピーは増分となります。

  • スナップショットが以前、コピー先のリージョンにコピーされたことがある。

  • 最近のスナップショットコピーがコピー先のリージョンにまだ存在する。

  • 送信先リージョンのスナップショットのコピーがすべて、暗号化されていないか、あるいは同じ KMS キーを使って暗号化されていた。

オプショングループに関する考慮事項

オプショングループは、作成元の AWS リージョン専用であり、作成元の AWS リージョンと異なる AWS リージョンでは使用できません。

リージョン間でスナップショットをコピーする際に、スナップショットの新しいオプショングループを指定できます。新しいオプショングループは、スナップショットをコピーする前に作成することをお勧めします。オプショングループを作成するには、コピー先の AWS リージョンで、元の DB インスタンスと同じ設定を使用します。コピー先の AWS リージョンにオプショングループが既にある場合は、それを使用できます。

場合によっては、スナップショットをコピーし、そのスナップショットの新しいオプショングループを指定しないこともあるでしょう。このような場合、スナップショットを復元すると、DB インスタンスはデフォルトのオプショングループを取得します。新しい DB インスタンスでコピー元と同じ設定を使用するには、以下の操作を行います。

  1. オプショングループを作成するには、コピー先の AWS リージョンで、元の DB インスタンスと同じ設定を使用します。コピー先の AWS リージョンにオプショングループが既にある場合は、それを使用できます。

  2. コピー先の AWS リージョンでスナップショットを復元したら、新しい DB インスタンスを変更し、前のステップの新規または既存のオプショングループを追加します。

パラメータグループに関する考慮事項

リージョン間でスナップショットをコピーすると、コピーにはコピー元の DB インスタンス で使用されているパラメータグループは含まれません。スナップショットを復元して新しい DB インスタンスを作成すると、その DB インスタンスには、作成先 AWS リージョンでのデフォルトのパラメータグループが適用されます。新しい DB インスタンスでコピー元と同じパラメータを使用するには、以下の操作を行います。

  1. DB パラメータグループを作成するには、コピー先の AWS リージョンで元の DB インスタンスと同じ設定を使用します。コピー先の AWS リージョンにオプショングループが既にある場合は、それを使用できます。

  2. コピー先の AWS リージョンでスナップショットを復元したら、新しい DB インスタンスを変更し、前のステップの新規または既存のパラメータグループを追加します。

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

このトピックの手順に従って DB スナップショットをコピーします。スナップショットのコピーの概要については、「のスナップショットのコピー」を参照してください。

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

データ転送料金の詳細については、「Amazon RDS の料金」を参照してください。

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

AWS Management Console、AWS CLI、または RDS API を使用して DB スナップショットをコピーできます。

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

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

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

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

  3. コピーする DB スナップショットを選択します。

  4. [アクション] で、[スナップショットをコピー] を選択します。

    [スナップショットをコピー] ページが表示されます。

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

    注記

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

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

    自動バックアップまたは手動スナップショットは複数のコピーを作成できますが、各コピーには一意の識別子が必要です。

  7. (オプション) [Target Option Group] では、新しいオプショングループを選択します。

    AWS リージョン間でスナップショットをコピーし、DB インスタンスでデフォルト以外のオプショングループを使用する場合に、このオプションを指定します。

    コピー元の DB インスタンスで Transparent Data Encryption for Oracle または Microsoft SQL Server を使用する場合は、リージョン間でコピーするときに、このオプションを指定する必要があります。詳細については、「オプショングループに関する考慮事項」を参照してください。

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

  9. (オプション) [暗号化] では、次の操作を行います。

    1. DB スナップショットは暗号化されていないが、コピーを暗号化する場合、[暗号を有効化] を選択します。

      注記

      DB スナップショットが暗号化されている場合は、コピーを暗号化する必要があります。そのため、チェックボックスは既にオンになっています。

    2. [AWS KMS key] で、DB スナップショットコピーの暗号化に使用する KMS キー識別子を指定します。

  10. [スナップショットのコピー] を選択します。

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

DB スナップショットをコピーするには、以下のオプションを使用します。状況に応じてオプションを使い分けることができます。以下の説明と例を参考にして、どのオプションを使用するか判断してください。

  • --source-db-snapshot-identifier - コピー元の DB スナップショットの識別子。

    • スナップショットのコピー元とコピー先が同じ AWS リージョンである場合は、有効な DB スナップショットの識別子を指定します。例えば、rds:mysql-instance1-snapshot-20130805 と指定します。

    • スナップショットのコピー元とコピー先が異なる AWS リージョンである場合は、有効な DB スナップショットの ARN を指定します。例えば、arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 と指定します。

    • 共有された手動 DB スナップショットからコピーする場合、このパラメータは、共有された DB スナップショットの Amazon リソースネーム (ARN) であることが必要です。

    • 暗号化されたスナップショットをコピーする場合、このパラメータは、コピー元の AWS リージョンの ARN 形式であること、さらに SourceDBSnapshotIdentifier パラメータの PreSignedUrl と一致することが必要です。

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

  • --copy-tags - スナップショットからスナップショットのコピーにタグと値をコピーするために使用します。

  • --option-group-name - スナップショットのコピーに関連付けるオプショングループ。

    AWS リージョン間でスナップショットをコピーし、DB インスタンスでデフォルト以外のオプショングループを使用する場合に、このオプションを指定します。

    コピー元の DB インスタンスで Transparent Data Encryption for Oracle または Microsoft SQL Server を使用する場合は、リージョン間でコピーするときに、このオプションを指定する必要があります。詳細については、「オプショングループに関する考慮事項」を参照してください。

  • --kms-key-id - 暗号化された DB スナップショットの KMS キー識別子。KMS キー識別子は、KMS キーの Amazon リソースネーム (ARN)、キー識別子、またはキーエイリアスです。

    • AWS アカウントから暗号化された DB スナップショットをコピーする場合、このパラメータの値を指定して新しい KMS キーでコピーを暗号化できます。このパラメータの値を指定しないと、DB スナップショットのコピーはコピー元の DB スナップショットと同じ KMS キーで暗号化されます。

    • 別の AWS アカウントと共有されている暗号化された DB スナップショットをコピーする場合は、このパラメータの値を指定する必要があります。

    • このパラメータを指定して暗号化されていないスナップショットをコピーすると、コピーは暗号化されます。

    • 暗号化されたスナップショットを別の AWS リージョンにコピーする場合は、送信先 AWS リージョンの KMS キーを指定する必要があります。KMS キーは、それらが作成された AWS リージョンに固有のものであるため、ある AWS リージョンの暗号化キーを別の AWS リージョンで使用することはできません。

  • --source-region - コピー元の DB スナップショットの AWS リージョンの ID。暗号化されたスナップショットを別の AWS リージョンにコピーする場合は、このオプションを指定する必要があります。

例 暗号化されていない出典を同じリージョン内でコピー

次のコードでは、スナップショットのコピーを mydbsnapshotcopy という新しい名前で、コピー元のスナップショットと同じ AWS リージョンに作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。

Linux、macOS、Unix の場合:

aws rds copy-db-snapshot \ --source-db-snapshot-identifier mysql-instance1-snapshot-20130805 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --copy-tags

Windows の場合:

aws rds copy-db-snapshot ^ --source-db-snapshot-identifier mysql-instance1-snapshot-20130805 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --copy-tags

例 暗号化されていない出典をリージョン間でコピー

次のコードでは、スナップショットのコピーを mydbsnapshotcopy という新しい名前で、コマンドの実行先の AWS リージョンに作成します。

Linux、macOS、Unix の場合:

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

Windows の場合:

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

例 暗号化された出典をリージョン間でコピー

次のコード例では、米国西部 (オレゴン) リージョンから US East (N. Virginia) リージョンに暗号化された DB スナップショットをコピーします。コピー先リージョン (us-east-1) でコマンドを実行します。

Linux、macOS、Unix の場合:

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 \ --option-group-name custom-option-group-name

Windows の場合:

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 ^ --option-group-name custom-option-group-name

Amazon RDS API の CopyDBSnapshot オペレーションを使用して、DB スナップショットをコピーできます。スナップショットのコピー先が新しい AWS リージョンである場合は、その新しい AWS リージョンでアクションを実行します。

DB スナップショットをコピーするには、以下のパラメータを使用します。状況に応じてパラメータを使い分けることができます。以下の説明と例を参考にして、どのパラメータを使用するか判断してください。

  • SourceDBSnapshotIdentifier - コピー元の DB スナップショットの識別子。

    • スナップショットのコピー元とコピー先が同じ AWS リージョンである場合は、有効な DB スナップショットの識別子を指定します。例えば、rds:mysql-instance1-snapshot-20130805 と指定します。

    • スナップショットのコピー元とコピー先が異なる AWS リージョンである場合は、有効な DB スナップショットの ARN を指定します。例えば、arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 と指定します。

    • 共有された手動 DB スナップショットからコピーする場合、このパラメータは、共有された DB スナップショットの Amazon リソースネーム (ARN) であることが必要です。

    • 暗号化されたスナップショットをコピーする場合、このパラメータは、コピー元の AWS リージョンの ARN 形式であること、さらに SourceDBSnapshotIdentifier パラメータの PreSignedUrl と一致することが必要です。

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

  • CopyTags - スナップショットからスナップショットのコピーにタグと値をコピーするには、このパラメータを true に設定します。デフォルト: false

  • OptionGroupName - スナップショットのコピーに関連付けるオプショングループ。

    AWS リージョン間でスナップショットをコピーし、DB インスタンスでデフォルト以外のオプショングループを使用する場合に、このパラメータを指定します。

    コピー元の DB インスタンスで Transparent Data Encryption for Oracle または Microsoft SQL Server を使用する場合は、リージョン間でコピーするときに、このパラメータを指定する必要があります。詳細については、「オプショングループに関する考慮事項」を参照してください。

  • KmsKeyId - 暗号化された DB スナップショットの KMS キー識別子。KMS キー識別子は、KMS キーの Amazon リソースネーム (ARN)、キー識別子、またはキーエイリアスです。

    • AWS アカウントから暗号化された DB スナップショットをコピーする場合、このパラメータの値を指定して新しい KMS キーでコピーを暗号化できます。このパラメータの値を指定しないと、DB スナップショットのコピーはコピー元の DB スナップショットと同じ KMS キーで暗号化されます。

    • 別の AWS アカウントと共有されている暗号化された DB スナップショットをコピーする場合は、このパラメータの値を指定する必要があります。

    • このパラメータを指定して暗号化されていないスナップショットをコピーすると、コピーは暗号化されます。

    • 暗号化されたスナップショットを別の AWS リージョンにコピーする場合は、送信先 AWS リージョンの KMS キーを指定する必要があります。KMS キーは、それらが作成された AWS リージョンに固有のものであるため、ある AWS リージョンの暗号化キーを別の AWS リージョンで使用することはできません。

  • PreSignedUrl - コピー元の DB スナップショットがあるコピー元の AWS リージョンで CopyDBSnapshot API オペレーションに対する署名バージョン 4 で署名されたリクエストを含む URL。

    Amazon RDS API を使用して、暗号化された DB スナップショットを別の AWS リージョンからコピーするときに、このパラメータを指定します。AWS を使用して、暗号化された DB スナップショットを別の AWS CLI リージョンからコピーするときは、このパラメータの代わりにコピー元のリージョンのオプションを指定できます。

    署名付き URL は、コピー元の暗号化された DB スナップショットがあるコピー元の CopyDBSnapshot リージョンで実行できる AWS API オペレーションに対する有効なリクエストでなければなりません。署名付き URL リクエストでは、以下のパラメータ値を指定する必要があります。

    • DestinationRegion - 暗号化された DB スナップショットのコピー先の AWS リージョン。これは、この署名付き URL がある、AWS オペレーションの呼び出し元の CopyDBSnapshot リージョンと同じです。

      例えば、us-west-2 リージョンから us-east-1 リージョンに暗号化された DB スナップショットをコピーするとします。次に、us-east-1 リージョンで CopyDBSnapshot オペレーションを呼び出し、us-west-2 リージョンでの CopyDBSnapshot オペレーションへの呼び出しを含む事前署名された URL を指定します。この例では、署名付き URL の DestinationRegion を us-east-1 リージョンに設定する必要があります。

    • KmsKeyId - 送信先 AWS リージョンで DB スナップショットのコピーを暗号化するのに使用するキーの KMS キー識別子。これは、コピー先の CopyDBSnapshot リージョンで呼び出す AWS オペレーションおよび署名付き URL に含まれているオペレーションの両方で同じ識別子です。

    • SourceDBSnapshotIdentifier - コピー元の暗号化されたスナップショットの DB スナップショット識別子。この識別子は、コピー元の AWS リージョンの Amazon リソースネーム (ARN) 形式であることが必要です。例えば、暗号化された DB スナップショットを us-west-2 リージョンからコピーする場合、SourceDBSnapshotIdentifierarn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 のようになります。

    書名バージョン 4 の 署名要件についての詳細は、以下を参照してください。

例 暗号化されていない出典を同じリージョン内でコピー

次のコードでは、スナップショットのコピーを mydbsnapshotcopy という新しい名前で、コピー元のスナップショットと同じ AWS リージョンに作成します。コピーが作成されると、元のスナップショットのすべてのタグはコピーされたスナップショットにコピーされます。

https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBSnapshot &CopyTags=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=mysql-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

例 暗号化されていない出典をリージョン間でコピー

次のコードでは、スナップショットのコピーを mydbsnapshotcopy という新しい名前で 米国西部 (北カリフォルニア) リージョンに作成します。

https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBSnapshot &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

例 暗号化された出典をリージョン間でコピー

次のコードでは、スナップショットのコピーを mydbsnapshotcopy という新しい名前で米国東部 (バージニア北部) リージョンに作成します。

https://rds.us-east-1.amazonaws.com/ ?Action=CopyDBSnapshot &KmsKeyId=my-us-east-1-key &OptionGroupName=custom-option-group-name &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