PowerShell 自动化管理 AWS (1) - 初始化连接

豆子很有一段时间没有去碰aws了,最近看了看发现完全可以用powershell来进行管理,兴致勃勃地打算写个自动化的脚本来配置个高可用的网站练手。不过不积跬步无以至千里,先从最基本的东西看起。


  1. 下载安装AWSPowerShell模块


首先,需要下载对应的模块,下载地址在这里。

http://aws.amazon.com/powershell/


下载之后按照提示安装就行了。


默认情况下,他会把模块安装到下面这个地址

C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell

PowerShell 自动化管理 AWS (1) - 初始化连接




根据个人习惯,可以手动或者配置powershell profile,或者更改$env:pspath的路径来导入模块。


导入模块之后就可以使用相关的命令了

1
import-module AWSPowerShell


   2. 配置安全访问文件


要访问AWS,首先得有一个AWS的账户,注册一个免费的试用账户可以用1年。使用主账号登录AWS,然后在IAM里面创建一个新的账号,分配权限,下载保存这个账户的AccessKey和SecretKey

具体操作可以参考我的这篇文章

http://beanxyz.blog.51cto.com/5570417/1433013


有了这两个安全码,我们可以配置这个用户的profile文件了,然后利用这个文件来初始化链接,这样比每次都指定安全代码简单安全多了。


生成对应的profile文件

1
Set-AWSCredentials -AccessKey AKIAJASDFSXSXV2RQ -SecretKey Pc58DwSDFo4Pe41SN618H+yFv5SDFSFJ2M -StoreAs myprofile


确认一下

1
Get-AWSCredentials -ListProfiles

PowerShell 自动化管理 AWS (1) - 初始化连接

如果不想要了,可以删掉

1
Clear-AWSCredentials -ProfileName myprofile



3. 初始化链接


配置了profile之后,就可以链接到自己的AWS了,指定profile名字和登录的区域

1
 Initialize-AWSDefaults -ProfileName myprofile -Region ap-southeast-2

如果不确定 区域的简写,可以通过下面这个命令查看

1
Get-AWSRegion

PowerShell 自动化管理 AWS (1) - 初始化连接

来测试一下是否工作

1
 Get-EC2Instance

PowerShell 自动化管理 AWS (1) - 初始化连接


成功获取了一个我的EC2实例,试试看能否远程关机。


PowerShell 自动化管理 AWS (1) - 初始化连接


成功!

PowerShell 自动化管理 AWS (1) - 初始化连接


4. 搜索需要的命令


现在成功的连上了AWS,那么我可以使用哪些命令呢?首先看看这个模块一共多少个命令?

1
Get-Command -Module AWSPowerShell | measure

哇!足足有1909个命令,基本上任何图形界面能够实现的功能都能用powershell实现了。

PowerShell 自动化管理 AWS (1) - 初始化连接


事实上,他的确包括了几乎AWS的每个服务


PowerShell 自动化管理 AWS (1) - 初始化连接

这么多命令,怎么搜索自己需要的呢?


一种方法是通过服务操作类型来搜索


如果我知道对应的操作名称,我可以直接搜索 apioperation

PowerShell 自动化管理 AWS (1) - 初始化连接


甚至可以直接省略

PowerShell 自动化管理 AWS (1) - 初始化连接


如果我记不太清完整的名字,我可以通过正则命令来进行匹配,比如我需要知道任何和securitygroup相关的服务操作

1
Get-AWSCmdletName –ApiOperation SecurityGroup -MatchWithRegex

PowerShell 自动化管理 AWS (1) - 初始化连接

 


 另外一种方法是PowerShell里面通用的方法,通过命令的名字来搜索

比如

1
 Get-Command *EC2* -Module AWSPowerShell

PowerShell 自动化管理 AWS (1) - 初始化连接


现在豆子成功地连上了AWS,那么下一步来看看如何使用PowerShell来配置基本的EC2 服务了。






本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1793572,如需转载请自行联系原作者