Amazon RDS Custom for SQL Server DB スナップショットのコピー
RDS Custom for SQL Server を使用すると、自動バックアップまたは手動 DB スナップショットをコピーできます。スナップショットをコピーすると、作成するコピーは手動スナップショットになります。自動バックアップまたは手動スナップショットは複数のコピーを作成できますが、各コピーには一意の識別子が必要です。
RDS Custom for SQL Server が利用可能な異なる AWS リージョン の同じ AWS アカウント内でのみスナップショットをコピーできます。以下のオペレーションは現在サポートされていません。
同じ AWS リージョン 内で DB スナップショットをコピーする。
AWS アカウント間で DB スナップショットをコピーする。
RDS Custom for SQL Server は、増分スナップショットコピーをサポートしています。詳細については、「増分スナップショットのコピーに関する考慮事項」を参照してください。
トピック
制限事項
RDS Custom for SQL Server の DB スナップショットのコピーには、次の制限が適用されます。
-
ターゲットスナップショットが使用可能になる前に出典スナップショットを削除すると、スナップショットはコピーされない場合があります。ターゲットスナップショットのステータスが
AVAILABLE
になったことを確認してから、ソーススナップショットを削除してください。 -
DB スナップショットのコピーリクエストでオプショングループ名を指定したり、オプショングループをコピーしたりすることはできません。
-
コピープロセス前またはコピープロセス中にソース DB スナップショットの依存 AWS リソースを削除すると、コピースナップショットリクエストが非同期的に失敗する可能性があります。
-
アカウントの RDS Custom マネージド S3 バケットに保存されているソース DB インスタンスのサービスマスターキー (SMK) バックアップファイルを削除すると、DB スナップショットのコピーは非同期的に成功します。ただし、TDE が有効になっているデータベースなど、SQL Server の機能は SMK に依存するため、問題が発生します。詳細については、「RDS Custom for SQL Server の TDE が有効なデータベースの PENDING_RECOVERY 状態のトラブルシューティング」を参照してください。
-
同じ AWS リージョン 内の DB スナップショットのコピーは現在サポートされていません。
AWS アカウント間での DB スナップショットのコピーは現在サポートされていません。
Amazon RDS の DB スナップショットのコピーの制限は、RDS Custom for SQL Server にも適用されます。詳細については、「制限事項」を参照してください。
暗号化の処理
すべての RDS Custom for SQL Server DB インスタンスと DB スナップショットは KMS キーで暗号化されます。暗号化されたスナップショットは暗号化されたスナップショットにのみコピーできるため、DB スナップショットのコピーリクエストのコピー先 AWS リージョン で有効な KMS キーを指定する必要があります。
ソーススナップショットはコピープロセス全体で暗号化されたままになります。Amazon RDS は、エンベロープ暗号化を使用して、指定されたコピー先の AWS リージョン KMS キーによるコピーオペレーション中にデータを保護します。詳細については、「AWS Key Management Service デベロッパーガイド」の「エンベロープ暗号化」を参照してください。
リージョン間のコピー
AWS リージョン 間で DB スナップショットをコピーできます。ただし、クロスリージョンのスナップショットコピーには、特定の制約と考慮事項があります。
RDS がスナップショットのコピーのために AWS リージョン 間で通信することを許可する
リージョン間の DB スナップショットのコピーリクエストが正常に処理されると、RDS はコピーを開始します。RDS がソーススナップショットにアクセスするための認証リクエストが作成されます。この認証リクエストは、ソース DB スナップショットをターゲット DB スナップショットにリンクします。これにより、RDS は指定されたターゲットスナップショットにのみコピーできます。
RDS は、サービスにリンクされた IAM ロールの rds:CrossRegionCommunication
アクセス許可を使用して認証を検証します。コピーが認証されると、RDS はコピー元リージョンと通信し、コピーオペレーションを完了します。
RDS は、CopyDBSnapshot リクエストによって以前に許可されていない DB スナップショットにアクセスできません。コピーが完了すると、認証は取り消されます。
RDS は、サービスリンクされたロールを使用して、出典リージョンでの承認を確認します。コピープロセス中にサービスリンクロールを削除すると、コピーは失敗します。
詳細については、「AWS Identity and Access Management ユーザーガイド」の「サービスにリンクされたロールの使用」を参照してください。
AWS Security Token Service 認証情報の使用
グローバル AWS Security Token Service (AWS STS) エンドポイントからのセッショントークンは、デフォルトで有効になっている AWS リージョン (商用リージョン) でのみ有効です。assumeRole
の AWS STS API 操作からの認証情報を使用する場合、出典リージョンがオプトインリージョンである場合は、そのリージョンのエンドポイントを使用します。それ以外の場合、このリクエストは失敗します。認証情報が両方のリージョンで有効である必要があります。これは、そのリージョンの AWS STS エンドポイントが使用されている場合のみオプトインリージョンに当てはまります。
グローバルエンドポイントを使用するには、オペレーションで両方のリージョンで有効になっていることを確認します。AWS STS アカウント設定のすべての AWS リージョン でグローバルエンドポイントを Valid
に設定します。
詳細については、「AWS Identity and Access Management ユーザーガイド」の「AWS リージョン での AWS STS の管理」を参照してください。
カスタムエンジンバージョン (CEV) で作成された DB インスタンスのスナップショット
カスタムエンジンバージョン (CEV) を使用する DB インスタンスの DB スナップショットの場合、RDS は CEV を DB スナップショットに関連付けます。CEV に関連付けられたソース DB スナップショットを AWS リージョン 間でコピーするために、RDS はソース DB スナップショットとともに CEV をコピー先リージョンにコピーします。
同じ CEV に関連付けられた複数の DB スナップショットを同じコピー先リージョンにコピーする場合、最初のコピーリクエストは関連付けられた CEV をコピーします。次のリクエストのコピープロセスでは、最初にコピーされた CEV を検索し、それを次の DB スナップショットコピーに関連付けます。DB スナップショットコピーに関連付けるには、既存の CEV コピーが AVAILABLE
状態である必要があります。
CEV に関連付けられた DB スナップショットをコピーするには、リクエスタの IAM ポリシーに、DB スナップショットのコピーと関連付けられた CEV のコピーの両方を許可するアクセス許可が必要です。関連付けられた CEV のコピーを許可するには、リクエスタの IAM ポリシーで次のアクセス許可が必要です。
-
rds:CopyCustomDBEngineVersion
- リクエスタ IAM プリンシパルには、ソース DB スナップショットとともにソース CEV をコピー先リージョンにコピーするアクセス許可が必要です。リクエスタ IAM プリンシパルがソース CEV のコピーを認証されていない場合、スナップショットのコピーリクエストは認証エラーにより失敗します。 -
ec2:CreateTags
- ソース CEV の基盤となる EC2 AMI は、CEV のコピーの一部としてコピー先リージョンにコピーされます。RDS Custom は、AMI をコピーする前に AMI にAWSRDSCustom
タグを付けようとします。リクエスタ IAM プリンシパルに、ソースリージョンのソース CEV の基盤となる AMI に対してタグを作成するアクセス許可があることを確認します。
CEV コピーのアクセス許可の設定については、「IAM プリンシパルに必要なアクセス権限を付与します。」を参照してください。
IAM プリンシパルに必要なアクセス権限を付与します。
RDS Custom for SQL Server DB スナップショットをコピーするための十分なアクセス権があることを確認してください。コンソールまたは CLI を使用して DB スナップショットをコピーするための IAM ロールまたは IAM ユーザー (IAM プリンシパル) には、DB インスタンスを正常に作成するために、次のいずれかのポリシーが必要です。
-
AdministratorAccess
ポリシー、または -
追加のアクセス許可を持つ
AmazonRDSFullAccess
ポリシーです。s3:CreateBucket s3:GetBucketPolicy s3:PutBucketPolicy kms:CreateGrant kms:DescribeKey ec2:CreateTags
RDS Custom は、AWS リージョン 間でスナップショットをコピーするときにこれらのアクセス許可を使用します。これらのアクセス許可は、RDS Custom オペレーションに必要なアカウントのリソースを設定します。kms:CreateGrant
アクセス許可の詳細については、「AWS KMS key 管理」を参照してください。
次のサンプル JSON ポリシーにより、AmazonRDSFullAccess
ポリシーの他に必要なアクセス許可が付与されます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateS3BucketAndReadWriteBucketPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*" }, { "Sid": "CreateKmsGrant", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "CreateEc2Tags", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "*" } ] }
注記
リストされたアクセス許可が、IAM プリンシパルに関連付けられたサービスコントロールポリシー (SCP)、アクセス許可の境界、またはセッションポリシーによって制限されていないことを確認します。
リクエスタの IAM ポリシーでコンテキストキーを使用した条件を指定すると、特定の条件によってリクエストが失敗する可能性があります。IAM ポリシー条件による一般的な落とし穴についての詳細は、「クロスリージョン DB スナップショットコピーのリクエスト」を参照してください。
DB スナップショットのコピー
DB スナップショットをコピーするには、次の手順に従います。AWS アカウントごとに、AWS リージョン 間で同時に最大 20 個の DB スナップショットをコピーできます。別の AWS リージョン に DB スナップショットをコピーする場合には、その AWS リージョン に保持されている手動 DB スナップショットを作成します。コピー元の AWS リージョン から DB スナップショットをコピーすると、Amazon RDS のデータ転送料金が発生します。データ転送料金の詳細については、「Amazon RDS の料金
DB スナップショットのコピーが新しい AWS リージョン に作成されると、その DB スナップショットのコピーは、AWS リージョン にある他のすべての DB スナップショットと同じように動作します。
AWS Management Console、AWS CLI、または Amazon RDS API を使用して DB スナップショットをコピーできます。