[Section4: IAM & AWS CLI] 4. Access keys, CLI, SDK

Devhslee·2024년 2월 1일

강의복습

<Udemy> Ultimate AWS Certified Developer Associate 2024 NEW DVA-C02

  • Section 4: IAM & AWS CLI

AWS 서비스를 이용하는 방법

AWS의 서비스에 접근하기 위한 3가지의 방법이 있다.


1) 웹에서 비밀번호나 MFA로 로그인하여 AWS Management Console에 접속
-> 가장 간편한 방법

2) AWS CLI(Command Line Interface)로 접근
-> access key 필요

3) 코드 상에서 AWS의 자원에 대한 작업 (e.g. S3 버킷에 객체 업로드, 다운로드 등)을 수행하기 위해 AWS SDK(Software Development Kit)를 사용
-> 또한 access key 필요


AWS CLIAWS SDK는 콘솔에 접속하지 않아도 AWS 자원에 대한 작업을 수행할 수 있다. 다만 두 개를 이용하기 위한 access key는 콘솔에서 미리 생성해두어야 한다.

access key 역시도 비밀번호와 매한가지로 절대 공유해선 안되며 잘 보관해야 한다.


AWS CLI

AWS CLICommand line shell에서 명령어를 입력하여 AWS 서비스와 상호작용할 수 있다.
AWS에 접근하기 위한 일종의 public api인 셈이다.

AWS CLI를 활용하면 리소스를 관리하기 위한 스크립트를 작성할 수 있다.


AWS SDK

AWS SDKAWS 내의 리소스에 접근하거나 관리하기 위해 프로그래밍 언어(e.g JAVA, Python, Javascript)별로 만들어진 라이브러리의 모음이다.

애플리케이션 내에서 AWS 서비스에 접근하고 리소스를 관리할 수 있다.


실습

1. MacOS에 AWS CLI (GUI) 설치하기

MacOS AWS CLI 설치 안내 링크에 접속한다.

AWS CLI가 버전이 1, 2가 있는데 나는 그냥 최신 버전을 설치해주기로 했다.

우선 밑에서 시키는 대로 pkg파일을 다운받는다.

다운받은 pkg파일을 열면 아래와 같은 창이 나타난다. 계속 'continue'를 눌러주고, 권한을 요구하는 부분에서 'Agree'를 선택해준다.

딱히 중간 과정에서 바꿀 설정은 없으므로 계속 'continue'를 눌러 설치를 완료해준다.

그리고 난 후 터미널 같은 걸 열어서 AWS CLI가 제대로 설치되어 있는지 확인해본다.

$ aws --version

정상적으로 설치된 걸 확인할 수 있었다.


2. access key 생성하기

루트 계정으로 로그인한 뒤 IAM 콘솔로 들어가서 이전에 생성해준 사용자를 클릭하여 '보안 자격 증명' 탭을 확인한다.

아래로 스크롤하면 액세스 키를 만드는 부분이 있다.

AWS CLI를 위해 사용할 것이므로 'Command Line Interface(CLI)' 부분에 체크해준다.

권장사항 이해하고 계속한다 어쩌구에 체크해주고 다음으로 넘어가면 아래와 같이 액세스 키가 생성된 걸 볼 수 있다. 이 페이지를 나가면 다시 확인할 수 없으므로, csv파일을 내려받던지 다른 곳에 적어두든지 해서 잘 보관해두는 것이 중요하다.


3. aws cli를 사용하기 위한 설정

터미널에 다음과 같이 입력한 후

$ aws configure

아까 발급받은 액세스 키 ID, secret과 AWS CLI로 관리할 리소스들의 디폴트 region, output format을 지정해준다.

설정이 제대로 되었는지 확인해보기 위해 터미널에 다음과 같이 입력해본다.

$ aws iam list-users

그러면 아래와 같이 현재 생성되어 있는 IAM 사용자들의 목록이 나타나는 걸 확인할 수 있다.


+) AWS CloudShell 사용

AWS CLI를 사용하기 위해 로컬의 터미널 대신 AWS CloudShell를 이용하는 방법이 있다.

AWSIAM 사용자로 로그인 한 뒤 상단에 있는 터미널 아이콘을 클릭한다. 단, AWS CloudShell은 모든 리전에서 사용가능한 기능은 아니므로 현재 리전에서 사용 가능한지 확인해보는 게 좋다.

서울 리전에서 사용하는덴 별 문제가 없으므로 아래와 같이 쉘이 잘 나타난다.

AWS CloudShellAWS CLI가 디폴트로 설치되어 있는것도 확인할 수 있다.

로컬 터미널에서 AWS CLI를 사용하기 위해선 aws configure를 통해 액세스 키 ID와 시크릿을 입력해야 했었는데,
AWS CloudShell를 사용하면 그럴 필요 없이 바로 AWS 리소스들에 접근할 수 있다.

아까 로컬 터미널에서 봤던 것과 똑같은 결과를 얻을 수 있다.

또한 로컬 터미널에서 AWS CLI 설정을 할때 default region을 설정해줘야 했었는데, AWS CloudShell에선 그냥 지금 선택해 있는 리전이 곧 default region이 된다.

가령, 현재 리전이 시드니로 선택되어 있다면,
현재 AWS CloudShell에서 default region은 ap-southeast-2가 된다.

profile
코딩-버그-좌절-해결-희열

0개의 댓글