J'ai une instance nommée dev-server-03
. Maintenant, comment puis-je rechercher tous les dev-server-*
instances à partir de la ligne de commande ?
J'utilise l'outil aws cli.
J'ai une instance nommée dev-server-03
. Maintenant, comment puis-je rechercher tous les dev-server-*
instances à partir de la ligne de commande ?
J'utilise l'outil aws cli.
En supposant que vous utilisiez la convention consistant à placer le nom de l'instance dans une balise avec la clé "Name" (c'est ce que fait la console AWS lorsque vous saisissez un nom), vous pouvez alors utiliser la balise --filters
pour lister ces instances avec aws-cli :
aws ec2 describe-instances --filters 'Name=tag:Name,Values=dev-server-*'
Si vous ne voulez que les identifiants de ces instances, vous pouvez utiliser :
aws ec2 describe-instances --filters 'Name=tag:Name,Values=dev-server-*' \
--output text --query 'Reservations[*].Instances[*].InstanceId'
Nota: --query
peut nécessiter une version récente d'aws-cli, mais cela vaut la peine de l'obtenir.
Vous pouvez également filtrer avec le nom, l'identifiant de l'instance et l'adresse IP privée comme indiqué ci-dessous,
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
Si vous utilisez jq
Pour ce faire, vous pouvez utiliser
aws ec2 describe-instances |
jq -r '.Reservations[].Instances[] |
select(.Tags[].Value | startswith("dev-server-"))'
Vous pouvez ajouter des filtres supplémentaires à jq
pour obtenir des résultats plus spécifiques, tels que
... startswith("dev-server-")) | .PublicDnsName'
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.