개발환경
AWS awscli 를 이용한 s3 업로드
iwoohaha
2024. 11. 13. 16:00
반응형
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>
반응형