2015-06-10 93 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,則應該設置一個至少具有此權限的角色。