我正在尝试将Amazon RDS快照从一个区域复制到另一个区域,但它不起作用。
但是,我可以使用以下代码将其复制到相同的原点。
let URL = `https://rds.us-west-1.amazonaws.com/?Action=CopyDBSnapshot?SourceDBSnapshotIdentifier=${snapshot.DBSnapshotArn},?DestinationRegion=us-west-1?KmsKeyId=KmsKeyId?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=access-key/${date}/us-west-1/rds/aws4_request&X-Amz-Date=${datetime}&X-Amz-Expires=86400&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date&X-Amz-Signature=somevalue`;
let copyparams = {
SourceDBSnapshotIdentifier: snapshot.DBSnapshotArn,
TargetDBSnapshotIdentifier: snapshotname,
CopyTags: true,
SourceRegion: 'us-east-1',
PreSignedUrl: url
};
rds.copyDBSnapshot(copyparams, function(err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
});
答案 0 :(得分:0)
在同一区域中复制快照时,可以使用dbSnapshot标识符,但是在跨区域复制快照时,必须做三件事。
1:必须在目标区域中创建客户端。
2:必须使用快照ARN而不是快照标识符。
3:您必须指定源区域。
这是python如何自动将RDS快照复制到新区域的很好的演练。设置时间为5分钟。它包含所有所需的代码以及分步说明和视频演示!
https://geektopia.tech/post.php?blogpost=Automating_The_Cross_Region_Copy_Of_RDS_Snapshots