-
# AWS CLI 설치하기Dev/Cloud 2019. 7. 2. 13:49
AWS S3에 8GB 정도의 파일을 업로드 할 일이 생겨서 찾다보니 다른 방법 보다 AWS CLI의 sync 명령을 사용하는 것이 좋다는 판단에 AWS CLI 를 설치해서 사용해 보기로 했다.
OS별 설치 방법
Amazon Linux를 설치하면 기본적으로 AWS CLI가 설치되어 있다.
Windows
Mac or Linux
Python 2.6.5 이상이 필요하고 pip를 사용하여 설치한다.
난 그냥 brew를 이용해서 설치했다.
$ brew install awscli
기본 설정
aws configure 명령을 통해서 기본 액세스키, 시크릿키, 리전을 설정한다.
- AWS Access Key ID [None]: 액세스 키를 입력한다.
- AWS Secret Access Key [None]: 시크릿 키를 입력한다.
- Default Region name [None]: Seoul 리전을 뜻하는 ap-northeast-2를 입력한다.
- Default output format [None]: 비워둔다.(json, text, table을 사용할 수 있다.)
$ aws configure AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: ap-northeast-1 Default output format [None]:
기본 사용법
- AWS CLI 기본 사용방법은 https://aws.amazon.com/ko/cli/를 참고.
- AWS CLI 명령 참조는 http://docs.aws.amazon.com/cli/latest/reference/#available-services를 참고
우리는 S3에 파일을 업로드 해야 하기 때문에 관련 사용 방법은 http://docs.aws.amazon.com/cli/latest/reference/s3/를 참고.
aws s3 sync 명령을 통해 파일을 업로드 하는 방법
- aws s3 sync 명령 사용방법은 http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html를 참고
- 기본 명령 형식은 아래와 같다.
위 방법을 사용하여 아래와 같이 파일을 업로드 했다.$ aws s3 sync ./ s3://mybucket upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt or $ aws s3 sync s3://mybucket ./ download: s3://mybucket/test.txt to test.txt download: s3://mybucket/test2.txt to test2.txt or $ aws s3 sync s3://mybucket s3://mybucket2 copy: s3://mybucket/test.txt to s3://mybucket2/test.txt copy: s3://mybucket/test2.txt to s3://mybucket2/test2.txt
결과는 실패$ aws s3 sync Download/images s3://freegians/images
아시아 태평양(뭄바이), 아시아 태평양(서울), EU(프랑크푸르트) 및 중국(베이징) 리전에서 Amazon S3는 signature version 4만 지원하고 나머지 모든 리전에서는 Amazon S3에서 signature version 4와 2를 모두 지원한다고 한다.
설치된 AWS CLI sdk signature version이 2 였던 것이다.아래 명령을 통해 signature version 4로 변경해보자.
$ aws configure set default.s3.signature_version s3v4
다시 aws s3 sync 명령 실행하니 성공