Boto:利用Python将自动化机制引入AWS服务
来源:互联网 发布:金山数据大师破解版 编辑:程序博客网 时间:2024/05/21 10:35
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/
核子可乐译
- Boto:利用Python将自动化机制引入AWS服务
- Boto - python lib for AWS
- python boto AWS SQS connection
- AWS EC2上传文件到S3(python boto)
- 使用Python 和Boto 库将文件备份到AmazonS3
- AWS kinesis use boto, boto use aws_security_token or aws_session_token
- Python 安装boto boto3
- Boto
- 自动化部署服务——AWS CodeDeploy 快速入门
- AWS自动化合规slide
- 外部系统调用AWS ML服务的接口 - Python
- hadoop rpc机制 && 将avro引入hadoop rpc机制初探
- hadoop rpc机制 && 将avro引入hadoop rpc机制初探
- python将linux系统下的war包自动部署到winserver2008tomcat服务下的自动化脚本
- 利用python做web自动化测试
- Python利用splinter实现浏览器自动化操作
- 使用aws邮件服务
- AWS S3服务 笔记
- UVa10340
- 黑马程序员---Java基础---多线程
- JAVA设计模式之观察者模式
- 软键盘遮盖
- django signal基础
- Boto:利用Python将自动化机制引入AWS服务
- 旋转卡壳介绍
- 微信接口 请求 编码 utf-8 相关设置
- 根据新浪天气API获取各地天气状况(Java实现)
- 杭电1203I NEED A OFFER!
- 5.0后版本的AssetBundle 使用
- POJ2002Squares【求点集中正方形的个数 计算几何+Hash】
- 15个postgresql数据库实用命令分享
- 三种代理框架使用简介