AWS CLI介绍

在开始本文之前,首先我来简单的介绍一下AWS CLI:

AWS Command Line Interface(AWS CLI)是一个开源工具,可以让你通过命令行shell来与AWS的服务进行交互。 AWS CLI提供了一种以直接方式去访问公共的API和AWS的服务。

以上文字翻译自AWS CLI的官方介绍,如果你想更深入的了解该工具,可以参考这里:What is the AWS Command Line Interface?

当然,上述的介绍可能会比较抽象,我相信大多数人看完上述的介绍仍然是一脸懵逼。所以,接下来我假设需要使用到AWS CLI的一个场景。

场景模拟

有一天,我发现,某个邪教网站开业了,身怀正义的我,自然是要为人民除害,因此,我要和这个网站的安全运维battle一下。

就在我动手之前,突然想起来,之前有人黑赌博网站,然后被溯源到住址,砍断了一双手…

我为了能保住我的这双手,在和这个网站的安全运维battle之前,自然是要做一些保护措施,比如…戴套。

而我恰好是一个比较懒的人,不想每次渗透前,手工创建机器,搭建梯子,再等渗透结束后,手工销毁机器。

因此,我简单的研究了一下AWS CLI的使用,在我每次搞事情前,自动创建虚拟机,搭建梯子,搞完事情后,自动销毁虚拟机。

AWS CLI的安装及配置

安装过程,可以参考官方文档:Installing or updating the latest version of the AWS CLI

安装完成后,需要登录进AWS控制台,生成Access Key。

第一步:点击Security credentials。 file

第二步: 生成Access Key并记录Access Key ID, Access Key。 file

记录成功后,就可以输入aws configure命令来配置AWS CLI:

aws configure
AWS Access Key ID: ****************QVW2
AWS Secret Access Key: ****************epWK
Default region name: ap-east-1

配置完成后,就可以使用AWS CLI来完成我们想做的事情了。

AWS CLI的使用 - EC2

AWS CLI工具非常强大,不同的服务有不同的用法,在这里我来列举一下我自己常用到的一些命令:

1 - 查看所有的ec2实例(输出实例id公网ip

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,PublicIpAddress]'

如果你只需要获取公网ip的话,可以执行下面命令:

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[PublicIpAddress]'

2 - 创建一台ec2实例

aws ec2 run-instances --image-id ami-0b981d9ee99b28eba --count 1 --instance-type t3.micro --key-name aws --security-groups only_ssh
# image-id: 镜像id,手工创建实例时,可以获得。
# count: 创建几台ec2实例。
# instance-type: 实例的类型(t3.micro最便宜的)
# key-name: 创建完成后,用哪个私钥进行登录
# security-groups: 该实例的安全组

3 - 启动ec2实例

aws ec2 start-instances --instance-ids i-0c696a12aa9497d4b
# --instance-ids,你要启动的实例id

4 - 停止ec2实例

aws ec2 stop-instances --instance-ids i-0c696a12aa9497d4b

5 - 删除ec2实例

aws ec2 terminate-instances --instance-ids  i-0c696a12aa9497d4b

6 - AMI列表

ami-06aad80794c63d37b - kali linix
ami-0b981d9ee99b28eba - ubuntu

由于AWS服务的特殊性,每次EC2实例拿到的都是一个临时的ip地址,这就意味着,一旦你关闭EC2实例,再打开时,你的EC2实例的公网ip就完全发生了变化…

此时,不管你想爬虫,还是想爆破,还是想扫描…善于利用AWS CLI工具,善于利用AWS EC2实例的特性,一切都是那么的轻松加自然。

如果你想探索AWS CLI工具中更多EC2的用法,可以参考:ec2 - AWS CLI 1.25.8 Command Reference