728x90
[AWS] boto3로 EC2 Instance 정보 구하기
AWS SDK boto3를 활용해서 EC2의 정보를 구해보고자 한다.
e2에 접근을 하기 위하여 boto3 Client 설정을 해준다.
ec2 접근 권한이 있는 사용자의 access key가 필요하다.
import boto3
aws_access_key = "*************"
aws_secret_access_key = "*************"
aws_region = "ap-northeast-2"
ec2 = boto3.client('ec2', aws_access_key, aws_secret_access_key, aws_region)
다음으로 EC2의 정보를 저장 할 빈 리스트를 생성 해준 후, 필요한 tag값을 가져온다.
나는 Name태그의 값과, 인스턴스 아이디, 타입, 상태, 시작 시간을 가져왔다.
def get_ec2_info():
ec2_info = []
# Name 태그의 값이 없을 경우 None
name = 'None'
response = ec2.describe_instances()
for reservation in response["Reservations"]:
for i in reservation["Instances"]:
if 'Tags' in i:
for tag in i['Tags']:
if tag['Key'] == 'Name':
name = tag['Value']
ec2_info.append([i["InstanceId"], name, i['InstanceType'], i['State']['Name'], i['LaunchTime'].strftime('%Y-%m-%d %H:%M:%S')])
return ec2_info
위와 같이 이중 리스트 형태로 저장하면 보기가 불편하기 때문에, Pandas를 통해 df 형태로 만들어준다.
import pandas as pd
columns_name = ['Instance_Id', 'Name', 'Instance_Type', 'State', 'LaunchTime']
df = pd.DataFrame(ec2_info, columns=columns_name)
다음과 같이 인스턴스 정보 확인이 가능하다.
참고
반응형
'💻 CSP > AWS' 카테고리의 다른 글
[AWS] boto3 filter (0) | 2023.12.01 |
---|---|
[AWS] ec2metadata (0) | 2023.11.29 |
[AWS Cli] S3 총 객체 수 확인하기 (0) | 2023.11.20 |
[AWS] DOP 공부 중 모르는 서비스 정리 (0) | 2023.10.31 |
[AWS Cli] 가장 최근에 수정된 S3 객체 가져오기 (1) | 2023.10.20 |