Ich habe versucht, den Stoppprozess mit Boto3 für eine bestimmte zuvor erstellte Instanz zu aktivieren.
Als Voraussetzung Fügen Sie das env-Tag zu EC2 hinzu und bereiten Sie die als dev festgelegte Instanz für den Wert vor.
Ich konnte mit Filtern nicht gut umgehen, aber ich habe es geschafft. Bloggen Sie zum Gedenken. Als nächstes arbeiten wir mit Lambda.
# -*- coding: utf-8 -*-
# import
import boto3
from boto3.session import Session
ec2 = boto3.client('ec2')
dev_list = []
# def
def get_list():
instance_list = ec2.describe_instances(
Filters=[{'Name': 'tag:env', 'Values': ['dev']}]
)
for Reservations in instance_list['Reservations']:
for dev_instances in Reservations['Instances']:
dev_list.append(dev_instances["InstanceId"])
return dev_list
def ec2_stop(dev_list):
for instance_id in dev_list:
response = ec2.stop_instances(
InstanceIds=[
instance_id
]
)
# Main
if __name__ == "__main__":
get_list()
ec2_stop(dev_list)
https://github.com/handa3/study/blob/master/aws/ec2/dev_stop.py