Tìm kiếm ví dụ ec2 bằng tên của nó từ công cụ dòng lệnh aws


32

Tôi có một ví dụ tên dev-server-03. Bây giờ làm thế nào tôi có thể tìm kiếm tất cả các dev-server-*trường hợp từ dòng lệnh?

Tôi đang sử dụng công cụ aws cli.


Điều này phụ thuộc vào cách bạn đặt tên ví dụ. Bạn đã đặt tên máy chủ bên trong HĐH, trên bảng điều khiển AWS hoặc cả hai?
Craig Watson

Vâng, bên trong tên máy chủ của hệ điều hành được đặt thành cùng tên.
Shiplu Mokaddim

Câu trả lời:


55

Giả sử rằng bạn đang sử dụng quy ước đặt tên của cá thể trong thẻ bằng khóa "Tên" (đây là những gì Bảng điều khiển AWS thực hiện khi bạn nhập tên), thì bạn có thể sử dụng --filterstùy chọn để liệt kê các trường hợp đó với aws-cli:

aws ec2 describe-instances --filters 'Name=tag:Name,Values=dev-server-*'

Nếu bạn chỉ muốn id cá thể của những cá thể đó, bạn có thể sử dụng:

aws ec2 describe-instances --filters 'Name=tag:Name,Values=dev-server-*' \
  --output text --query 'Reservations[*].Instances[*].InstanceId'

Lưu ý: --querycó thể yêu cầu một phiên bản gần đây của aws-cli nhưng nó đáng để nhận.


1
Ôi, tôi đã mất gần nửa giờ để tìm ra điều này ... thật kỳ lạ làm sao:Name=tag:Name
lisak

1
Cảm ơn Eric - Tôi đã nhận được nhiều ID cá thể trên cùng một dòng, sử dụng truy vấn của bạn, nhưng github.com/aws/aws-cli/issues/914#issuecomment-56210312 đề xuất --query 'Reservations[].Instances[].[InstanceId]cho tôi
jaygooby

3
FWIW, jqcông cụ có thể được sử dụng để có kết quả tương tự aws --querynhư thế này: - aws ec2 describe-instances | jq '.Reservations[].Instances[].PrivateIpAddress'lưu ý .dấu chấm trước .
MarkHu

bạn có thể làm cho bộ lọc mô tả trường hợp không nhạy cảm?
red888

3

Bạn có thể lọc thêm với tên, id cá thể và ip riêng với bên dưới,

aws ec2 describe-instances --filters "Name=tag:Name,Values=*myinstance*" --output json --query 'Reservations[*].Instances[*].[PrivateIpAddress,InstanceId,Tags[?Key==`Name`].Value]' --region us-east-1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.