Cloud Infra Architecture (AWS)/AWS Build

AWS EC2, VM, 서버에서 AWS S3 Bucket에 파일 업로드하기

seongduck 2025. 2. 11. 14:01

시나리오

VM 서버에서 AWS S3에 특정 파일을 업로드 해야한다. (혹은 온프레미스 서버, AWS EC2 등등..)

 

해당 작업을 수행하려면 몇가지 권한 부여를 해야합니다.

1. AWS IAM 계정 생성 후 AcceessKey, SecretKey 발급
2. AWS-CLI 설치
3. AWS Configure
4. VM에서 S3 Bucket으로 파일 업로드

 

1) AWS IAM 계정 생성

1) AWS 콘솔 접속 -> IAM 검색
2) 사용자 선택 -> 사용자 생성

3) 사용자 세부 정보 지정
- 사용자 이름 입력
- AWS Management Console에 대한 사용자액세스 권한 제공 선택
- 적절한 암호 선택

4) 권한설정
- 직접 정책 연결 -> AdministratorAccess -> 다음 -> 사용자 생성

 

1-1) 생성한 IAM User의 AccessKey, SecretKey 생성

나중에 서버에 정보를 등록하고 AWS-CLI를 쓰기 위해 위의 작업을 진행합니다.

1) IAM -> 사용자 -> 방금 생성한 사용자 선택
2) 보안 자격 증명 -> 액세스 키 만들기 선택

3) 액세스 키 모범 사례 및 대안
- 사용 사례 : Command Line Interface(CLI) 선택

4) 설명 태그 설정
- 설명 적기 -> 액세스 키 만들기

5) 액세스 키 검색
- 액세스 키와 비밀 액세스 키 (AccessKey & SecretKey) CSV 파일 다운로드

해당 키를 기록해둔다.

 

2) VM (서버)에서 AWS-CLI 설치

S3에 데이터를 젝제하기 위해서는 AWS-CLI 툴을 설치합니다.

물론 AWS EC2의 경우 자동으로 설치되어 있지만, 외부 서버에서는 설치해야합니다.

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
ls -lh awscliv2.zip #설치 확인

sudo apt install -y unzip #unzip 설치
unzip awscliv2.zip #압축 해제

cd aws
sudo ./install #insatll 설치

 

PATH 설정

find / -name aws -type f 2>/dev/null #설치된 위치 찾기
ls -l /usr/local/bin/aws #설치 여부 확인
export PATH=$PATH:/usr/local/bin #경로 설정
aws --version #확인

 

3) VM (서버)에서 AWS Configure 등록하기

AWS S3에 직접 접근하고 AWS-CLI를 사용하기 위해서는 AWS Configure을 진행합니다.

#VM 서버 접속

aws configure
- 위에 기록해둔 AK
- 위에 기록해둔 SK
- ap-northeast-2
- json

 

그리고 접속 시도 해봅니다.

aws s3 ls s3://버킷이름명/버킷폴더명/ --recursive

 

4) VM (서버)에서 S3로 파일 업로드하기

해당 명령어로 나의 서버에서 S3 버킷에 업로드를 진행할 수 있습니다.

aws s3 cp ./파일명 s3://나의버킷이름/폴더이름/