AWS-CLI:将RDS Aurora数据库实例创建到从快照创建的现有集群中

时间:2017-07-24 15:28:27

标签: amazon-web-services amazon-rds-aurora

根据我的研究,我发现使用CLI创建一个Aurora集群,其中包含来自现有快照的实例的唯一方法是遵循以下步骤:

1)从现有群集创建快照

2)从快照启动集群

3)将实例添加到集群

因此,我使用最新AWS CLI版本运行的命令就是这些(以及输出):

aws rds create-db-cluster-snapshot \ --db-cluster-snapshot-identifier analytics-replica-db \ --db-cluster-identifier prodcluster

输出此结果的

- > { "DBClusterSnapshot": { "Engine": "aurora", "SnapshotCreateTime": "2017-07-24T15:08:12.836Z", "VpcId": "vpc-ID", "DBClusterIdentifier": "cluster_name", "DBClusterSnapshotArn": "arn:aws:rds:eu-west-1:aws_account:cluster-snapshot:analytics-replica-db", "MasterUsername": "db_username", "LicenseModel": "aurora", "Status": "creating", "PercentProgress": 0, "DBClusterSnapshotIdentifier": "analytics-replica-db", "IAMDatabaseAuthenticationEnabled": false, "ClusterCreateTime": "2016-04-14T11:10:02.413Z", "StorageEncrypted": false, "AllocatedStorage": 1, "EngineVersion": "5.6.10a", "SnapshotType": "manual", "AvailabilityZones": [ "eu-west-1a", "eu-west-1b", "eu-west-1c" ], "Port": 0 } }

之后,我使用以下方法创建集群:

aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier analytics-replica-cluster \ --snapshot-identifier analytics-replica-db \ --engine aurora \ --port 3306 \ --db-subnet-group-name this_is_a_subnet_group \ --database-name this_is_the_database_name_equal_to_original_cluster_db \ --vpc-security-group-ids this_is_a_random_security_group \ --no-enable-iam-database-authentication

输出:

{ "DBCluster": { "MasterUsername": "this_is_the_same_username_as_the_one_on_original_db", "ReaderEndpoint": "this_is_the_new_RDS_endpoint_of_cluster", "ReadReplicaIdentifiers": [], "VpcSecurityGroups": [ { "Status": "active", "VpcSecurityGroupId": "this_is_that_security_group" } ], "HostedZoneId": "Z29XKXDKYMONMX", "Status": "creating", "MultiAZ": false, "PreferredBackupWindow": "23:50-00:20", "DBSubnetGroup": "this_is_a_subnet_group", "AllocatedStorage": 1, "BackupRetentionPeriod": 10, "PreferredMaintenanceWindow": "fri:03:34-fri:04:04", "Engine": "aurora", "Endpoint": "this_is_the_new_RDS_endpoint_of_reader", "AssociatedRoles": [], "IAMDatabaseAuthenticationEnabled": false, "ClusterCreateTime": "2017-07-24T15:11:07.003Z", "EngineVersion": "5.6.10a", "DBClusterIdentifier": "analytics-replica-cluster", "DbClusterResourceId": "cluster-resource_id", "DBClusterMembers": [], "DBClusterArn": "arn:aws:rds:eu-west-1:aws_account:cluster:analytics-replica-cluster", "StorageEncrypted": false, "DatabaseName": "this_is_the_database_name_equal_to_original_cluster_db", "DBClusterParameterGroup": "default.aurora5.6", "AvailabilityZones": [ "eu-west-1a", "eu-west-1b", "eu-west-1c" ], "Port": 3306 } }

现在,我想做的只是运行这个 - >

aws rds create-db-instance \ --db-name this_is_the_database_name_equal_to_original_cluster_db \ --db-instance-identifier analytics-replica-instance \ --db-instance-class "db.r3.large" \ --publicly-accessible \ --no-enable-iam-database-authentication \ --db-cluster-identifier analytics-replica-cluster \ --engine aurora

我得到了这个 - >

An error occurred (InvalidParameterCombination) when calling the CreateDBInstance operation: The requested DB Instance will be a member of a DB Cluster. Set database name for the DB Cluster.

有人可以告诉我为什么它恨我?

1 个答案:

答案 0 :(得分:0)

对于面临相同问题的任何人,将新实例添加到aurora群集时,某些选项不可用。

该错误在开始时比较棘手,但是很容易理解。最后一部分Set database name for the DB Cluster.表示真正的问题,在大多数情况下,您需要删除该属性。

另一个示例An error occurred (InvalidParameterCombination) when calling the CreateDBInstance operation: The requested DB Instance will be a member of a DB Cluster. Set backup retention period for the DB Cluster.,您需要删除--backup-retention-period