我如何使用 Boto Start/Stop 个 AWS RDS 实例?
How do I Start/Stop AWS RDS Instances using Boto?
我对 Amazon RDS 有疑问。我想根据需要 Start/Stop AWS RDS 实例。 AWS 控制台不允许我这样做。
我知道的唯一方法是拍摄 rds 实例的快照并将其删除,然后在需要时使用该快照创建 rds 实例。
有没有更好的方法可以使用 Boto 实现同样的效果?
不,这可能是您能做的最好的。 RDS API 不支持 EC2 实例的 Stop/Start 功能。
假设您可以使用 boto3...
开始:
http://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.start_db_instance
停止:
http://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.stop_db_instance
是的,现在只需添加 Venkata 答案即可 start/stop 使用 boto3 的实例。我使用 boto3 start_db_instance、stop_db_instance 创建了一个 start/stop 我的 rds 实例的 aws lambda,如下所示:
启动实例:
导入 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实例名。
要记住的一件重要事情是,您应该为您的 lambda 提供一个角色,如果您想要 start/stop rds,您应该设置一个至少具有此权限的角色。
您只能启动或停止单个可用区实例的AWS RDS实例。对于您的情况,您必须检查多可用区选项是启用还是禁用。
如果您的数据库位于多个可用区,最好的方法是拍摄快照并恢复它。
我对 Amazon RDS 有疑问。我想根据需要 Start/Stop AWS RDS 实例。 AWS 控制台不允许我这样做。
我知道的唯一方法是拍摄 rds 实例的快照并将其删除,然后在需要时使用该快照创建 rds 实例。 有没有更好的方法可以使用 Boto 实现同样的效果?
不,这可能是您能做的最好的。 RDS API 不支持 EC2 实例的 Stop/Start 功能。
假设您可以使用 boto3...
开始: http://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.start_db_instance
停止: http://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.stop_db_instance
是的,现在只需添加 Venkata 答案即可 start/stop 使用 boto3 的实例。我使用 boto3 start_db_instance、stop_db_instance 创建了一个 start/stop 我的 rds 实例的 aws lambda,如下所示:
启动实例: 导入 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实例名。
要记住的一件重要事情是,您应该为您的 lambda 提供一个角色,如果您想要 start/stop rds,您应该设置一个至少具有此权限的角色。
您只能启动或停止单个可用区实例的AWS RDS实例。对于您的情况,您必须检查多可用区选项是启用还是禁用。
如果您的数据库位于多个可用区,最好的方法是拍摄快照并恢复它。