본문 바로가기

Python

Boto3 개요 및 사용 예시

boto3는 파이썬을 사용하여 AWS(Amazon Web Services)와 상호작용하는 데 사용되는 오픈소스 SDK입니다. 
boto3를 사용하면 파이썬 코드에서 AWS 리소스를 생성, 구성 및 제어할 수 있습니다.
참고로 저는 현업에서 월말 인프라 현황조사 때, 리소스 리스트가 필요할 때, 모든 EC2의 특정 값들을 검색할 때 활용했습니다. 
그럼, AWS 서비스와 상호작용하는 방법에 대해 알아보겠습니다.

1. boto3 패키지 설치

먼저 boto3 패키지를 설치해야합니다. 파이썬 패키지 관리자(pip)를 사용하여 설치할 수 있습니다.

pip install boto3

2. AWS 자격 증명 구성

AWS 자원에 액세스하려면 AWS 자격 증명이 필요합니다.
boto3는 기본적으로 AWS CLI에서 설정한 자격 증명을 사용하며, AWS CLI를 사용하여 자격 증명을 구성할 수 있습니다.

aws configure

AWS CLI를 사용하지 않는 경우, boto3에서 직접 자격 증명을 지정할 수 있습니다.

import boto3

# AWS access key ID와 secret access key를 지정하여 인증 정보 생성
session = boto3.Session(
    aws_access_key_id='YOUR_ACCESS_KEY',
    aws_secret_access_key='YOUR_SECRET_KEY',
    region_name='YOUR_REGION'
)

# EC2 리소스 생성
ec2 = session.resource('ec2')


3. AWS 서비스와 상호작용

boto3를 사용하여 AWS 서비스와 상호작용하려면, 해당 서비스의 클라이언트 또는 리소스 객체를 생성해야합니다. 예를 들어, EC2 서비스와 상호작용하려면, 다음과 같이 EC2 리소스 또는 클라이언트 객체를 생성합니다.

import boto3

# EC2 리소스 생성
ec2 = boto3.resource('ec2', region_name='YOUR_REGION')

# EC2 클라이언트 생성
ec2_client = boto3.client('ec2', region_name='YOUR_REGION')


EC2 리소스 및 클라이언트 객체를 사용하여 EC2 인스턴스를 시작, 중지, 종료 및 다양한 작업을 수행할 수 있습니다.
API 문서를 참조하면 여러 API 작업을 할 수 있습니다.

Boto3 API 문서 링크 : https://boto3.amazonaws.com/v1/documentation/api/latest/index.html