豆子很有一段时间没有去碰aws了,最近看了看发现完全可以用powershell来进行管理,兴致勃勃地打算写个自动化的脚本来配置个高可用的网站练手。不过不积跬步无以至千里,先从最基本的东西看起。
下载安装AWSPowerShell模块
首先,需要下载对应的模块,下载地址在这里。
http://aws.amazon.com/powershell/
下载之后按照提示安装就行了。
默认情况下,他会把模块安装到下面这个地址
C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell
根据个人习惯,可以手动或者配置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
|
如果不想要了,可以删掉
1
|
Clear-AWSCredentials
-ProfileName myprofile
|
3. 初始化链接
配置了profile之后,就可以链接到自己的AWS了,指定profile名字和登录的区域
1
|
Initialize-AWSDefaults -ProfileName myprofile -Region ap-southeast-2
|
如果不确定 区域的简写,可以通过下面这个命令查看
1
|
Get-AWSRegion
|
来测试一下是否工作
1
|
Get-EC2Instance
|
成功获取了一个我的EC2实例,试试看能否远程关机。
成功!
4. 搜索需要的命令
现在成功的连上了AWS,那么我可以使用哪些命令呢?首先看看这个模块一共多少个命令?
1
|
Get-Command
-Module AWSPowerShell | measure
|
哇!足足有1909个命令,基本上任何图形界面能够实现的功能都能用powershell实现了。
事实上,他的确包括了几乎AWS的每个服务
这么多命令,怎么搜索自己需要的呢?
一种方法是通过服务操作类型来搜索
如果我知道对应的操作名称,我可以直接搜索 apioperation
甚至可以直接省略
如果我记不太清完整的名字,我可以通过正则命令来进行匹配,比如我需要知道任何和securitygroup相关的服务操作
1
|
Get-AWSCmdletName
–ApiOperation SecurityGroup -MatchWithRegex
|
另外一种方法是PowerShell里面通用的方法,通过命令的名字来搜索
比如
1
|
Get-Command
*EC2* -Module AWSPowerShell
|
现在豆子成功地连上了AWS,那么下一步来看看如何使用PowerShell来配置基本的EC2 服务了。