~☆~ 우하하!!~ 개발블로그

AWS awscli 를 이용한 s3 업로드 본문

개발환경

AWS awscli 를 이용한 s3 업로드

iwoohaha 2024. 11. 13. 16:00
728x90
반응형

AWS S3 를 구성하는 방법에 대해서는 별도의 포스트로 다루겠다.

이 포스트에서는 AWS S3 가 구성되어 있다는 전제하에 우분투 서버에서 AWS S3 에 연결하여 파일을 업로드하고 다운로드하는 방법에 대해서 다룬다.

 

awscli 설치

우선 우분투에서 AWS S3 에 접속하기 위해서는 awscli 를 설치해야 한다.

설치 과정은 다음과 같다.

# 1. 최신 버전의 awscli 설치 파일 다운로드
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

# 2. 압축 해제
unzip awscliv2.zip

# 3. 설치 실행 (관리자 권한 필요)
sudo ./aws/install

# 4. 설치 확인
aws --version

 

만약 unzip 명령이 command not found 라고 나온다면, 아래 명령어를 이용해서 unzip 을 설치해야 한다.

sudo apt update
sudo apt install unzip -y
# 설치 완료 후
unzip --version

 

awscli 설정

AWS 자격증명을 설정하기 위해서 아래 명령어를 수행한다.

aws configure

 

위 명령어가 실행되면 아래 각 항목에 대하여 값을 입력할 수 있도록 프롬프트가 표시된다.

  • AWS Access Key ID : *****
  • AWS Secret Access Key : *****
  • Default region name : ap-northeast-2
  • Default output format : json

위에 ***** 로 입력한 값은 AWS S3 에서 생성한 값을 입력하고, Default region name 으로 S3 접근 region 을 입력하면 된다. Default output format 으로는 json 을 입력하게 되면 ~/.aws/config 와 ~/.aws/credentials 파일의 내용은 다음과 같이 작성된다.

~/.aws/config

[default]
region = ap-northeast-2
output = json

~/.aws/credentials

[default]
aws_access_key_id = *****
aws_secret_access_key = *****

 

다운로드

아래 명령어 형식을 사용하면 자격증명에 따라 S3 버킷의 파일을 다운로드할 수 있다.

aws s3 cp s3://<bucket_name>/<file_name> <local_file_name_path>

 

예를 들어 woohaha_file 이라는 이름의 버킷에 있는 test.txt 라는 파일을 현재 디렉토리에 download_test.txt 라는 이름으로 내려받을 경우 아래와 같이 입력한다.

aws s3 cp s3://woohaha_file/test.txt ./download_test.txt

 

업로드

위 다운로드 명령어에서 cp 다음의 항목 순서만 변경하면 된다.

aws s3 cp <local_file_name_path> s3://<bucket_name>/<file_name>

 

반응형