안녕하세요 이번 게시물에서는 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/binsymlink가 자동으로 생성됩니다.
해당 폴더에 쓰기 권한을 부여하려면 명령에 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 칩 인텔 칩에 따라 다를 수 있음)
공식 홈페이지에 오류에 관한 기사도 게재되어 있습니다.
확인하면 좋다고 생각합니다 (내 기준 M1 칩은 오류없이 설치가 잘되었습니다)
AWS Cli를 사용하려면 AWS 계정에서 발급 IAM 사용자의
AWS AccessKey 그리고 AWS 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은 지역 정보입니다.
Default output format은 json 형식으로 result 값을 받기 때문에 json으로 설정했습니다.
aws configure list
-> 설치 확인하는 명령어
aws configure set default.output json
-> defulat output이 설정이 안되었다면, 위의 명령어를 통해
-> json으로 변경가능함
## Keypair 설정
AWS에서 Keypair란? EC2 인스턴스와 같은 가상 서버에 로그인하는 데 사용되는 공개 키와 개인 키 쌍을 나타냅니다.
키 쌍은 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 Command Line Interface(CLI)를 사용하여 보안 그룹의 그룹 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)에서 사용하는 방법
조사했습니다.
마지막 부분이 조금 불충분하다고 생각합니다.
더 공부하고 더 잘라내도록 합니다.