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 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