AWS Boto3 설치 및 구성 방법

파이썬으로 AWS를 사용한다면, 꼭 알아야할 Boto3

HAN LEE
6 min readSep 14, 2020

Boto3 는 Python 용 AWS SDK (Software Development Kit)입니다.

개발자들은 Boto3를 활용하여 파이썬 코드로 AWS의 40개가 넘는 서비스들을 활용할 수 있습니다.

AWS서비스를 효과적으로 사용하기 위해서 매우 중요한 SDK중 하나이며, 지원되는 서비스들은 아래 url을 통하여 확인할 수 있습니다.

Boto3 를 설치하고 구성하는 방법

To do list:

  1. Boto 3 설치
  2. AWS Access Key 발급
  3. Access Key를 Crendentials File 에 저장
  4. Configuration File 생성
  5. 테스트!

1. Boto3 설치

1.1 package installer (pip) 을 활용하여 boto3 를 설치해줍니다.

package installer 는 Python 을 install 하실 때 자동으로 install 됩니다.

$pip3 install boto3

2. AWS Access Key 발급

2.1 AWS 에 접속하셔서 Access Key 를 발급 받습니다.

아래 경로로 가시면됩니다.

AWS Management Consol → My security credentials → Access Keys

Access Key는 노출 하시면 안됩니다~

3. Access Key를 Credentials File 에 저장

Access Key는 실수로라도 코드에 노출 되어선 안됩니다!

그래서 Access Key 를 사용하실 때는 2가지 방법으로 사용 하시는것을 권장드립니다.

  1. 환경 변수 (environment variable)로 저장하여 os library 를 사용하여 코드로 부르는 방법
  2. AWS credential file을 사용하는 방법.

현업에서는 AWS crendentials file에 access key를 저장하여 사용하시는 경우가 많아 , 그 방법을 보여드리도록 하겠습니다.

3.1 AWS directory를 만들어주고 안에 credentials file 생성

AWS directory 생성
$mkdir ~/.aws
Credentials file 생성
$touch ~/.aws/credentials

3.2. Credentials File 안에 Access Key 를 다음과 같은 형태로 입력 합니다.

[default]
aws_access_key_id = [2번에서 받은 access key id 입력]
aws_secret_access_key = [2번에서 받은 secret access key 입력]

4. Configuration File 생성

4.1 AWS directory 안에 configuration file을 생성합니다

$touch ~/.aws/config

4.2. configuration file 안에 region 을 입력합니다

[default]
region = [현재 사용중인 region] ex.) ap-northeast-2

5. 테스트

이로써, 기본적은 설정은 완료되었으며 잘 작동되는지 테스트를 진행해보도록 하겠습니다.

파이썬 파일 하나를 작성 해보도록 하겠습니다

boto3_test.py

import boto3#S3를 사용
s3 = boto3.client('s3')
#s3 안에 있는 bucket name을 출력
for bucket in s3.buckets.all():
print(bucket.name)

S3 버킷이 존재한다면, 아래와 같이, 버킷 네임이 출력될것입니다.

(버킷이 없다면 S3 management console에서 하나 생성 해보시고 테스트 하시면 됩니다)

6. 번외 (여러 profile 변경)

AWS 를 사용하시다보면 여러 환경을 왔다갔다 해야하는 상황이 발생할 수 있습니다.

이럴경우, credentials file에 새로운 profile을 추가하실 수도 있습니다.

저는 학교에서 사용하는 NYU account 를 추가하였습니다.

[default]
aws_access_key_id = [Default Profile Access Key]
aws_secret_access_key = [Default Profile Secret Access Key]
[NYU_account]
aws_access_key_id = [NYU account profile access key]
aws_secret_access_key = [NYU account profile secret access key]

그리고 Credentials file에 profile을 추가하셨다면 추가한 profile으로 session을 생성하실 수 있습니다

import boto3#Session 을 생성하고 NYU_account 라는 profile 을 선택
session = boto3.Session(profile_name='NYU_account')
#Client 에 NYU_account 라는 세션이 S3를 사용할것을 선언
nyu_s3 = session.client('s3')
for bucket in nyu_s3.buckets.all():
print(bucket.name)

--

--

HAN LEE
0 Followers

Computer Science @ NYU | Software Engineer | Former solution engineer @ SAP