[AWS] EC2에서 S3로 파일 복제하기

주형(Jureamer)·2022년 5월 30일
0

개요


기존에 서비스 중 이미지와 같은 정적 파일을 EC2에 저장하는 모듈이 있었다. 하지만 서버가 내려가면 해당 파일을 읽을 수 없는 단점 뿐만 아니라, 이미지와 같은 정적 파일은 EC2보다는 S3에 저장하는 게 효율적이고 안전하다고 판단하여 S3로 저장공간을 옮기는 작업을 진행하기로 했다.
// EC2 정의
EC2(Elastic Compute Cloud)는 아마존 웹 서비스에서 제공하는 서비스로 안전하고 
크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스이다. 
개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되었다.
S3(Simple Storage Service)는 데이터를 저장하거나 추출하게 
해 주는 온라인 스토리지 웹 서비스이다. 즉 파일 서버의 역할을 하는 서비스이다. 
하나의 저장 공간을 구성하고 그 공간에 데이터를 자유롭게 업로드, 다운로드 할 수 있다. 
HTTP 프로토콜로 파일에 접근할 수 있다. 일반적인 시스템과는 다르게 파일(또는 데이터) 이름인 key와 
파일 자체인 value 로 구분되는 객체 형태로 파일을 저장한다.

EC2 → S3로 파일 옮기기(with AWS-CLI)


1. AWS-CLI 설치

우선 aws-cli가 필요하기에 (ubuntu 기준) apt를 이용해 aws-cli를 다운로드 하자.

sudo apt install awscli

이후 IAM 유저를 생성한다.

2. IAM 유저 생성

원하는 사용자 이름을 입력하고 액세스 유형에 프로그래밍 방식 액세스를 선택해준다.

이후 S3 액세스에 필요한 권한 중 FullAccess 권한을 추가 해준다.

IAM 계정이 생성되면 액세스키 ID와 비밀 액세스키가 나온다.
비밀 액세스키 같은 경우는 다시 볼 수 없기 때문에 필요 시 .csv를 다운받아 저장해주자!

그리고 받은 액세스키로 aws configure 세팅을 해주자

3. aws configure 세팅

aws configure

AWS Access Key ID [None]: # 액세스 키 ID 입력
AWS Secret Access Key [None]:  # 비밀 액세스 키 입력
Default region name [None]:  ap-northeast-2 # S3가 있는 region 입력
Default output format [None]:  # 생략

// configure 세팅 후 확인
// 리스트가 나오면 세팅이 정상적으로 완료

aws s3 ls
2020-05-10 00:30:30 ******
2020-07-20 01:42:00 ******

이후 cp, mv 명령어를 이용해 파일을 복제/이동을 할 수 있다.

4. aws 명령어를 이용한 파일 복제

나의 경우엔 ec2 -> s3로 복제를 원하기에 아래와 같이 명령어를 입력했다.

// aws s3 cp "ec2 폴더 경로" "s3 폴더 경로"
// --recursive 옵션은 하위 폴더 전체를 포함한다는 옵션

aws s3 cp --recursive ./ s3://community-test

복사가 된 후에 AWS S3에 파일이 들어간 걸 확인할 수 있다.


참고


profile
작게라도 꾸준히 성장하는게 목표입니다.

0개의 댓글