19 个版本 (12 个破坏性更新)
0.14.1 | 2022 年 3 月 27 日 |
---|---|
0.13.0 | 2021 年 8 月 1 日 |
0.12.0 | 2021 年 2 月 23 日 |
0.9.1 | 2020 年 12 月 29 日 |
0.7.0 | 2020 年 11 月 24 日 |
#2193 in 命令行工具
每月 44 次下载
47KB
1.5K SLoC
ec2-search
轻松搜索 EC2 实例
安装
Cargo 安装
使用 Rust 的包管理器 cargo,您可以通过以下方式安装:
$ cargo install ec2-search
如果您安装了最新主分支的提交
$ cargo install --git https://github.com/mocyuto/ec2-search --branch master
Homebrew
macOS 或 Linux
$ brew tap mocyuto/tap
$ brew install ec2-search
设置完成
如果您通过 brew
命令安装,它将自动设置。否则,请运行以下命令。
# zsh
$ ec2s completion zsh > /usr/local/share/zsh/site-functions/_ec2s
# bash
$ ec2s completion bash > /usr/local/etc/bash_completion.d/ec2s
用法
$ ec2s help
AWS 凭证
ec2-search 需要 aws 凭证,因此您需要设置凭证。您可以使用环境变量或 "~/.aws/credentials"
。
配置文件
如果设置且不为空,则环境变量 AWS_PROFILE
的值为默认值
实例
搜索实例信息。
$ ec2s instance help
# or alias. see help
$ ec2s i help
info
显示基本信息
$ ec2s i info -q api
ID Name Status Type
i-012345678 test-api1 running t2.micro
counts: 1
# display wide when set -o option
$ ec2s i info -q api -o wide
ID Name Status Type PrivateDNS PrivateIP AZ LifeCycle
i-012345678 test-api1 running t2.micro ip-10-10-10-10.ap-northeast-1.compute.internal 10.0.0.1 ap-northeast-1 spot
# display tag column when set -T option
$ ec2s i info -q api -T Name,env
ID Name Status Type Name env
i-012345678 test-api1 running t2.micro test-api1 staging
# display all tag columns when set --show-all-tags option
$ ec2s i info -q api --show-all-tags
ID Name Status Type Name env
i-012345678 test-api1 running t2.micro test-api1 staging
实例 ID
显示实例 ID
## like search
$ ec2s instance ids -q "api"
ID Name
i-012345678 test-api1
i-023456789 test-api2
counts: 2
实例 IP
显示实例的公共和私有 IP。
$ ec2s instance ips -q "api"
Private IP Public IP Name
10.0.0.1 test-api1
10.0.0.2 test-api2
counts: 2
实例 DNS 名称
显示实例的公共和私有 DNS 名称
$ ec2s i dns -q api
Private DNS Public DNS Name
ip-10-10-10-10.ap-northeast-1.compute.internal test-api1
ip-10-10-10-11.ap-northeast-1.compute.internal test-api2
counts: 2
目标组
$ ec2s target-group help
# or alias
$ ec2s tg help
信息
显示目标组信息
$ ec2s tg info -q api
Name TargetType LB
aaaaa-api ip ["aaaaa-bbbb-apialb"]
bbbbb-api ip ["bbbbb-cccc-apiinteralb"]
api-web instance ["prd-api-web"]
counts: 5
目标健康状态
显示目标健康状态
$ ec2s tg health -q api-web
ID Port Status
i-01002020202000101 80 healthy
counts: 1
自动扩展组
$ ec2s auto-scaling-group help
# or alias
$ ec2s asg help
信息
显示自动扩展组信息
$ ec2s asg info -q eks
Name Instances Desired Min Max
prd-eks-autoscale 7 7 1 40
prd-eks-stateful 6 6 4 20
stg-eks-autoscale 1 1 1 20
stg-eks-stateful 2 2 1 10
counts: 4
实例
显示自动扩展组实例。
$ ec2s asg inst -q stg-eks-api-autoscale
ID LifeCycle InstanceType AZ Status
i-01010101010101011 InService t3.medium ap-northeast-1c Healthy
counts: 1
依赖项
~92MB
~1.5M SLoC