Python - S3연동 과정 요약
AWS S3
1. S3 버킷 생성 (버킷명, 리전선택)
2. 보안 자격증명 IAM 설정
3. 사용자 추가 확인 → 액세스 키 ID, 비밀 액세스 키 확인
Python
4. boto3, awscli 설치
5. awscli로 AWS계정 연결
6. boto3를 이용하여 AWS계정의 모든 버킷 출력 가능
1. S3 버킷 생성 (버킷명, 리전선택)
a. S3 버킷 설정
‣ 버킷명 : 고유한 이름 마음대로,
‣ 리전 : 아시아 태평양(서울)
b. 다른 구성은 기본 설정 그대로 하고 간단한 실습을 위해 퍼블릭 액세스 차단은 모두 비활성화를 해준다.
c. [권한]에 들어가서 버킷 정책 JSON 설정한다.
퍼블릭으로 하면 남들이 해당 S3에 접속이 가능하고 액션은 Put, Get을 할 수있다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::{S3 버킷 이름}/*"
}
]
}
2. 보안 자격 증명 IAM 생성 및 설정
a. 계정을 클릭하여 [내 보안 자격 증명]을 클릭한다.
b. [액세스 관리 - 사용자 -사용자 추가]를 하여 사용자를 생성한다.
‣ 사용자 이름 : 마음대로,
‣ 액세스 유형 선택 : 프로그래밍 방식 액세스
‣ 정책 : AmazonS3FullAccess(S3에 접근할 수 있는 권한)
기존 정책 직접 연결을 클릭하고 정책 필터에 'S3'를 입력한 후 AmazonS3FullAccess를 클릭한다.
3. 사용자 추가 확인 → 액세스 키 ID, 비밀 액세스 키 확인
다음 설정들은 그냥 넘어가고 생성을 하면 아래와 같이 액세스 키 ID와 비밀 액세스 키를 얻는다.
이제 실제로 Python으로 AWS S3에 파일을 올리거나 다운로드를 받을 수 있다. 사용할 라이브러리는 awscli와 boto3이다.
awscli로 AWS계정과 연결을 하고 boto3를 이용하여 AWS계정의 모든 버킷을 출력 가능하다.
4. boto3, awscli 설치
a. python에 boto3, awscli 설치
$ (sudo) pip3 instsall boto3
$ (sudo) pip3 instsall awscli
b. awscli가 설치가 완료되었으므로 aws configure 명령을 이용하여 AWS 계정 연결을 수행할 수 있다.
$ aws configure
AWS Access Key ID [None]: {자신의 IAM Access KEY}
AWS Secret Access Key [None]: {자신의 IAM Secret Access KEY}
Default region name [None]: ap-northeast-2
Default output format [None]:
c. boto3를 이용하여 AWS계정의 모든 버킷을 출력할 수 있다.
import boto3
s3 = boto3.resource('s3') # s3에 대한 권한 및 상태를 s3(변수)에 저장
for bucket in s3.buckets.all():
print(bucket)
Python- AWS S3 연동 완료
※ 참고 사이트
'Dot Programming > Python' 카테고리의 다른 글
[Python] Python Boto3로 AWS S3 사용법 간단 정리 (0) | 2021.05.20 |
---|---|
[Python] BeautifulSoup으로 웹 스크래핑하기 (0) | 2021.05.12 |
[Python] Mac에서 Python 가상환경(Pyenv) 사용 (0) | 2021.03.23 |
[Python] 크레온 API를 통한 주식 자동화 프로그램 만들기 (OS : Window) (0) | 2021.03.05 |