티스토리 뷰

파이썬 기반으로 개발된 AWS 서비스를 관리할 수 있는 명령형 도구이다.

Boto라는 패키지를 이용하여 AWS API와 통신을 진행한다. (Boto는 AWS에서 공식 지원하는 파이썬 SDK이다.)

AWS CLI v2 부터는 Python 패키지를 통한 설치 뿐만 아니라 컴파일된 바이너리 형태로 배포하기 때문에 파이썬 의존성이 필요하지 않다. (Python 3.6 이상 필요)

AWS CLI는 콘솔 상에서 AWS 서비스를 관리하거나, 자동화 스크립트 작성에 활용할 수 있다.

 

AWS CLI 사용방법

1. 설치

$ brew install awscli

 

2. CLI를 사용하기 위해서는 보안 자격 증명 필요

2-1. IAM에서 사용자를 추가하여 엑세스 키를 발급

엑세스 키는 Access Key ID와 Secret Access Key로 구성되며, Secret Access Key는 공개하면 안되는 기밀 정보이다.

** 사용자 추가 방법 : https://lannstark.tistory.com/66

 

2-2. 발급받은 Access Key를 이용하여 자격증명 설정

2-2-1. AWS CLI 자격증명 설정 우선순위

 1 CLI 명령어 옵션
 2 환경 변수
 3 CLI 자격 증명 파일 : ~/.aws/credentials
 4 CLI 설정 파일 : ~/.aws/config
 5 컨테이너 자격증명 (ECS)
 6 인스턴스 프로파일 자격증명 (EC2)

 

2-2-2. 자격 증명 설정

  • CLI 설정 파일
    CLI 설정 파일은 ~/.aws/config에 위치
    해당 파일은 기본 설정과 추가 사용자 프로파일을 관리할 수 있다.(aws_profile)
    1
    2
    3
    [default]
    aws_access_key_id = SDFKASDFASLFWERASDFDSF
    aws_secret_access_key = sSJDFJ2!@#SDKFSDFJAXICVNKDFEK
  • CLI 명령어 옵션
    Access Key를 지정하는 방법은 없으며, 사용자 프로파일만 지정 가능
    $ --profile
  • 인스턴스 프로파일 자격 증명
    EC2 머신에게 IAM 역할을 부여하기 위함
    (IAM 역할 : EC2 내의 AWS 서비스들을 이용하기 위한 권한)

 

** 현재 자격 증명 정보 확인

$ aws sts get-caller-identity

 

** ec2 service에서 등록된 key pair 목록을 불러옴

$ aws ec2 describe-key-pairs

 

2-2-3. 자격증명 외 설정

  • 기본 리전 설정
    ** 다른 설정들도 '--'를 이용하여 설정할 수 있다.
    $ aws ec2 describe-key-pairs --region ap-northeast-2
  • CLI 설정
    [default]
    region = ap-northeast-2
    output = json
    aws_access_key_id = SDFKASDFASLFWERASDFDSF
    aws_secret_access_key = sSJDFJ2!@#SDKFSDFJAXICVNKDFEK

    [profile user1-northeast1]
    region = ap-northeast-1
    aws_access_key_id = ASDFGHHJKLIUURSERGCWE
    aws_secret_access_key = sjdlfkMSDFWEIVJS#$SAKSF(*SDFS

    [profile user1-northeast2]
    region = ap-northeast-2
    aws_access_key_id = ASDFGHHJKLIUURSERGCWE
    aws_secret_access_key = sjdlfkMSDFWEIVJS#$SAKSF(*SDFS
    a) AWS CLI 명령어 수행 후 나오는 결과 데이터 출력 형식을 설정할 수 있다.
      지원 출력 형식 : json(default), text, table, yaml, yaml-stream
    b) 여러 사용자 프로파일 설정 등록 가능
      등록한 사용자 프로파일 사용 방법 :  AWS_PROFILE 환경변수 혹은 --profile 옵션을 사용하여 특정 사용자 프로파일로 명령어 수행 가능
    $ export AWS_PROFILE=user1-northeast1 aws sts get-caller-identity
    $ aws sts get-caller-identity --profile=user1-northeast1
    • 여러 AWS 계정을 운영
    • 동일 계정 내 여러 리전을 운영
    • 동일 계정 내 여러 IAM 역할 전환 수행
    • AWS SSO 조직 내 SSO 역할 수행
  • help
    $ aws help
    # ex) $ aws help
    $ aws <command> help
    # ex) $ aws ec2 help
    $ aws <command> <subcommand> help
    # ex) $ aws ec2 describe-availability-zones help
  • debug 모드 활성화
    $ aws sts get-caller-identity --debug
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함