본문 바로가기

개발-사용기/aws

AWS credential, configure, cli, profile

서론

AWS에서 credential을 생성하고 aws-cli 설치, aws-cli configure 과정 및 사용하는 방법을 정리해보려 한다.

AWS를 CLI 환경에서 사용하려 하면 접속 가능한 credential이 필요하다. 

먼저 credential을 생성하는것 부터 시작해보자

 

 

 

 

 

Credential 생성

1. aws 콘솔에 접속

2. 우상단에 본인의 계정명을 클릭

이미지의 주황색 영역을 클릭한다.

3. 펼쳐진 메뉴박스에서 '내 보안 자격증명' 을 클릭

빨간색으로 표시된 메뉴를 클릭한다.

 

4. 보안 자격 증명 페이지가 나오고, 아코디언 메뉴중에 '액세스 키'가 있는데 열어보면 다음과 같은 화면이 나온다.

5. '새 액세스 키 만들기' 를 클릭하면 우리가 원하는 credential 파일을 다운받을 수 있다. 
생성하는 시점에만 다운받을 수 있기 때문에 다운받은 후 잘 보관해야한다.

 

 

 

 

 

AWS CLI

aws의 각 서비스를 cli 환경에서 제어하려면 aws-cli를 설치해야 한다.

공식문서를 참고해서 설치를 진행해보자.

docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2.html

 

AWS CLI 버전 2 설치, 업데이트 및 제거 - AWS Command Line Interface

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

필자는 mac을 사용중이기 때문에 다음 명령어를 통해 설치했다.

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /

제대로 설치했는지 확인해보려면 다음 명령어를 터미널에서 실행해보자

$ aws --version

// 결과로 나오는 텍스트
aws-cli/2.2.4 Python/3.8.8 Darwin/19.6.0 exe/x86_64 prompt/off

 

 

 

 

 

AWS Configure

이제 aws-cli를 활용하기 위해 설정작업을 해주자.

aws-cli는 발급된 credential(access-key, secret-access-key) 정보를 configure라는 명령어를 통해 저장하고

aws에 프로그래밍적인 접근을 할 때 인증정보로 사용한다.

 

configure를 사용하는 방법은 공식문서를 참고해보자.

docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-files.html

 

구성 및 자격 증명 파일 설정 - AWS Command Line Interface

AWS CLI는 config 파일에서 자격 증명을 읽을 수 있으므로 모든 프로파일 설정을 단일 파일에 보관할 수 있습니다. 동일한 이름을 공유하는 프로파일에 대한 자격 증명이 두 파일 모두에 있는 경우

docs.aws.amazon.com

 

문서를 참고하면 aws configure 명령을 통해 credential 등록이 가능한걸 알 수 있다.

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

 

 

 

 

 

AWS Configure profile

aws를 사용하다보면 여러 계정의 aws credential을 제어해야 하는 경우가 있다.(예를들면 여러 프로젝트를 진행중이라던가...)

이런 경우엔 --profile 옵션을 사용하여 여러 계정의 credential을 등록할 수 있다.

 

$ aws configure --profile profileName1
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

$ aws configure --profile profileName2
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

 

등록된 credential정보는 aws credential 저장파일을 확인해보면 알 수 있다. aws credential 저장파일은 개발환경마다 다른 경로에 있으므로 공식 문서를 참고해서 찾아보도록 하자.

docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-files.html#cli-configure-files-where

 

구성 및 자격 증명 파일 설정 - AWS Command Line Interface

이러한 설정은 전적으로 선택 사항입니다. 이러한 설정을 구성하지 않고도 aws s3 이전 명령을 성공적으로 사용할 수 있어야 합니다. 이러한 설정은 성능을 조정하거나 aws s3 명령을 실행 중인 특

docs.aws.amazon.com

필자는 mac을 사용중이므로 ~/.aws/credentials 에 저장되어 있는걸 알 수 있다.

 

vi를 통해 파일을 열면 다음과 같은 정보를 볼 수 있다.

 

[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE1
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY1
[profileName1]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE2
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY2
[profileName2]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE3
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY3

 

 

 

 

 

AWS-CLI profile 사용

profile로 분류해서 등록한 credential을 사용하는건 간단히 --profile [프로필이름] 을 통해 사용가능하다.

 

예를들어 ecr을 사용하는 명령어에 profile을 사용하는 코드를 보면 다음과 같다.

 

aws ecr get-login-password --region ap-northeast-2 --profile profileName1 | docker login --username AWS --password-stdin 123456789.dkr.ecr.ap-northeast-2.amazonaws.com

코드 중간에 --profile profileName1 부분이 특정 프로필을 사용한다고 명시하는 부분이다.

 

 

 

 

 

AWS config profile 삭제

등록된 profile을 삭제하는 명령어는 다음을 사용하면 된다.

 

aws configure --profile profileName1

 

'개발-사용기 > aws' 카테고리의 다른 글

AWS ECS 구성  (0) 2021.05.24
AWS Certificate Manager (https 적용하기)  (0) 2021.05.20
AWS Codebuild  (0) 2021.05.18
AWS ECR 사용기  (0) 2021.05.13