我正在使用以下命令通过AWS CLI创建RDS
create-db-instance
Run Code Online (Sandbox Code Playgroud)
RDS正在创建,但是我要等到RDS进入“可用”状态,以便我可以执行脚本的其余部分。我不确定如何实现这一目标。
我有一个脚本可以跨区域复制未加密和加密的快照。脚本在未加密的快照副本上运行良好,但由于某种原因,加密副本失败并出现错误:-
An error occurred (InvalidParameterValue) when calling the CopyDBSnapshot operation: PreSignedUrl could not be authenticated.
Run Code Online (Sandbox Code Playgroud)
这是我用来复制加密快照的代码
aws rds copy-db-snapshot
--source-db-snapshot-identifier $source_identifier \
--target-db-snapshot-identifier ${target_identifier} \
--kms-key-id $Enc_Key_ID\
--region $target_region
--source-region $source_region \
--tags Key="owner",Value="RDS Copy Job"
Run Code Online (Sandbox Code Playgroud)
此处传递的所有变量(加密密钥除外)与跨区域的未加密副本一起正常工作。
我想知道出了什么问题。任何帮助和建议对我都有很大帮助。(更新)
aws rds copy-db-snapshot \
--source-db-snapshot-identifier arn:aws:rds:us-west-1:717934610271:snapshot:rds:rds-snapshot??-name-dev-2017-12-22??-08-08 \
--target-db-snapshot-identifier test-rds-snapshotname \
--kms-key-id XXXXXX-XXXXXX-XXXXXX-XXXXXX \
--region us-east-1\
--source-region us-west-1 \
--tags Key="owner",Value="RDS Copy Job"
Run Code Online (Sandbox Code Playgroud)
以上是用于复制的完整命令。我正在使用 ARN 进行复制
我正在使用创建RDS
创建-DB实例
如何将其分配给VPC组?我没有看到任何标签来实现这一点.它正在选择默认VPC组并分配给RDS.
这是我用来创建RDS的脚本(我在bash脚本中定义的标签中传递变量).>>
aws rds create-db-instance \
--db-name WIND \
--vpc-security-group-ids $sgGroup_id \
--db-instance-identifier $Instance_Identifier \
--allocated-storage 100 \
--copy-tags-to-snapshot \
--db-instance-class ${arrDbClass[$iDbClass]} \
--engine oracle-ee \
--engine-version ${arrEngVer[$iEngVer]} \
--license-model bring-your-own-license \
--master-username oraadmin \
--master-user-password $oraadminPassword \
--no-auto-minor-version-upgrade \
--no-publicly-accessible \
--backup-retention-period $backup_Retention_Period \
--no-storage-encrypted \
--storage-type gp2 \
--no-enable-iam-database-authentication \
$multi_Az \
Run Code Online (Sandbox Code Playgroud)