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

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
AWS News Blog
AWS News Blog
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
Attack and Defense Labs
Attack and Defense Labs
Jina AI
Jina AI
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
H
Help Net Security
V
Visual Studio Blog
宝玉的分享
宝玉的分享
C
Cybersecurity and Infrastructure Security Agency CISA
T
Threat Research - Cisco Blogs
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
Latest news
Latest news
T
Tor Project blog
I
Intezer
美团技术团队
GbyAI
GbyAI
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Scott Helme
Scott Helme
Y
Y Combinator Blog
博客园 - 司徒正美
T
Tenable Blog
O
OpenAI News
N
News and Events Feed by Topic
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Google Online Security Blog
Google Online Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
Help Net Security
Help Net Security

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):黑群晖系统安装好后怎么洗白? NAS折腾记(5):群晖硬盘休眠设置与分析 NAS折腾记(4): 20分钟手把手带你完美安装 DS918+ 黑群晖7.1.1 NAS折腾记(3):NAS 装机 NAS折腾记(2):B360-ITX 双M.2 双2.5G网口 6 SATA主版 开箱 NAS折腾记(1):328元的4盘位Nas机箱开箱 Openwrt + Clash 全局科学上网 Newifi3 刷入 OpenWrt 固件 v21.02 利用 Markdown 画一些流程图、时序图、甘特图等 Homelab(8): 搭建自用 Gitlab 与 Docker 仓库 Nginx Tcp 转发保留客户端真实 IP (PROXY Protocol) Homelab (7):IPSec VPN(基于证书认证)客户端设置 Homelab (6): 基于自签发证书的 IPSec VPN 搭建 Homelab (5): DDNS 动态域名解析 Homelab (4): Linux 服务器基础环境准备 Homelab (3): 整体网络与基础硬件介绍 Go学习笔记(十)老项目迁移 go module 大型灾难记录 Github Actions 初体验之自动化部署 Hexo 博客 记一次 Nginx DNS 缓存导致转发问题 Homelab (2): 电信悦me网关修改桥接模式,路由器拨号 Homelab (1):5分钟上手黑群晖 NAS 终极 Bash 脚本指南 Typora 自动上传图片到七牛云 Ubuntu 20.04 LTS 有线网卡驱动安装 折腾 Ubuntu 20.04 LTS 开发环境 Go学习笔记(九) 计时器的生命周期[译] 利用 git hook 规范你的代码与 commit message 规范 git commit message 与自动化版本控制 超详细 vim 配置 (with MacVim) Golang 中的 RESTful API 最佳实践 折腾服务器(开篇) 我的第一台个人服务器 Newifi3 实现低成本家庭级科学上网 Go学习笔记(八) | 使用 os/exec 执行命令 如何用 Go 调用 Windows API Mac OS 自动根据 WI-FI 名字改变网络位置 关于 Docker 清理 MIME Types 速查表 Go学习笔记(七) | 理解OAuth 2.0并实现一个客户端 我又又又把博客迁移了 Go学习笔记(六) | 使用swaggo自动生成Restful API文档 Go学习笔记(五) | 使用代码片段(snippets)提高编码效率 书单 - 2018 IPFS 初体验,利用 IPFS 托管你的静态网站 记一次 PostgreSQL LIKE 索引优化,联合字段 LIKE 查询优化。 Disqus 添加有趣的 Reactions 的功能 TLS 1.3 详解 (RFC 8446解读) gRPC在Go中的使用(三)gRPC实现TLS加密通信与流模式 gRPC在Go中的使用(二)gRPC实现简单通讯 gRPC在Go中的使用(一)Protocol Buffers语法与相关使用 CentOS 安装 tshark 抓包工具 Go学习笔记(四) | win上使用VSCode搭建Go开发环境 日常 Postgres 数据库点滴记录 简单了解 PKCS 规范 美食篇 | DIY戚风蛋糕(烤箱做蛋糕) Go学习笔记(三) | 怎么写Go基准测试(性能测试) TLS1.3正式更新,为Nginx添加TLS1.3的支持 一次诡异的数据库删除 GitHub Pages自定义域名开启HTTPS 证书透明度是什么?它是怎么工作的? Go学习笔记(二) | 我对 recover 的一点误解 搭建证书透明度(certificate-transparency)日志服务之从入门到放弃 修复远程登陆 Centos 时,出现 UTF-8 Warning HTTPS篇之SSL握手过程详解 Go学习笔记(一) | postgres与golang点点滴滴 数字证书分类及怎么区分各类数字证书 常用 linux 命令小结(一)文件目录操作 云服务器搭建 hexo 博客,git hooks自动更新 SSH 免密登陆, SSH Config 配置 Golang CGO Mac 交叉编译 Windows 使用 goose 让数据库迁移更加轻松 开始使用Ghost
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" 

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