#ec2 #aws #aws-cli #cli

bin+lib ec2-search

轻松搜索 AWS EC2。命名为 ec2s

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 次下载

Apache-2.0

47KB
1.5K SLoC

ec2-search

Test

轻松搜索 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