Skip to content

shenyubao/ttlecs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TTLECS

基于云服务(阿里云等)创建带有TTL(Time To Alive)能力的服务器实例,通过小时级的生命周期控制,降低硬件成本开销。本项目封装了云服务的API细节、提供创建实例后的预置命令下发,提供了更易于被集成和运维的命令行工具。

产品能力

  1. 支持通过Yaml定义ECS购买模版,并支持到期自动释放
  2. 支持实例开启后执行自定义命令、运行docker容器
  3. 支持一键询价、查询最低价(阿里云抢占式实例)
  4. 支持标准命令行一键购买,便于与Crontab集成

使用场景

  1. 网络加速场景,仅在办公时间段开通代理服务
  2. 大数据计算场景,仅在夜间扩容大数据集群实例
  3. 有明显业务高峰的场景,仅在高峰时间扩容业务服务器
  4. 成本对比
    • 数据来自阿里云香港Region( 2022.6.5 )
    • 当前阿里云抢占式实例有优惠,优惠期结束后的价格参考常规价
场景 规格 包月成本 使用时长(月) 资源成本(月) 降幅百分比
网络加速 规格:ecs.xn4.small
CPU:1c
内存:1g
系统盘:40g
带宽上限:5M
按使用流量计费
¥73.97+¥1.0/GB 8h*30d 优惠期:¥6.96+¥1.0/GB
常规价:¥30.0+¥1.0/GB
优惠期:90.59%
常规价:54.98%
大数据计算 规格:ecs.g6.8xlarge
CPU:32c
内存:128g
系统盘:200g
¥6777.20 8h*30d 优惠期:¥1353.36
常规价:¥3441.6
优惠期:80.03%
常规价:49.21%
业务服务 规格:ecs.g7.xlarge
CPU:4c
内存:16g
系统盘:100g
¥1040.15 2h*30d 优惠期:¥27.78
常规价:¥109.2
优惠期:97.32%
常规价:89.50%

快速开始

  1. 安装 ttlecs
$ pip3 install ttlecs
  1. 生成配置文件
$ ttlecs template > ~/.ttlecs/config.yaml
  1. 生成服务器实例
$ ttlecs dayrun --config ~/.ttlecs/config.yaml
> 参数校验成功,可正确创建实例

$ ttlecs run --config ~/.ttlecs/config.yaml
>  实例创建中,列表: i-j6cgzuz5omckbahcpdfj
>  --------------------
>  正在启动实例
>  [i-j6cgzuz5omckbahcpdfj] 已启动, IP:['47.243.40.83']
>  --------------------
>  开始执行命令:yum install -y docker; service docker start; docker pull shadowsocks/shadowsocks-libev; docker run -e PASSWORD=pwd8388 -p8388:8388 -p8388:8388/udp -d shadowsocks/shadowsocks-libev
>  正在获取命令结果
>  [i-j6cgzuz5omckbahcpdfj] 命令执行完成, 执行结果:Success
  1. 查看实例列表
$ ttlecs list --config ~/.ttlecs/config.yaml
> [ID]:i-j6cgzuz5omcjwziab0eg [IP]:47.243.244.73 [创建]:2022-06-18 14:01 [到期]:2022-06-18 15:00

其他文档

配置项说明

常见问题

License

  • MIT License

About

create TTL (Time to Live) docker container on cloud (aliyun, digitalocean, ...), reduce the cost of application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages