【问题标题】:How do I Start/Stop AWS RDS Instances using Boto?如何使用 Boto 启动/停止 AWS RDS 实例?
【发布时间】:2015-08-26 06:52:42
【问题描述】:

我有一个关于 Amazon RDS 的问题。我想根据需要启动/停止 AWS RDS 实例。 AWS 控制台不允许我这样做。

我知道的唯一方法是拍摄 rds 实例的快照并将其删除,当我需要它时,然后使用该快照创建 rds 实例。 有没有更好的方法来使用 Boto 来达到同样的效果?

【问题讨论】:

  • Amazon RDS stop instance的可能重复
  • 不,因为没有这样的东西。您可以使用快照终止并稍后创建一个新快照,这几乎是一样的,但目前 RDS API 中没有停止操作

标签: python amazon-web-services boto amazon-rds rds


【解决方案1】:
【解决方案2】:

是的,现在只需添加 Venkata 答案,您就可以使用 boto3 启动/停止实例。我创建了一个 aws lambda,它使用 boto3 start_db_instance、stop_db_instance 启动/停止我的 rds 实例,如下所示:

启动实例: 导入boto3

def handler(event, context):
    rds = boto3.client('rds', region_name='us-east-1')
    response = rds.start_db_instance(DBInstanceIdentifier='mydb-instance-name') #it should be rds instance NAME 

停止实例:

import boto3

def handler(event, context):
    rds = boto3.client('rds', region_name='us-east-1')
    response = rds.stop_db_instance(DBInstanceIdentifier='mydb-instance-name') #it should be rds instance NAME 

别忘了,DBInstanceIdentifier这个参数应该是你创建时提供的rds实例名。

要记住的重要一点是,您应该为您的 lambdas 提供一个角色,如果您想启动/停止 rds,您应该设置一个至少具有此权限的角色。

【讨论】:

    【解决方案3】:

    不,这可能是你能做的最好的事情。 RDS API 不支持 EC2 实例的停止/启动功能。

    【讨论】:

      【解决方案4】:

      您只能启动或停止单个可用区实例的 AWS RDS 实例。对于您的情况,您必须检查是否启用或禁用了多可用区选项。

      如果您的数据库位于多个可用区,最好的方法是拍摄快照并恢复它。

      【讨论】:

        猜你喜欢
        • 2017-11-28
        • 2013-04-26
        • 1970-01-01
        • 2014-12-14
        • 2022-11-18
        • 1970-01-01
        • 2018-08-15
        • 1970-01-01
        • 2019-08-03
        相关资源
        最近更新 更多