모든 내용은 AWS document에 있으나 한글로 빠르게 필요한 명령어만 습득할 사람을 위함
준비물: 이미 만들어진 S3의 버킷, 권한 있는 AWS 계정
리눅스 PC에서 어떻게 CLI로 이용하냐에 관한 글임
글 읽는 법:
$ 이건 명령어 치는 부분이고 >>는 출력
***은 내가 가린거
링크는 전부 공식 document
$ uname -u
>> Linux *** 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Linux, x86 (64-bit)인 것을 확인할 수 있다.
$ sudo apt install unzip
# x86 (64-bit) 프로세서인 경우
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# ARM 프로세서인 경우
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
aws 폴더가 생긴다
$ sudo aws/install -i /usr/local/aws-cli -b /usr/local/bin
-i 에는 프로그램 다운로드 경로
-b에는 Path 변수 저장?
$ aws --version
>> aws-cli/2.10.1 Python/3.9.11 어쩌구 저쩌구
$ aws configure
AWS Access Key ID [None]: ****** # 사용자 이름
AWS Secret Access Key [None]: ****** # 비밀번호
Default region name [None]: ap-northeast-2 # 가까운 서버 (한국)
Default output format [None]: json # yaml, text, …
REST Endpoint: API가 서버에서 자원(resource)에 접근할 수 있도록 하는 URL = S3에 접근할 수 있는 주소
버킷: 객체에 대한 컨테이너 = 폴더명
REST Endpoint의 주소 = S3:// 할 때 S3
파일 ⊂ 폴더 ⊂ 버킷 ⊂ S3
나는 endpoint를 지정을 안 해 주니까 자꼬 권한이 없다고 오류나서 매번 붙였다. 안 붙여도 되는 사람은 --endpoint-url 옵션을 안 넣어도 된다
user guide-command document-command
온갖 명령어가 많지만 딱 3개만 쓰겠삼
s3 안의 파일과 로컬에서 linux cp
명령어 (copy) 쓰듯이 쓰면 된다 !!
$ aws s3 cp [올릴 파일] s3://[버킷] --endpoint-url [https://***.com]
>> upload: ./[올릴 파일] to s3://[버킷]/[올릴 파일]
예를 들어
내 컴퓨터에 있는 comsun.jpg를 ***.com이란 주소로 접속할 수 있는 S3 서버의 mybucket이라는 버킷으로 넣을란다
이 때는 아래와 같이 쓰면 된다
$ aws s3 cp comsun.jpg s://mybucket --endpoint-url http://***.com
또는
$ aws s3 cp comsun.jpg s://mybucket/comsun.jpg
>> upload: ./comsun.jpg to s3://my_bucket/comsun.jpg
다운로드도 비슷하다
$ aws s3 cp s3://[버킷]/[파일] [로컬위치]
>> download:[s3파일 경로] to [로컬파일 경로]
$ aws s3 cp s3://mybucket . --recursive
>> download: s3://[버킷]/[파일1] to [파일1]
>> download: s3://[버킷]/[파일2] to [파일2]
recursive 옵션을 쓰면 지정 디렉토리 밑의 모든 파일들이 다 가져와진다. mybucket에 있는 모든 파일이 .(로컬의 현재 디렉토리)로 다운로드가 됐다.
리눅스의 ls와 비슷
aws s3 ls —endpoint http://***.com [버킷]/
aws s3 ls —endpoint http://***.com [버킷]/[폴더]
$ aws s3 rm comsun.jpg s://mybucket --endpoint-url http://***.com
아이고.. 너무 졸려서 이만 글을 마무리 하겠다