Cari instance EC2 dengan namanya dari alat baris perintah aws


32

Saya memiliki contoh bernama dev-server-03. Sekarang bagaimana saya bisa mencari semua dev-server-*instance dari command line?

Saya menggunakan alat aws cli.


Ini tergantung pada bagaimana Anda menamai instance tersebut. Apakah Anda mengatur nama host di dalam OS, pada konsol AWS atau keduanya?
— Craig Watson

Ya di dalam hostname OS diatur ke Nama yang sama.
— Shiplu Mokaddim

Jawaban:


55

Dengan asumsi bahwa Anda menggunakan konvensi untuk meletakkan nama instance dalam tag dengan kunci "Nama" (inilah yang dilakukan Konsol AWS ketika Anda memasukkan nama), maka Anda dapat menggunakan --filtersopsi untuk membuat daftar instance dengan aws-cli:

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

Jika Anda hanya ingin id instance dari instance tersebut, Anda dapat menggunakan:

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

Catatan: --querymungkin membutuhkan aws-cli versi terbaru tetapi layak untuk didapatkan.


1
Omg butuh hampir setengah jam untuk mencari tahu ini ... betapa anehnya ini:Name=tag:Name
— lisak

1
Terima kasih Eric - Saya mendapatkan beberapa ID instan pada baris yang sama, menggunakan kueri Anda, tetapi github.com/aws/aws-cli/issues/914#issuecomment-56210312 menyarankan --query 'Reservations[].Instances[].[InstanceId]yang berfungsi untuk saya
— jaygooby

3
FWIW, jqalat ini dapat digunakan untuk mendapatkan hasil yang serupa aws --queryseperti ini: - aws ec2 describe-instances | jq '.Reservations[].Instances[].PrivateIpAddress'perhatikan .titik sebelumnya .
— MarkHu

dapatkah Anda membuat filter instance-case tidak sensitif?
— red888

3

Anda dapat memfilter lebih lanjut dengan nama, contoh id dan ip pribadi dengan di bawah ini,

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.