2015-06-10 95 views
1

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

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

+0

[Amazon RDS停止实例]的可能重复(http://stackoverflow.com/questions/23326688/amazon-rds-stop-instance) –

+1

不,因为没有这样的事情。您可以终止一个快照并稍后创建一个新的,这几乎是一回事,但目前RDS API中没有停止操作 –

回答

1

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

0

有的,只是现在加文卡塔答案你可以使用boto3来启动/停止实例。我创建了一个AWS拉姆达其中开始/停止我的RDS实例,使用boto3 start_db_instance,stop_db_instance如下所示:

启动实例: 进口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,则应该设置一个至少具有此权限的角色。