본문 바로가기
개인 메모장.

[AWS] CLI 설치 & 등록 방법 및 간단 명령어들( Mac )

by 개발적금 2023. 3. 20.

 

안녕하세요 이번 포스팅에서는 AWS CLI( Command Line Interface ) 설치 및

등록 명령어등을 알아보겠습니다.

 

※  설치 기준은 MAC 기준입니다  설치 방법은

    AWS 홈페이지에 운영체제 별로 나와 있습니다  ※

 

 

먼저 AWS CLI 란 ? 쉘 커맨드를 사용하여 AWS 서비스와 상호 작용 할수 있는

도구 입니다.

우리가 아마존 웹사이트에서 서비스를 이용하는것 처럼, 터미널에서 명령줄로

aws 서비스를 이용하는것이라고 보면 됩니다.

 

Mac OS는 Homebrew를 사용하면 간단하게 설치가 가능합니다.

 


 

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

1. curl 명령어를 사용하여 파일을 다운로드 할 수 있습니다. 

-o 옵션은 다운로드 한 패키지가 기록되는 파일 이름을 지정합니다. 위의 예제에서

파일은 현재 폴더의 " AWSCLIV2.pkg " 에 기록됩니다.

 

 

 

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

 

2. 다운로드한 .pkg 파일을 소스로 지정하여 표준 macOS installer 프로그램을 실행합니다.

-pkg 파라미터를 사용하여 설치할 패키지의 이름을 지정하고 -target / 파라미터를 사용하여

패키지를 설치할 드라이브를 지정합니다.

파일은 /usr/local/aws-cli에 설치되고 /usr/local/bin에 symlink가 자동으로 만들어집니다.

해당 폴더에 쓰기 권한을 부여하려면 명령에 sudo를 포함해야 합니다.

$ sudo installer -pkg ./AWSCLIV2.pkg -target /

설치가 완료되면 디버그 로그가 /var/log/install.log에 기록됩니다.

 

 

3. 셸이 aws에서 $PATH 명령을 찾아서 실행할 수 있는지 확인하려면 다음 명령을 사용합니다.

 

$which aws
/usr/local/bin/aws 

$aws --version
aws-cli/2.10.0 Python/3.11.2 Darwin/18.7.0 botocore/2.4.5

 

aws의 경로와 버전을 확인할수있습니다.

 

위의 설명은 AWS 공식홈페이지에 나와있는 설명입니다.

설치 과정중에 오류가 난다면 ( M1칩 intel칩 에따라 차이가 날수있음 )

공식홈페이지에 오류에 관한글도 올라와있으니

확인하면 될것같습니다 ( 제기준 M1칩은 오류안나고 설치가 잘되었음 )

 


AWS Cli를 사용하기 위해서는 AWS 계정에서 발급한 IAM 사용자의 

AWS AccessKeyAWS Secret AccessKey가 필요합니다.

 

※   IAM사용자는 AWS 계정의 리소스를 사용하기위해 필요한 권한을

가질수 있도록 세부적인 권한 설정을 하여 사용할수 있습니다.

IAM사용자를 사용함으로써 보안성을 유지하며,사용자들이 필요한

작업을 수행할수 있도록 도와줍니다..   

 

 

- IAM 사용자 등록하기

 

1.  root 계정 로그인 후 검색창에 " IAM " 검색 후 서비스 들어가기

 

2. 왼쪽 카테고리에서 사용자 메뉴를 클릭!

 

3-1) IAM 사용자를 추가하기위해 사용자 추가 버튼을 누릅니다.

 

3-2) 사용자 이름을 설정해줍니다.

 

3-3) 권한 정책 설정 중 " AmazonEC2FullAccess "만 체크 후 정책생성을 해줍니다.

※  이 정책은 IAM 사용자나 그룹에 대해 Amazon Elastic Compute Cloud(EC2) 서비스의 모든 기능에 대한 권한을 부여합니다. 즉, 해당 사용자나 그룹은 EC2 인스턴스를 시작하고 중지하고, 관리하고, 태그를 지정하고, 보안 그룹을 관리하는 등 EC2에 대한 모든 작업을 수행할 수 있습니다. 

테스트 용도로 사용하실때에만 사용하시고 보안에 취약하니, 주의하셔야 합니다.

 

 

 

 

 

밑에 다음버튼을 누르면 " test " 생성이 완료됩니다.

이후 만들어진 IAM 사용자에 엑세스 키 를 부여하는 작업을 해야합니다.

 

 

4. 엑세스키 만들기

 

 

4-1) test IAM사용자를 클릭합니다.

 

4-2) 가운데 " 보안 자격 증명 " 을 클릭합니다.

 

4-3) 밑으로 내려가서 액세스 키 만들기를 클릭합니다.

 

4-4) Command Line Interface (CLI) 를 클릭 후 밑에 동의항목을 체크합니다.

 

4-5) 설명 태그값은 안넣어도 됩니다 ( 주석처리하여 알려줄것들을 적는곳입니다. )

 

액세스키 생성 완료입니다.

액세스키는 노출되면 절대 안됩니다. .csv 파일로 개인컴퓨터에 보관해두셔도 됩니다.

저 파일 안에는 액세스 키와 시크릿액세스 키 두개가 있습니다 ( " , " 구분자로 나눠져있음)

 


위 방법대로 진행을 하였으면 거의다 끝났습니다.

 

VSCODE를 실행하여 명령어를 입력하시면 됩니다.

 

aws --version
 -> 버전 확인하는거( 잘 설치 되었나.. ) 

aws configure
 -> 4가지를 입력해야합니다.
 
AWS Access Key ID [None] : [발급받은 IAM의 Access Key ID]
AWS Secret Access Key [None] : [발급받은 IAM의 Secret Access Key]
Default region name [None] : ap-northeast-2[서울 리전]
Default output format [None] : text / json / table

 

Access Key ID / AWS Secret Access Key 는 .csv파일에 " , " 구분자로 나와있습니다.

Default region name 은 지역정보, 즉 우리는 서울기준으로 잡기때문에 ap-northeast-2를 사용하시면 됩니다.

Default output format은 json형식으로 result값을 받을거기 때문에 json으로 설정하였습니다.

 

aws configure list
-> 설치 확인하는 명령어

aws configure set default.output json
-> defulat output이 설정이 안되었다면, 위의 명령어를 통해
-> json으로 변경가능함

 

## Keypair 설정

 

AWS에서 Keypair 란 ? EC2 인스턴스와 같은 가상 서버에 로그인하는 데 사용되는 공개 및 개인 키 쌍을 말합니다.

Key Pair는 EC2 인스턴스에 연결할 때 필요합니다.

 

1. keypair 만들기

$ aws ec2 create-key-pair --key-name keysample --query 'KeyMaterial' --output text > 키페어이름.pem

2. keypair 권한설정

chmod 400 키페어이름.pem

 

2-1) keypair 내용을 확인하고싶으면 아래의 명령어!

aws ec2 describe-key-pairs --key-name keysample

3-1) 헉 잘못만들었다 삭제하고싶다면 아래의 명령어!

 

aws ec2 delete-key-pair --key-name keysample

 

## 보안그룹 설정

 

 

1. 그룹생성

aws ec2 create-security-group --group-name front-end-sg --description "front-sg"

 

2. 해당 그룹에 규칙을 정합니다

( 저는 규칙을 80번 포트, 20번포트 , 0.0.0.0/0 을 열어두었습니다 ) 

aws ec2 authorize-security-group-ingress --group-id 그룹아이디 --protocol tcp --port 22 --cidr 0.0.0.0/0

 

 

※ 해당 작업 전에 GroupId를 알아야합니다.

GroupId도 보안을 유지하셔야 합니다.

2-1) AWS CLI(Command Line Interface)를 사용하여 Security Group의 Group ID를 확인할 수 있습니다

aws ec2 describe-security-groups

 

2-2) GroupId를 삭제하고 싶다면 아래의 명령어!

 

aws ec2 delete-security-group-ingress --group-id 그룹아이디

 

## EC2 인스턴스 생성

 

$ aws ec2 run-instances --image-id ami-0e735aba742568824
$ --count 1 
$ --instance-type t2.micro 
$ --key-name keysample 
$ --security-group-ids 그룹아이디
>> 붙혀서 사용하시면됩니다. 길어서 짤랐습니다..



## --image-id :  ami-0e735aba742568824
 AWS에서 제공하는 Amazon Linux 2 AMI(Amazon Machine Image)입니다.
 Amazon Machine Image은 EC2 인스턴스를 시작할 때 사용되는 이미지로, 
 운영 체제와 애플리케이션 소프트웨어, 구성 설정 등이 포함됩니다. 
 AMI는 다양한 운영 체제 및 소프트웨어 구성으로 제공되며,
 사용자는 필요한 AMI를 선택하여 EC2 인스턴스를 시작할 수 있습니다.

## --count 1 : 인스턴스 몇개만들건지

## --instance-type : EC2 인스턴스를 시작할 때, 해당 인스턴스가 
사용할 인스턴스 유형(instance type)을 지정하는 데 사용되는 옵션(t2.micro) 입니다.

## --key-name : 키 네임입니다(keysample)

## --security-group-ids : 설정된 GroupId 입니다.

 

실행 하게 되면 .pem 파일이 생성됩니다..

 

오늘은 AWS CLI( Command Line Interface ) 로 사용하는방법을

알아보았습니다. 마지막부분이 조금 미흡한것 같아서

더 공부를해서 좀더 다듬도록 하겠습니다.