AWS资源的使用方式
客户应该如何使用AWS的各种资源及其全球基础设施这些服务呢?这个问题的答案就是API。在AWS中,所有的操作都可以称为调用API。所谓API,就是应用程序接口(Application Programming Interface)。这是一个很常用的概念。通过调用API,客户能够预置、配置和管理AWS资源。
不论是启用EC2实例,还是创建Lambda函数,客户都可以通过调用不同的API使用AWS资源。客户可以通过AWS控制台(Management Console)、命令行界面(Command Line Interface,简称CLI)、软件开发工具包(Software Development Kits,简称SDKs)或者CloudFormation等工具调用AWS的API。这样就能够创建和管理AWS资源。
我们先来说AWS控制台。它其实就是下面这个网页。这个操作比较简答,点点鼠标什么都能搞定,是AWS初学者的救命稻草。通过控制台,你可以看到自己用了什么AWS资源,然后看看自己的账单。
但是当你对AWS的认识有所提高,甚至需要在上面做一些开发工作的时候,点鼠标这种模式就不一定那么好了。一方面,每次都点一遍很麻烦。另一方面,总是点来点去,难免不会犯错。那怎么办呢?这时候就需要用到AWS CLI。客户可以把要做的事情都写在程序里,通过CLI直接调用API。这样简单易行,实现自动化运行,而且不会犯错误。
另外一种和AWS交互的方式是通过SDKs。客户可以利用各种编程语言,通过SDKs,使用AWS的各种资源。利用SDKs,编程高手可以直接跳过底层API,直接使用AWS。当然,这样也就不必在控制台上点鼠标了。
除了控制台、CLI和SDKs以外,还有别的工具可以管理AWS环境。我们继续介绍。
AWS弹性豆茎(AWS Elastic Beanstalk)可以帮助可以使用基于EC2的环境。通过这个服务,客户可以把自己的应用程序或者设置好的参数输入到弹性豆茎中,然后弹性豆茎通过这些信息帮助客户创建环境。AWS弹性豆茎服务简化环境设置存储过程,便于重复部署。客户可以专注做自己的事情,而不是将大量的精力花到IT基础设施上去。
AWS CloudFormation同样可以帮助客户实现重复自动部署。它是一种基础设施即代码的工具,帮助客户使用基于JSON或YAML文本的文档以声明的方式定义各种各样的AWS资源。这种文档就是所谓AWS CloudFormation模板。客户可以在CloudFormation上任意定义,CloudFormation的引擎会考虑有关API调用的详细信息,构建所有内容。
CloudFormation不仅适用基于EC2的解决方案,它还支持存储、数据库、分析、机器学习等各种AWS资源。只要客户在CloudFormation模板上定义自己的资源,它就会解析模板,开始连接各种资源。
总结一下,AWS控制台全部手工操作,容易上手,适合于初学者。但是缺点是不能自动化。我们可以通过CLI实现和AWS的自动交互。我们还可以写程序,然后通过SDKs和AWS交互。最后,弹性豆茎和CloudFormation也是和AWS交互的管理工具。