zoukankan      html  css  js  c++  java
  • Python 根据AWS EC2设置的标签获取正在运行的instancesId

    我没有找到可以直接通过标签拿到instanceId的方法,所以只能先把所有的instances都拿到再过滤.如果水友们有更好的方法,欢迎留言.

    运行脚本需要本地先配置好AWS CLI

    # -*- coding: utf-8 -*-
    import boto3
    
    
    def get_instancesId():
        # 首先获取所有的instances,然后再对标签过滤 
        instances_list = []
        instances_running_list = []
        ec2 = boto3.resource('ec2')
        for instance in ec2.instances.all():
            if instance.tags is None:
                continue
            for tag in instance.tags:
                # 这里输入你的标签的key,和标签的value
                if tag['Key'] == 'user_key' and tag['Value'] == 'user_value':
                    instances_list.append(instance.id)
        
        # 这里用来过滤上上面instance是否是正在运行的
        client = boto3.client('ec2')
        resp = client.describe_instances(InstanceIds=instances_list)
        for reservation in resp['Reservations']:
            if reservation['Instances'][0]['State']['Name'] == 'running':
                instances_running_list.append(reservation['Instances'][0]['InstanceId'])
        return instances_running_list
    
    
    
  • 相关阅读:
    团队冲刺03
    梦断代码 阅读笔记02
    团队冲刺02
    团队冲刺01
    周总结
    团队工作任务
    阅读笔记3
    梦断代码阅读笔记01
    周总结
    NABCD项目分析
  • 原文地址:https://www.cnblogs.com/crazyzero/p/11321777.html
Copyright © 2011-2022 走看看