Cloud Engineering/AWS

[AWS] S3 Bucket AWS CLI 설치 및 명령어 정리

minjiwoo 2023. 3. 8. 18:18
728x90

AWS CLI 설치 

Linux 기준 다음 명령어 입력하면 설치 완료 ! 

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

설치 되었는지는  aws --version 으로 버전을 확인하면 된다. 

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

 

사용자 설정하기 

S3 접근 권한이 있는 사용자여야 한다. 

사용자 설정에는 Access key ID, Secret access key 가 필요하다. 


IAM > 사용자 정보 > 액세스 키 생성 혹은 이미 만들어진 액세스 키를 이용해야 한다. 

$ aws configure

예시는 다음과 같다. 

AWS Access Key ID [None]: 사용자 access key id 
AWS Secret Access Key [None]: 사용자 secret access key 
Default region name [None]: ap-northeast-2 # (s3 버킷이 있는 region명 입력)
Default output format [None]: json

 

AWS CLI 명령어 

 

ls: 버킷 경로에 있는 폴더 및 파일 리스트 출력 

$ aws s3 ls
2023-03-08 01:51:31 mjwoo0-test-1

(현재 mjwoo0-test-1 라는 버킷이 있는 상태이다. )

 

sync : 동기화 명령어 

파일 혹은 디렉토리를 지정한 s3버킷의 경로에 동기화시킬 수 있다. 특히 디렉토리의 경우, 디렉토리와 파일 그대로 복사되어서 S3 버킷에 업로드된다. 동기화 명령어는 리눅스의 crontab 이나 윈도우의 작업스케줄러를 이용해서 데이터를 S3 버킷에 주기적으로 백업해야 하는 경우 유용하게 사용될 수 있다. 

aws s3 sync DIRECTORY s3://BUCKET_NAME/PATH

 

cp : 파일 복사 

파일을 복사하는 명령어이다 원격지에서 S3 버킷으로 해당 파일을 복사할 수 있다. 또는 그 반대로 S3 버킷에서 원격지의 경로를 지정하면 파일을 복사해올 수 있다. 단, 디렉토리 그 자체는 복사할 수 없다. 또한 디렉토리를 복사하더라도 파일만 복사된다. 

예를 들어서, /dir1/dir2/fileA 를 S3 버킷에 복사하는 경우 fileA 만 복사된다. S3 Bucket 은 파일 기반으로 관리하는 스토리지이기 때문이다 .

aws s3 cp DIRECTORY s3://BUCKET_NAME/PATH
aws s3 cp s3://BUCKET_NAME/PATH DIRECTORY

[예시]

[root@ip-172-31-47-15 ~]# aws s3 cp test/file1 s3://mjwoo0-test-2/
upload: test/file1 to s3://mjwoo0-test-2/file1

 

mv : 파일 이동 

aws s3 mv DIRECTORY s3://BUCKET_NAME/PATH
aws s3 mv s3://BUCKET_NAME/PATH DIRECTORY

 

rb : remove bucket 

S3 Bucket 을 삭제해주는 명령어이다. 단, Bucket 이 비어있는 상태일 때만 삭제된다. 

aws s3 rb s3://BUCKET_NAME/

 

mb : make bucket 

S3 Bucket 을 생성하는 명령어이다. S3 Bucket 은 파일기반 스토리지이기 때문에 직접 명령어로 폴더를 생성할 수는 없다. 이 경우 aws 웹사이트에서 직접 폴더를 생성해주어야 한다. 

aws s3 mb s3://NEW_BUCKET_NAME

 

728x90