INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
AVZONE=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone);
REGION=${AVZONE::-1}
REGION=$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | grep region | awk -F\" '{print $4}')
PRIV_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
Получить VpcID в которой эта EC2 работает:
aws ec2 describe-instances --instance-ids EC2_ID --region REGION --query "Reservations[0].Instances[0].VpcId"
Получить список InstanceId по тэгам Name=httpfront-01 и Environment=dev:
aws ec2 describe-instances --region eu-west-2 --filters "Name=tag-key,Values=Name" "Name=tag-value,Values=httpfront-0?" "Name=tag-key,Values=Environment" "Name=tag-value,Values=dev" --query "Reservations[].Instances[].InstanceId" --output text
Тоже но получить только имена из тэгов:
aws ec2 describe-instances --region eu-west-2 --filters "Name=tag-key,Values=Name" "Name=tag-value,Values=httpfront-0?" "Name=tag-key,Values=Environment" "Name=tag-value,Values=dev" --query "Reservations[].Instances[].Tags[?Key=='Name'].Value[]"
Получить CIDR приватный подсеток в VPC, где находится EC2:
SUBNETS=$(aws ec2 describe-subnets --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*-Private-*" --region $REGION --query "Subnets[].CidrBlock" --output text)
Список лимитов по регионам: (взято здесь https://alestic.com/2013/12/ec2-account-attributes/)
AVZONE=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone);
REGION=${AVZONE::-1}
REGION=$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | grep region | awk -F\" '{print $4}')
PRIV_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
Получить VpcID в которой эта EC2 работает:
aws ec2 describe-instances --instance-ids EC2_ID --region REGION --query "Reservations[0].Instances[0].VpcId"
Получить список InstanceId по тэгам Name=httpfront-01 и Environment=dev:
aws ec2 describe-instances --region eu-west-2 --filters "Name=tag-key,Values=Name" "Name=tag-value,Values=httpfront-0?" "Name=tag-key,Values=Environment" "Name=tag-value,Values=dev" --query "Reservations[].Instances[].InstanceId" --output text
Тоже но получить только имена из тэгов:
aws ec2 describe-instances --region eu-west-2 --filters "Name=tag-key,Values=Name" "Name=tag-value,Values=httpfront-0?" "Name=tag-key,Values=Environment" "Name=tag-value,Values=dev" --query "Reservations[].Instances[].Tags[?Key=='Name'].Value[]"
Получить CIDR приватный подсеток в VPC, где находится EC2:
SUBNETS=$(aws ec2 describe-subnets --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*-Private-*" --region $REGION --query "Subnets[].CidrBlock" --output text)
Список лимитов по регионам: (взято здесь https://alestic.com/2013/12/ec2-account-attributes/)
regions=$(aws ec2 describe-regions --output text --query 'Regions[*].RegionName')
attributes="max-instances max-elastic-ips vpc-max-elastic-ips"
for region in $regions; do
echo; echo "region=$region"
aws ec2 describe-account-attributes --region $region --attribute-names $attributes --output text --query 'AccountAttributes[*].[AttributeName,AttributeValues[0].AttributeValue]' |
tr '\t' '=' | sort
done
Список инстанцев в состоянии Runing:
aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId" --filters "Name=instance-state-name,Values=running"
или в столбик без кавычек и прочего JSON:
aws ec2 describe-instances --query "Reservations[].Instances[].[InstanceId]" --filters "Name=instance-state-name,Values=running" --output text
FILTER/QUERY (
http://jmespath.org/specification.html)
aws ec2 describe-snapshots --region us-east-1 --query "Snapshots[?contains(Description,'__prod-mongo-')]"
aws ec2 describe-snapshots --region us-east-1 --query "Snapshots[?ends_with(Description,'i-0749934234499394f__prod-mongo-1')]"
Комментариев нет:
Отправить комментарий