Boto:利用Python将自动化机制引入AWS服务

Boto允许大家编写部分脚本,从而以自动化方式实现AWS EC2实例启动等常见操作。

Boto是一套Python软件包,旨在将编程性连接引入Amazon Web Services当中。

Amazon Cloud提供一系列可对服务器资源进行动态规模伸缩的服务方案,具体包括核心计算服务、Elastic Compute Cloud(即弹性计算云,简称EC2)、多种存储机制、负载均衡工具以及DNS等等。大家可以通过AWS控制台或者利用AWS的扩展API对这些服务加以控制。不过除此之外,大家还可以利用多种第三方库使用该API。在Python领域,我们可以选择Boto。Boto允许用户编写各种便利的脚本方案,从而以自动化方式实现多种常见操作,例如启动或停止EC2实例,或者定期为服务器保存快照等。

在Linux(CentOS)平台上安装Boto

1.大家首先需要使用yum软件包管理器来安装Python与pipPython软件包安装工具:

2.现在我们将通过pip安装Boto软件包:

3.最后,我们可以测试一切是否已经被成功安装到自己的Linux设备之上:

配置AWS凭证

在首次启动时,Boto库会搜索以下位置中的配置文件(按先后次序):

  • /etc/boto.cfg – for site-wide settings for all users on this machine
  • ~/.boto – for user-specific settings

用例

让我们首先从基本场景入手:启动一个EC2实例

以上Python脚本会接入到Amazon的美国西部区域基础设施并利用AMI id:ami-6ac2a85a启动一个实例。

预设停止实例。现在假设大家希望在每天的特定时间点停止自己的测试环境实例,那么运行:

大家可以通过创建一个cron任务来确保该脚本在每一天的特定时间点执行相关预设操作。


CloudFront无效化。AWS并不提供面向CloudFront的命令行工具。因此,如果大家希望弃用某些对象,则需要登录至控制台并将相关对象添加到无效类别当中。整个过程非常漫长而且相当繁琐。不过不用担心,现在我们可以利用Boto库来完成这项任务:

以上脚本会读取特定文件当中的对象,将其设定为无效,输出一个无效ID,最后清除invalid.txt文件当中的内容。


Boto所支持的AWS服务

截至目前,Boto能够支持超过五十种Amazon服务,具体涵盖计算、数据库、应用程序以及支付与计费等领域。大家可以点击此处查看Python.org网站上的完整列表。


总结

Boto允许大家编写各类脚本,从而实现Amazon云环境当中各类复杂的设置管理工作。除此之外,它还能够支持Google Storage等其它多种公有云服务,外加Eucalyptus、OpenStack以及Open Nebula等私有云系统。


如果大家拥有一定程度的Python编写经验并且珍惜自己的宝贵时间,请千万不要错过Boto这款出色的解决方案。


原文链接:

http://cloudacademy.com/blog/boto-using-python-to-automate-aws-services/

核子可乐译

猜你喜欢

转载自blog.csdn.net/u012365585/article/details/48550215
今日推荐