[S3] S3-EC2 간 데이터 업로드 및 다운로드 가이드
Prerequisite
- EC2 인스턴스에 S3에 관한 IAM Role이 부여 되어야 합니다.
AmazonS3FullAccess또는 특정 버킷에 대한s3:PutObject,s3:GetObject권한
- EC2에 AWS CLI가 설치되어있어야 합니다.
- 최신 Amazon Linux 2 AMI를 사용 중이라면 기본적으로 설치되어 있습니다.
- 설치 확인 명령어:
aws --version
- EC2 인스턴스가 인터넷에 연결되어 있거나, 폐쇄망일 경우 S3용 VPC 엔드포인트가 설정되어 있어야 합니다.
- EC2 인스턴스 터미널에 SSH접속할 수 있어야 합니다.
- 알아두기 :
- PowerShell / 터미널 환경에서
.(마침표 하나)는 현재 내가 위치한 디렉토리를 의미합니다. - PowerShell / 터미널 환경에서
pwd명령어를 입력하여 현재 로컬 경로를 확인할 수 있습니다.
- PowerShell / 터미널 환경에서
Process
S3 버킷 생성
-
AWS 콘솔 접속에 접속합니다.

-
“S3”를 검색하여 접속합니다.

-
"버킷 만들기"를 클릭합니다.

-
버킷 이름 지정을 지정합니다.

버킷 이름은 3~63자여야 하며 글로벌 네임스페이스 내에서 고유해야 합니다. 또한 버킷 이름은 문자나 숫자로 시작하고 끝나야 합니다. 유효한 문자는 a~z, 0~9, 마침표(.), 하이픈(-)입니다.
-
객체 소유권 및 퍼블릭 액세스 설정합니다.

특별한 사유가 없다면 기본값인 ACL 비활성화(권장)를 유지합니다.
-
이 버킷의 퍼블릭 액세스 차단 설정을 합니다.

내부용 파일이라면 그대로 "모든 퍼블릭 엑세스 차단" 웹사이트 정적 호스팅 등 외부 공개가 필요할 때만 선별적으로 해제합니다.
-
버킷 버전 관리를 설정합니다.
Tip: 특별한 복구 요구사항이 없다면 비활성화(Disabled/Suspended) 상태로 유지하는 것을 권장합니다. -
암호화 : "Amazon S3 관리형 키를 사용한 서버 측 암호화"를 체크 후 "버킷 만들기"를 클릭합니다.

Tip: "버킷 키 활성화" 는 암호화 작업 시 발생하는 AWS 키 매니저 서비스 호출 횟수를 줄여주어, 비용 절감과 데이터 처리 성능 향상에 도움을 줍니다.
S3 파일 업로드
-
AWS 콘솔에 접속합니다.

-
“S3”를 검색하여 접속합니다.

-
파일을 업로드 하고 싶은 S3버킷에 접속합니다.

-
중앙에 “업로드” 버튼을 클릭합니다

-
로컬에서 업로드하고 싶은 파일을 찾아
Drag and Drop합니다.
-
“업로드” 버튼을 눌러 업로드 합니다.

업로드에 성공하셨습니다!
S3-EC2 간 데이터 업로드 및 다운로드
-
터미널/Powershell을 열어 EC2에 SSH접속을 합니다.

-
aws s3 ls를 입력하여 s3<-> EC2연결 상태를 확인합니다.

계정의 S3 버킷 리스트가 나오면 성공입니다!
-
S3에 올라간 파일 하나를 명령어로 다운로드 합니다.
형식 :aws s3 cp s3://버킷명/파일명 로컬저장 경로명
예시 :aws s3 cp s3://brad-test-test/s3_test.txt .

-
S3 버킷 내 특정 폴더의 모든 내용을 동기화하여 다운로드합니다.
형식 :
aws s3 sync s3://버킷명/폴더명/ 로컬저장 경로명
예시 :aws s3 sync s3://brad-test-test/my-data/ .

Tip:
sync는 변경된 파일만 골라서 다운로드하므로 효율적입니다! -
EC2에 있는 파일 하나를 S3 버킷으로 올립니다.
형식 :aws s3 cp 파일명 s3://버킷명/
예시 :aws s3 cp upload_to_s3 s3://brad-test-tset/

-
현재 위치(
.)에 있는 모든 파일과 폴더를 S3 버킷으로 동기화하여 업로드합니다.
형식 :aws s3 sync 로컬저장 경로명 s3://버킷명/폴더명/
예시 :aws s3 sync . s3://brad-test-tset/

주의: 끝에.을 찍으면 "현재 위치의 모든 것"을 올리겠다는 뜻입니다.💡명령어 요약
| 작업 유형 | 명령어 예시 |
| 파일 업로드 |
|
| 파일 다운로드 |
|
| 디렉토리 동기화 |
|
| S3 목록 확인 |
|