AWS S3 Bucket 파일 다운로드

SUNGYOON LEE·2023년 10월 5일
0

AWS S3 버킷을 사용하면서 겪었던 점이다. 정확하게 개념을 짚고 넘어가고자 쓴다기 보다는 내가 다시 오류를 만났을 때, 같은 오류를 겪지 않고자 작성한다.

1. AWS S3란?

  • 개념: Simple Storage Service의 약자로 아마존 웹 서비스에서 제공하는 온라인 스토리지 웹 서비스이다.
  • NAS 서버를 알고 있다면, 간단하게 AWS에서 제공하는 NAS 서버와 같다고 생각하면 될 것 같다.(이는 내가 사용하면서 단순하게 생각하고자 한 것이라서 정확한 개념으로는 맞지 않을 수 있다.)
  • 클라우드 스토리지인 셈이다.
  • 그리고 S3 스토리지에는 버킷이 있고, 이 버킷은 각각 이름을 설정할 수 있다. 클라우드 스토리지에 존재하는 디렉토리라고 생각하면 된다.
  • 버킷에 접근하기 위해서는 AccessKeySecretKey가 필요하다.

2. AWS S3 버킷의 파일을 다운로드 시

  • 2가지 방법이 있다.
    1. python을 활용하여 파일을 다운로드 하는 방법
    2. aws cli를 활용하여 파일을 다운로드 하는 방법
  • 나는 초기에 1번을 사용하여 파일을 다운로드 하고자 하였다. 하지만 Access Denied 문제가 발생하면서 다른 방법을 찾고자 하였다.
  • 1번의 방법으로 하려면 boto3라는 라이브러리를 활용하여 사용하여야 한다. 자세한 내용은 boto3(Python용 AWS SDK)의 도큐멘테이션을 참고하길 바란다.
  • 1번의 방법에서 접근권한이 없어서 구글링한 결과 IAM 유저 권한이 필요하다는 것을 알았다. 하지만 IAM 유저 권한을 공부하고 있을 시간은 없다고 생각하여, 2번 방법으로 진행했다.
  • 2번 방법으로 하니 굉장히 간단하게 진행할 수 있었다.
  • method
awscli 다운로드
awscli를 다운로드 하고 터미널에서 접속

pip3 install awscli

aws 접속 및 정보등록
aws configure을 사용하여 접속 키 입력하여 S3에 접속
# 접속 및 정보등록
aws configure

AWS Access Key ID [None]: "액세스 키 입력"
AWS Secret Access Key [None]: "시크릿 키 입력"
Default region name [None]: ap-northeast-2
Default output format [None]: json

# Accesskey, Secretkey 확인
aws configure list
aws s3 디렉토리 확인
파일 확장자명을 살펴보면, ".parquet", ".csv" 등 다양한 파일들이 업로드되어 있음.
    # 파일 디렉토리 확인
    aws s3 ls

    # 세부 오브젝트 확인
    aws s3 ls "Bucket Name"
S3 저장소에서 파일 다운로드/업로드하기
터미널에서 간단하게 다운로드하는 방법
로컬 디렉토리에 폴더가 생성되어 있지 않아도 다운로드 하면서 생성됨.
폴더까지만 쓰면 하위 파일이 모두 다운로드됨.
sync, cp를 사용하여 다운로드 가능.
(나만 그런 건지는 모르겠지만, 폴더 전체를 내려받을 때 sync, 특정 파일 하나만 할 때 cp)
접속 거부인 상태에서는 403 에러 발생하는 것을 유의하기.
s3:// 쓸 때 s 대문자로 쓰면 안되요.

위는 아래의 velog에서 붙여온 것이다. 자세한 내용은 다음의 velog를 참고하면 좋을 것 같다.

profile
매일 매일 한 걸음씩 나아가고자 합니다.

0개의 댓글

관련 채용 정보