Intro
AWS CLI : AWS Command Line Interface
AWS CLI는 명령 프롬프트를 이용해 AWS 서비스와 상호 작용할 수 있는 오픈소스 도구이다.
이를 통해 AWS Managerment Console 에서 할 수 있는 기능들을 명령프롬프트에서 사용할 수 있다.
이에 더해 AWS 권한 정보 (access_key, secret_key 등) 들을 로컬 환경변수에 저장함으로써
보다 안전하게, 코드의 외부 노출 위험을 줄이면서 AWS를 사용할 수 있는 장점도 있다.
Linux 계열의 bash, zsh, tcsh,
Windows 의 명령프롬프트나 powershell 에서 작동이 가능하다.
설치
AWS 의 CLI 페이지에서 설치가 가능하다.
작동 환경에 맞는 패키지를 설치해주도록 한다.
실행
명령프롬프트 등의 터미널을 띄운 후, aws 라는 명령어를 통해 실행이 가능하다.
아래에 몇 가지 명령어를 예시로 작성한다.
명령어 | 설명 |
---|---|
aws –version | AWS CLI의 버전을 출력한다. |
aws help | 도움말을 본다. |
aws configure | AWS 권한 정보(엑세스 키 등), region을 설정하는 명령어. 하단 참조 |
aws s3 ls | configured 된 계정의 S3 버킷 목록을 보여준다. |
aws s3 sync s3://버킷이름 로컬디렉토리 | 지정된 S3의 버킷과 로컬 있는 파일들을 로컬 디렉토리를 싱크(=동기화) 한다. 파일들이 생기거나 없어진다. |
aws s3 cp 로컬파일명 s3://버킷이름 | S3 버킷에 로컬 파일을 업로드한다. |
–acl public-read 옵션을 붙이면 업로드한 파일을 모두가 읽을 수 있게 권한 설정이 된다. |
세팅
AWS CLI 이용을 위해, 권한 정보(엑세스 키 등)을 세팅하는 단계.
(1) AWS_access_key
(2) AWS_secret_access_key
(3) default region
(4) default format
네 가지를 설정하게 된다.
1
2
3
4
5
6
7
8
% aws configure
AWS Access Key ID : 엑세스 키 ID 입력
AWS Secret Access Key : 시크릿 엑세스 키 입력
Default region name : 기본 지역(us-east-1 ...) 입력
Default output format : 정보를 주고 받을 형식. 보통 json 이용함
이렇게 설정한 정보는 로컬 환경변수로 저장되며,
외부에 쉽사리 노출되지 않는다.
**이후 boto3를 이용할 경우, 연결 선언시 access key를 생략하고 할 수 있다.
Reference
AWS CLI 소개 및 설치 : https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-welcome.html
AWS CLI 기초 : https://www.44bits.io/ko/post/aws_command_line_interface_basic#configure-%EB%AA%85%EB%A0%B9%EC%96%B4
AWS CLI sync : https://lovit.github.io/aws/2019/01/30/aws_s3_iam_awscli/
AWS CLI commands : https://potato-yong.tistory.com/94