// EC2 정의
EC2(Elastic Compute Cloud)는 아마존 웹 서비스에서 제공하는 서비스로 안전하고
크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스이다.
개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되었다.
S3(Simple Storage Service)는 데이터를 저장하거나 추출하게
해 주는 온라인 스토리지 웹 서비스이다. 즉 파일 서버의 역할을 하는 서비스이다.
하나의 저장 공간을 구성하고 그 공간에 데이터를 자유롭게 업로드, 다운로드 할 수 있다.
HTTP 프로토콜로 파일에 접근할 수 있다. 일반적인 시스템과는 다르게 파일(또는 데이터) 이름인 key와
파일 자체인 value 로 구분되는 객체 형태로 파일을 저장한다.
우선 aws-cli가 필요하기에 (ubuntu 기준) apt를 이용해 aws-cli를 다운로드 하자.
sudo apt install awscli
이후 IAM 유저를 생성한다.
원하는 사용자 이름을 입력하고 액세스 유형에 프로그래밍 방식 액세스를 선택해준다.
이후 S3 액세스에 필요한 권한 중 FullAccess 권한을 추가 해준다.
IAM 계정이 생성되면 액세스키 ID와 비밀 액세스키가 나온다.
비밀 액세스키 같은 경우는 다시 볼 수 없기 때문에 필요 시 .csv를 다운받아 저장해주자!
그리고 받은 액세스키로 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 명령어를 이용해 파일을 복제/이동을 할 수 있다.
나의 경우엔 ec2 -> s3로 복제를 원하기에 아래와 같이 명령어를 입력했다.
// aws s3 cp "ec2 폴더 경로" "s3 폴더 경로"
// --recursive 옵션은 하위 폴더 전체를 포함한다는 옵션
aws s3 cp --recursive ./ s3://community-test
복사가 된 후에 AWS S3에 파일이 들어간 걸 확인할 수 있다.