클라우드

AWS CLI 사용하기 (+ IAM user 생성)

GriffinDouble 2022. 4. 5. 00:37

* 본 글은 정리를 목적으로 하는 글입니다. 틀리거나 잘못된 정보는 댓글로 부탁드립니다!

 

AWS의 서비스는 어마어마하게 많다. AWS 자격증을 공부하면서 알게된 서비스도 많을 정도로 상상이상으로 많다.

이러한 AWS 서비스들중에 CLI를 지원하는 서비스들이 있다. CLI를 지원할 경우 콘솔에 접속할 필요 없이 손쉽게 사용할 수 있어 그 방법을 정리해보려고 한다. 

 

글의 경우 아래의 링크를 바탕으로 정리하겠습니다.

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-chap-welcome.html

 

AWS Command Line Interface이란 무엇인가요? - AWS Command Line Interface

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

docs.aws.amazon.com

 

우선 AWS CLI를 사용하기 위해서는 아래와 같은 사전조건이 필요하다고 알려준다.

1. AWS 계정

2. IAM 유저

3. 액세스 키 ID 및 비밀 액세스 키

 

IAM 유저 생성

IAM 유저란?

AWS는 계정에 대해서 최소권한을 주는것을 추천한다. 그 이유는 한 사용자에게 권한을 많이 주면 함부로 리소스를 건드려서 문제가 생길 수 있기 때문이다. 그럴때 사용할 수 있는게 IAM 유저를 생성해서 사용자에게 필요한 권한만을 주는 것이다. 최소 권한만을 줌으로써 문제가 생길 수 있는 경우의 수를 최소화 하는 것이다. AWS CLI를 사용하기 위해서는 이 IAM 유저가 필요하다.

 

AWS 계정을 생성하는 과정은 생략

IAM 유저의 경우 루트 계정으로 로그인한다.

- 루트계정이란 AWS를 생성할때 만드는 계정을 뜻한다.

로그인 후에 사용자 추가를 누르면 아래와 같은 화면이 보일 것이다.

  • 여기서 암호를 체크해 준다.

액세스키의 경우 어차피 추후에 다시 생성할 것이기 때문에 굳이 현재 선택하지 않아도 된다.

그 다음에 권한 버튼을 누르면 그룹생성하는 창이 나오는데 그룹의 경우 그룹을 생성하고 그 그룹에 권한을 주면 된다.

다음 버튼을 누르면 태그가 나오지만, 태그는 생략해도 된다.

이렇게 다음 버튼을 누르면 이제 IAM 계정이 생성된 것이다.

IAM 계정이 생겼으면 IAM 계정으로 로그인하는게 인지상정!

다시 IAM => 사용자 => 만든 IAM 계정을 클릭하면 사용자 ARN이 나온다. 거기있는 12자리 숫자를 이용해서 로그인 할 수 있다.

하지만 그건 복잡하니 나만의 별칭을 만들어 보자!

IAM => 대시보드(왼쪽 가장 상단 메뉴) => (오른쪽) AWS 계정 => 계정별칭 생성

- 계정별칭이 올바르게 생성되었다면 이제 숫자 12자리가 아닌 계정 별칭으로 이름이 변경된다.

이제 다음부터 로그인 할때는 생성한 계정 별칭을 적고 IAM User 이름, 암호를 적어서 로그인하면 된다.

여기까지가 IAM 사용자 생성이다.

 

액세스 키 ID 및 비밀 액세스 키 생성

다시 IAM 으로 들어간다.

메뉴에서 사용자를 클릭 => 내가 원하는 IAM User를 클릭 하면 아래와 같은 탭들이 보이는데 거기서 `보안자격증명` 클릭

이제 탭을 클릭하고 내리다 보면 아래와 같은 화면이 보이는데 여기서 액세스 키 만들기를 클릭한다.

액세스키는 잃어버리면 안되는 매우 중요한 것이니 되도록이면 일단 .csv 파일을 저장해 두는것이 좋다.

이로써 CLI 설치 사전 작업이 끝났다.

이제 본격적으로 AWS CLI를 설치해 보자.

 

AWS CLI 설치

기존에 적으려고 했던 것은 python을 이용해서 가상환경을 설치하고 거기에서 pip를 이용해서 aws-cli를 설치하는 과정을 적으려고했다.

하지만..

시간은 빠르게 흘러가고 그것보다 훨씬 편한방법이 등장했다..

aws-cli v2의 경우 아래의 사이트에서 운영체제 버전에 따라 손쉽게 다운받고 설치 가능했다.

https://github.com/aws/aws-cli/tree/v2

 

GitHub - aws/aws-cli: Universal Command Line Interface for Amazon Web Services

Universal Command Line Interface for Amazon Web Services - GitHub - aws/aws-cli: Universal Command Line Interface for Amazon Web Services

github.com

위의 사이트의 installation가서 다운받고 설치하면 너무나도 간단하게 끝난다..

v1의 경우 위에적은것처럼 pip로 설치하면 된다.

 

AWS CLI 설정 및 사용

여기서 끝이 아니다. 기본적으로 설정을 해주어야한다.

일단 무사히 설치가 끝나면 커맨드창에 aws --version 을 적어준다. 그때 버전이 잘 나오면 무사히 설치가 완료된 것이다.

aws configure 명령어를 치면 아래와 같은 코드가 나온다.

 ~  aws configure
AWS Access Key ID [None]: # csv에 저장된 id 
AWS Secret Access Key [None]: # csv에 저장된 secret access key
Default region name [None]: # 사용할 리전
Default output format [None]: # 형식 (ex.json)

위의 사항을 아까 다운받은 csv를 참고해서 채워준다.

자세한 사항은 아래 링크를 참고하자.

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-quickstart.html

 

구성 기본 사항 - AWS Command Line Interface

AWS에서는 모든 수신 요청이 암호화 방식으로 서명되어야 합니다. AWS CLI에서 이 작업을 수행합니다. "서명"에는 날짜/시간 스탬프가 포함됩니다. 따라서 컴퓨터의 날짜 및 시간이 올바르게 설정

docs.aws.amazon.com

마지막 작업이 남아있다.

바로 프로파일 설정이다.

이 작업을 하는 이유는 현 터미널에서 지금 설정된 계정말고 여러계정을 사용할때 사용하기 위함이다.

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-profiles.html

 

AWS CLI에 사용되는 명명된 프로파일 - AWS Command Line Interface

AWS CLI에 사용되는 명명된 프로파일 명명된 프로파일은 AWS CLI 명령에 적용할 수 있는 설정 및 자격 증명 모음입니다. 명령을 실행할 프로파일을 지정하면 설정 및 자격 증명이 해당 명령을 실행

docs.aws.amazon.com

예를 들면 개발 계정과 운영 계정을 나눠서 작업할때 사용하면 유용하다.

개발 계정의 경우 dev를 사용하고 운영의 경우 production을 프로파일로 지정해서 사용하면 편리하게 사용할 수 있다.

 

프로파일 추가는 `aws configure --profile 프로파일명` 혹은 `.aws/credentials` 파일을 직접 수정하면 된다.

파일을 직접 수정할 경우 기존의 것을 참고해서 `[default]` 대신 `[프로필명]` 을 적어주면 된다.

 

기본적으로 default값이 존재하고 프로파일을 변경할 경우 맥에서는 아래와 같은 명령어를 이용하여 수행한다.

export AWS_PROFILE=production

이로써 모든 사전 작업이 완료 되었다.

 

 

그럼 모두 즐거운 코딩을 하시길 바란다.

'클라우드' 카테고리의 다른 글

SSH를 이용한 클라우드 접속  (0) 2022.04.09