처음 만나는 클라우드 보안

[AWS]우분투 커맨드라인으로 AWS이용하기 본문

클라우드 기초/Amazon AWS

[AWS]우분투 커맨드라인으로 AWS이용하기

영민하게 2022. 6. 14. 17:44
반응형

우분투(Ubuntu 20.04)의 CLI환경을 이용해 AWS의 인스턴스를 생성한다.

CLI (command-line interface)

커맨드-라인 인터페이스는 텍스트 기반 응용 프로그램으로 스크립트를 통한 자동화 조작이 가능하다. 명칭으로는 cmd, CLI, 프롬프트(prompt), 콘솔(console), 터미널(terminal)라고도 불린다. 

1. CLI설치

$ sudo -i

# wget https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip

# apt update

# apt install unzip

# unzip  aws<tab>

# cd aws

#  ./install

# aws  --version        // 설치 확인 (버전 나타난다)

 

2. AWS 엑세스 키 생성

IAM > 사용자 > 본인계정 > 엑세스 키 만들기

3. AWS접속

# aws configure

 - Access ID & Secret Access Key       // 다운받은 엑세스키.csv에 따라 입력

 - Region: 현재 사용중인 VPC 리전 ex) 서울 - ap-northeast-2ls

참고) 최근 등록된 키와 리전이 모두 저장되어 있음

 

AWS 로그인 후 명령어의 앞부분엔 aws를 먼저 입력

 

4.  AWS 사용

- S3버킷 생성 및 파일 이동

# aws s3 ls        //버킷목록 확인

# aws s3 mb s3://새버킷       //직접생성 

기존버킷에 파일하나 업로드

# aws s3 ls 기존버킷  //       파일목록 확인

업로드한 autopsy.htm 확인

# aws  s3  cp  s3://yngmin/testjs.sh  s3://yngmin2       //S3 => S3 파일 복사

# aws s3 cp /home/ykim/sh_ubuntu_gnuboard.sh s3://yngmin      //로컬 우분투 => S3 파일 업로드

새로운 버킷으로 파일 'testjs.sh' 복사 확인

5. EC2 생성

EC2생성 쉘스크립

#!/bin/bash
apt update
apt install apache2 php php-mysql php-common php-json php-xml php-fpm php-gd php-curl git -y
cd /var/www/html
git clone https://github.com/gnuboard/gnuboard5
cd gnuboard5
mkdir data
chmod 707 data
service apache2 restart

 

- CLI 로 인스턴스 생성

aws ec2 run-instances \

--image-id ami-08597df434c0ea272 \        //AMI이미지 ID (이미지 못찾으면 리전재확인)

--count 1 \        //생성 인스턴스수

--instance-type t2.micro \        //인스턴스 유형

--key-name yngmin_web \        //키페어 이름(확장자 없이)

--security-group-ids sg-026862c6745d0ac4a \        //보안그룹

--subnet-id subnet-0d2377185d7418ec7 \        //서브넷ID(VPC->서브넷)

--user-data file:///root/sh_ubuntu_ins2.txt     //설치후 실행 할 쉘스크립트 업로드

인스턴스ID 확인 => 테그(이름) 변경에 사용

- 인스턴스 이름변경

aws ec2 create-tags --resources i-0613d7f384d4498a9 --tags Key=Name,Value=yngmin_new

참고) 공백유의

 

- 로컬 우분투 CLI에서 AWS접속

: 프라이빗키를 우분투로 복사, 아래 ssh접속 명령어 사용

인스턴스 gnuboard확인


그누보드 작동확인


참조) aws 명령어 찾기

AWS CLI에서 EC2관련 내용 파악

aws help

aws ec2 help

aws ec2 describe-address

 

특정 인스턴스 가동상태 확인하기 (NN => 태그이름)

aws ec2 describe-instances  \ --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,Name:Tags[?Key=='Name']|[0].Value,Status:State.Name}" \--filters "Name=instance-state-name,Values=running" "Name=tag:Name,Values='*NN*'" --output table

반응형
Comments