是否可以获取AWS RDS的特定可用区域中的可用实例类型列表?

时间:2017-08-07 11:54:49

标签: sql amazon-web-services cloud rds

我正在尝试使用ModifyDBInstance操作修改AWS API在vpc中启动的RDS数据库实例。我没有更改实例类型(使用db.m1.small类型启动的实例而不是canged),但我正在收到消息:

  

AWS错误。请求ModifyDBInstance失败。无法修改实例类,因为当前实例的可用区中没有可用的请求类的实例。请稍后再次尝试您的请求。 (RequestID:xxx)。

根据AWS docs

  

要确定可用于特定数据库引擎的实例类,请使用DescribeOrderableDBInstanceOptions操作。请注意,并非所有实例类都适用于所有数据库引擎的所有区域。

所以我有两个问题:

  1. 是否可以通过API获取特定AZ中可用的实例类型?在DescribeOrderableDBInstanceOptions动作响应中,我有许多实例类型,这些类型不可用。我还检查了DescribeReservedDBInstancesOfferings动作的响应,但它不合适。
  2. 为什么可以使用某种实例类型启动DBInstance,但在尝试修改DBInstance而不更改实例类型时会遇到麻烦?
  3. 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

看起来此AWS RDS CLI call中列出的返回值之一是AvailabilityZones

AvailabilityZones -> (list)
A list of Availability Zones for the orderable DB instance.
(structure)
Contains Availability Zone information.
This data type is used as an element in the following data type:
OrderableDBInstanceOption
Name -> (string)
The name of the availability zone.

通常,CLI允许您进行过滤,但由于某种原因,它不支持rds。

--filters (list)

This parameter is not currently supported.

API返回对象OrderableDBInstanceOption,该对象也列出了AZ。

回答#2是AWS确实不时存在容量问题,与其他任何云或服务提供商一样,他们通常比其他人更好地处理它。你想用什么AZ和实例的大小?如果您仍然遇到问题,我会使用AWS打开支持请求。

答案 1 :(得分:0)

最简单的方法是选择基础结构中具有的任何Rds实例,然后单击Modify,然后会有一个选项,例如dbInstanceTypes,就像下拉菜单一样,您可以在其中找到特定区域中可用的可用实例类型。