惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
腾讯CDC
D
Docker
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
The Cloudflare Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
量子位
美团技术团队
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

Razeen`s Blog

Let's Encrypt 推出 Gen Y 根证书架构:揭示 Web PKI 的五大未来趋势 通过 Wi-Fi 自动备份你的 iPhone 到 Nas 管理培训感悟:从技术视角看管理之路 UPS 一拖多:保护你的 NAS 和 Linux 服务器 从影音中心到 AI 助手:我的50款 Homelab 服务清单 从SSL证书有效期将缩短到47天聊开去 部署一个自己的 Running Page 谈谈特斯拉 Model Y 用车一年的感受和费用分析 弃用 Disqus 评论,使用自建 Waline 使用 Prometheus 和 Grafana 搭建你的证书监控面板 服务器迁移记:一次磁盘换板引发的Linux分区与挂载的学习 改善信息来源, 利用 RSS 高效获取资讯 (RSShub + Reeder5 + WeWe RSS) 多种 Docker 镜像拉取解决方案与实践 App分享 | AppCleaner - Mac上的卸载神器 Azure OpenAI API 申请和使用 如何开通 OneKey 虚拟信用卡,并充值消费 如何拥有一个可长期在国内使用的国外手机号码 分享开通 ChatGPT Plus 过程 如何开通 Depay 虚拟信用卡,并充值消费 如何开通欧易Web3钱包, 交易入账 如何5分钟内1块钱注册 ChatGPT 如何注册美区的 Apple ID (2023年/无需科学上网) NAS折腾记(11): NASTool3.0体验和降级 NAS折腾记(10): Docker版本的NASTool配置 NAS折腾记(9): NASTool与微信交互,微信发送消息远程下载电影【多图】 NAS折腾记(8):群晖安装 NASTool 实现影音半自动化【多图】 内网穿透(2):Tailscale 组网实现内网穿透,操作简单,无成本 内网穿透(1):总结了11中内网穿透的方式,总有一种适合你 NAS折腾记(7):从零开始设置(黑)群晖系统 NAS折腾记(6):黑群晖系统安装好后怎么洗白?
AWS 命令行界面(aws-cli)从安装到快速上手
2017-11-17 · via Razeen`s Blog

AWS 命令行界面 (CLI) 是用于管理 AWS 服务的统一工具。只通过一个工具进行下载和配置,您可以使用命令行控制多个 AWS 服务并利用脚本来自动执行这些服务。 —- aws官方是这么描叙aws-cli的。在实际使用的时候通过脚本完成全自动化部署,一键管理许多云服务,aws-cli确实是你管理aws服务的一个提高生产力的好工具。

安装aws-cli

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ ./awscli-bundle/install -b ~/bin/aws
$ sudo ln -s  ~/.local/lib/aws/bin/aws  /usr/local/bin/aws
$ aws --version

配置aws-cli

1. 创建访问密钥

话不多说,看图操作。

最后的访问密钥ID和私有访问密钥复制一下,准备工作👌。

2. 设置本地配置

$ aws configure
AWS Access Key ID [None]: # 刚刚获得的访问密钥ID
AWS Secret Access Key [None]: # 刚刚获得的私有访问密钥 
Default region name [None]: us-west-2  # 你的服务地区
Default output format [None]: json # 你需要返回的数据格式

如果你不知道你的地区名字 你可以点这里查找。

上手使用

这里有几个日常管理常用的命令使用方法,更多的请看这里

实例管理

创建实例

1.在创建实例前你的选择一个镜像,也是就一个模板,可以是自己的或社区的。

# 查看所有AMI,包括你的所有公用AMI
aws ec2 describe-images --executable-users all
# 查看亚马逊的
aws ec2 describe-images --owners amazon
# 查看指定账户公用的
aws ec2 describe-images --owners 123456789012

可以通过--filters 筛选出你感兴趣的 AMI 类型。如只显示 EBS 支持的 AMI

 --filters "Name=root-device-type,Values=ebs"

2.创建实例

# 我选的是 Amazon Linux AMI 2017.09.1 (HVM), SSD Volume Type - ami-ec499a81
aws ec2 run-instances \
	--image-id ami-ec499a81 \ # 从哪个镜像起
	--count 1 \ # 起多少台
	--instance-type t2.microE \ # 什么型号的实例
	--key-name mykey \ # 用那组秘钥对
	--security-group-ids sg-2236db46 # 实例安全组

更多实例型号看这里

添加标签
aws ec2 create-tags --resources "i-031380f079902c9bd" --tags 'Key=Name,Value=MyAuto'

aws ec2 create-tags命令能给所有的资源添加标签,所以这里你指定你的--resources 为你的实例 ID,并且指定你需要添加的标签名以及内容。

获取实例状态信息
aws ec2 describe-instance-status --instance-id "i-031380f079902c9bd"

这个返回的是实例的所有状态信息,如果你只需要部分可以利用--query参数

# 查看实例是不是在运行
aws ec2 describe-instance-status --instance-id "i-031380f079902c9bd" --query "InstanceStatuses[0].InstanceState.Name"
>> "running"
获取实例详细信息
aws ec2 describe-instances --instance-ids "i-031380f079902c9bd"

当然,如果你只看IP

 aws ec2 describe-instances --instance-ids "i-031380f079902c9bd" --query "Reservations[0].Instances[0].PublicIpAddress"
>> "55.222.111.22"

到这里你就可以在控制台看到该实例了。

删除实例
aws ec2 terminate-instances --instance-ids "i-031380f079902c9bd"

AMI管理

创建AMI
# 从实例 i-031380f079902c9bd 创建镜像
aws ec2 create-image \
	--description "TEST_AMI" \ # AMI描叙 
	--instance-id "i-031380f079902c9bd" \ # 实例ID
	--name "testami20171030" # 创建的AMI名字

在创建该镜像时会自动创建一个快照,当然如果你要指定快照信息可以使用--block-device-mappings参数。

为AMI添加标签
aws ec2 create-tags --resources "ami-d4975eb9" --tags 'Key=Name,Value=MyAutoAMI'
查看AMI信息
aws ec2 describe-images --image-ids "ami-d4975eb9"

这个可以返回镜像的所有信息,如果你只看其中某一项,你可以利用--query参数.

 # 只查看状态
aws ec2 describe-images --image-ids "ami-d4975eb9" --query "Images[0].State" 
>> pendding

上面一顿操作结束,你就可以在你的AMI控制台看到。

删除AMI
aws ec2 deregister-image --image-id "ami-d4975eb9"

如果你和我一样在创建AMI没有指定快照,那么它会自动为你创建快照。

# 查询该镜像快照ID
aws ec2 describe-images --image-ids "ami-d4975eb9" --query "Images[0].BlockDeviceMappings[0].Ebs.SnapshotId"
>> "snap-f269e2fa"
# 删除快照
aws ec2 delete-snapshot --snapshot-id "snap-f269e2fa"

自动缩放组管理

创建缩放组启动配置
aws autoscaling create-launch-configuration \
	--launch-configuration-name "oldlanchconf" \ # 启动配置名字
	--image-id "ami-d4975eb9" \ # 启动的模板镜像
	--instance-type "t2.microE" \ # 启动的实例类型
	--security-groups "sg-2236db46" \ # 启动的实例安全组
	--key-name "mykey" \ # 秘钥
	--associate-public-ip-address  # 为该实例分配一个公有IP
创建自动缩放组
# 在指定的子网内创建一个缩放组
aws autoscaling create-auto-scaling-group \
	--auto-scaling-group-name "mygroup" \  # 缩放组名字
	--launch-configuration-name "oldlanchconf" \  # 缩放组启动配置
	--min-size 1 \  # 缩放组最小实例数
	--max-size 3 \  # 最大
	--vpc-zone-identifier "subnet-41767929c" # "缩放组子网id"
# 创建一个配置负载均衡的缩放组
aws autoscaling create-auto-scaling-group \
	--auto-scaling-group-name "mygroup" \
	--launch-configuration-name "oldlanchconf" \
	--load-balancer-names "my-load-balancer" \  # 负载平衡器
	--health-check-type "ELB" \  # 健康状态检查类型 使用ELB提供的健康检查
	--health-check-grace-period 120  # 实例自动伸缩前120秒的任何健康检查失败将被忽略
修改已有缩放组启动配置
aws autoscaling update-auto-scaling-group --auto-scaling-group-name "oldlanchconf" --launch-configuration-name "newlaunchconf"
将实例加入缩放组
 aws autoscaling attach-instances --instance-ids "i-031380f079902c9bd" --auto-scaling-group-name "mygroup" 

主要的操作大概也就这些,更多请看官方文档,如有错误,请指出哦。