1

我有一个从以前的快照启动亚马逊 RDS 的脚本。现在我必须用 Java API 来实现这个功能。

我运行的脚本是:

rds-restore-db-instance-from-db-snapshot $RDS_DEV --db-snapshot-identifier $SNAP --db-subnet-group-name $SUBNET_GROUP --region $REGION
echo sleep $TIME

所以,在那之后我睡了一段时间,然后分配正确的安全组和参数组:

rds-modify-db-instance $RDS_DEV --db-security-groups $SEC_GROUP --db-parameter-group-name $PARAM_GROUP --apply-immediately --region $REGION

然后我重新启动实例。

在我的 API 实现中,我创建了这个方法来从快照中恢复 RDS:

    public void restoreDBSnapshot(String rdsDev, String snapshotId,
        String subnetGroup, String availabilityZone) {
        RestoreDBInstanceFromDBSnapshotRequest restoreDBInstanceRequest = new RestoreDBInstanceFromDBSnapshotRequest();
         restoreDBInstanceRequest.setDBSnapshotIdentifier(snapshotId);
         restoreDBInstanceRequest.setDBName(rdsDev);
         restoreDBInstanceRequest.setDBSubnetGroupName(subnetGroup);
         restoreDBInstanceRequest.setAvailabilityZone(availabilityZone);
         LOG.info("Restoring RDS from backup snapshot");
         this.rds.restoreDBInstanceFromDBSnapshot(restoreDBInstanceRequest);
}

但我不想让我的应用程序休眠等待 RDS 启动,然后修改 securityGroup 和 parameterGroupName 用

修改DBInstanceRequest

在创建阶段有解决方案吗?

4

0 回答 0