Tech & Development/AWS

AWS CLI로 S3 관리하기: 파일 업로드, 다운로드, 버킷 생성

Theo (테오) 2024. 11. 25. 00:09
반응형

Amazon S3(Simple Storage Service)는 AWS에서 제공하는 확장 가능하고 안정적인 객체 스토리지 서비스입니다. AWS CLI(Command Line Interface)를 사용하면 Amazon S3의 기능을 효율적으로 관리할 수 있습니다. 이 글에서는 AWS CLI를 사용해 S3 버킷 생성, 파일 업로드 및 다운로드와 같은 기본 작업을 다루어 보겠습니다.


S3란?

Amazon S3는 클라우드 스토리지 서비스로, 데이터를 객체 단위로 저장하며 높은 가용성과 보안을 제공합니다. S3는 웹 애플리케이션, 백업 및 복구, 빅데이터 분석 등 다양한 용도로 사용됩니다.


S3 작업을 위한 사전 준비

AWS CLI로 S3를 관리하려면 다음이 필요합니다:

  1. AWS CLI 설치 및 구성
    • AWS CLI 설치 가이드를 참조하여 설치합니다.
    • aws configure 명령어를 사용해 자격 증명을 설정합니다.
  2. 적절한 IAM 권한
    • S3 작업을 위해 s3:* 권한을 포함하는 정책이 필요합니다.
    • 예: AmazonS3FullAccess 또는 사용자 정의 정책.

S3 버킷 생성

S3 버킷은 데이터를 저장할 컨테이너 역할을 합니다. 다음 명령어로 새 버킷을 생성할 수 있습니다.

aws s3 mb s3://your-bucket-name
  • s3://your-bucket-name: 생성할 버킷의 이름.
  • 버킷 이름은 고유해야 하며, 소문자와 하이픈(-)만 사용할 수 있습니다.

예제

aws s3 mb s3://my-example-bucket

S3에 파일 업로드

S3에 파일을 업로드하려면 s3 cp 명령어를 사용합니다.

aws s3 cp <local-file-path> s3://<bucket-name>/<key>
  • <local-file-path>: 업로드할 로컬 파일 경로.
  • <bucket-name>: 업로드할 S3 버킷 이름.
  • <key>: S3에서 파일을 저장할 경로(생략 시 파일 이름만 사용).

예제

aws s3 cp myfile.txt s3://my-example-bucket/folder/myfile.txt

S3에서 파일 다운로드

S3에서 파일을 다운로드하려면 s3 cp 명령어를 사용합니다.

aws s3 cp s3://<bucket-name>/<key> <local-file-path>
  • <bucket-name>: 다운로드할 파일이 위치한 S3 버킷 이름.
  • <key>: S3 파일 경로.
  • <local-file-path>: 다운로드한 파일을 저장할 로컬 경로.

예제

aws s3 cp s3://my-example-bucket/folder/myfile.txt ./downloaded-myfile.txt

S3 버킷 또는 폴더 내용 나열

S3 버킷의 파일 목록을 확인하려면 s3 ls 명령어를 사용합니다.

aws s3 ls s3://<bucket-name>

예제

aws s3 ls s3://my-example-bucket/folder/

S3에서 파일 삭제

S3에서 파일을 삭제하려면 s3 rm 명령어를 사용합니다.

aws s3 rm s3://<bucket-name>/<key>

예제

aws s3 rm s3://my-example-bucket/folder/myfile.txt

 


S3 동기화

로컬 디렉토리와 S3 버킷(또는 경로)을 동기화하려면 s3 sync 명령어를 사용합니다.

aws s3 sync <local-directory> s3://<bucket-name>/<prefix>
  • <local-directory>: 동기화할 로컬 디렉토리 경로.
  • <prefix>: 동기화할 S3 경로(선택).

예제

aws s3 sync ./local-folder s3://my-example-bucket/remote-folder

AWS CLI를 사용하면 Amazon S3 작업을 빠르고 효율적으로 수행할 수 있습니다. 이 가이드를 따라 파일 업로드, 다운로드, 동기화, 버킷 생성과 같은 작업을 자동화하거나 쉽게 관리할 수 있습니다. 반복적인 작업을 자동화하면 시간을 절약하고 작업의 일관성을 유지할 수 있습니다.

반응형