Contents

EC2 BASIC

   Apr 15, 2023     7 min read

AWS 예산 설정

Untitled

Untitled (1)
한계령 계정으로 비용을 알림받을 수 있도록 할 것인데 권한이 필요함.
그럼 root 계정으로 들어가서 설정 해야 함.

  • Root 계정)

Untitled (2)

Untitled (3)

  • Hangyeryeong 계정)

Untitled (4)
결제창이 활성화 된 것을 확인할 수 있다.

Budgets 설정

Untitled (5)

Untitled (6)
원하는 템플릿을 선택하면 됨.

Untitled (7)

Untitled (8)
Budgets이 잘 설정된 것을 확인할 수 있다.

EC2 Basic

  • EC2 : 아마존에서 가장 인기있는 서비스
  • EC2 = Elastic Compute Cloud = IaaS
  • 원하는 대로 AWS에서 빌릴 수 있다.
  • Bootstrapping : 머신이 작동될 때 명령을 시작하는 것
  • EC2 종류는 매우 多

웹 사이트 실습을 위해 EC2 사용자 데이터로 EC2 인스턴스 생성

  1. EC2 인스턴스 생성
  2. EC2 인스턴스에 전달할 EC2 인스턴스에서 직접 웹 서버 생성

EC2 인스턴스 생성

Untitled (9)

Untitled (10)

Untitled (11)
키 페어를 생성 해 보자.

Untitled (12)

Untitled (13)

  • 고급 세부 정보
  • Use Data (사용자 데이터) - 약간의 명령을 EC2 인스턴스에 제공하는 것.

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html



Untitled (14)

Untitled (15)

Untitled (16)
인스턴스가 잘 만들어진 것을 확인할 수 있다.

Untitled (17)
주소를 복사해서 붙여넣으면

Untitled (18)

Untitled (19)
잘 열리는 것을 확인할 수 있다.

  • 개방 주소법을 사용하여 페이지를 열때는, https://가 아닌 http://로 수정해줘야 한다.

EC2 인스턴스 유형 기본 사항

  • EC2 유형은 7가지 유형이 있음.

  • m5.2xlarge
  • m : instance class
  • 5 : generation (AWS imporves them over time)
  • 2xlarge : size within the instance class

EC2 인스턴스 종류

  • 범용 인스턴스 - General Purpose
  • 최적화 인스턴스 - Compute Optimized
    ex. 훌륭한 작업을 요구할 때, 모두 c로 시작하는 인스턴스 이름을 가지고 있음
  • 메모리 최적화 - Memory Optimized
    ex. 대규모
  • 스토리지 최적화 - Storage Optimized
    ex. 관계형 & NoSQL DB

보안 그룹 및 클래식 포트 개요

  • 보안 그룹 : AWS에서 네트워크 보안을 실행하는데 핵심적인 기능
  • 보안 그룹은 허용 규칙만 포함함.
  • 보안 그룹 : EC2의 방화벽
  • 여러 인스턴스에 연결할 수 있음.
  • 지역과 VPC 통제
  • 보안 그룹은 EC2 외부에 있음
  • 기본적으로 모든 인바운드 규칙은 거부되어 있고, 모든 아웃바운드 규칙은 허용되어 있음.
  • 보안 그룹이 같으면 EC2의 IP는 신경쓰지 않아도 됨.

보안 그룹

  • EC2인스턴스에서 타임아웃이 발생하면 100% EC2 보안 그룹 때문임.

Untitled (20)

기본적으로 SSH와 TCP가 있는 것을 확인할 수 있다.

SSH 개요

  • SSH : 명령줄 인터페이스 도구

Windows를 사용하여 SSH 실행

  • Putty 사용

Windows 10을 사용하여 SSH하는 방법

  • PowerShell 에서 연습
ssh


Untitled (21)

Untitled (22)
우선, pem파일이 있는 폴더로 이동한다.
EC2는 실행 중이여야 함.

Untitled (23)

ssh -i '.\EC2 Tutorial.pem' ec2-user@34.201.126.72(PUblic IP주소)


잘 실행된 것을 확인할 수 있다.

EC2 인스턴스 연결

  • 브라우저로 EC2 인스턴스 연결

Untitled (24)

Untitled (25)

Untitled (26)

바로 연결이 되는 것을 확인할 수 있다.

EC2 인스턴스 역할 데모

Untitled (27)

연결된 하나의 역할을 EC2 인스턴스에 연결해서 자격 증명을 제공하게끔 할 것임.

Untitled (28)
지금은 EC2 IAM Role이 비어있는 상태임.

Untitled (29)

Untitled (30)

Untitled (31)
IAM Role이 잘 연결된 것을 확인할 수 있다.

aws iam list-users


Untitled (32)

  • IAM으로부터 유저에 관한 응답을 받고 있는 것을 확인할 수 있다.
  • aws configure 명령을 실행하지 않았는데도 IAM 역할을 연결 후에 aws iam list-users 명령을 실행하니 작동이 되는 것을 확인할 수 있음.
  • EC2 인스턴스와 IAM이 연결된 것을 알 수 있다.

EC2 인스턴스 시작

  • 온디맨드 인스턴스
  • 예약 인스턴스 : 1년 or 3년
  • 절약 플랜 : 1년 or 3년
  • 스팟 인스턴스 : 아주 짧은 워크로드 but 언제든 손실될 수 있음
  • 전용 호스트 : 물리적 서버 전체 예약
  • 전용 인스턴스 : 다른 고객이 우리의 하드웨어를 공유하지 X
  • 용량 예약

EC2 On Demand

  • Pay for what you use
  • 1분 이후에 초 단위 청구
  • 단기적, 중단 없는 워크로드가 필요할 때 or 애플리케이션의 거동을 예측할 수 없을 때

EC2 Reserved Instances

  • 온디맨드에 비해 72%의 할인을 제공
  • 예약 기간 : 1년 or 3년
  • 부분 선결제 or 선결제 없음 or 전부 선결제
  • 더 이상 필요가 없으면 팔 수도 있음.

  • 전환형 예약 인스턴스 - 특별한 유형의 예약 인스턴스
    최대 66% 까지 할인 가능

EC2 Savings Plans

  • 장기간 사용하면 할인을 받을 수 있음.
  • 70% 할인 가능
  • 사용량이 한도를 넘어서면 절약 플랜은 온디맨드 가격으로 청구함.

EC2 Spot Instances

  • 할인 폭이 제일 큼.
  • 온디맨드에 비해 최대 90%까지 할인이 가능함.
  • 언제든 인스턴스가 손실될 가능성이 있음.
  • 아주 중요한 작업이나 데이터베이스에는 적절 X

EC2 Dedicated Hosts

  • 실제 물리적 서버를 받게 됨.
  • 온디맨드로 초당 지불 or 예약) 1년 or 3년
  • 실제로 물리적 서버를 예약하기 때문에 AWS에서 가장 비싼 옵션임.

EC2 Dedicated Instances

  • 개인의 전용 하드웨어에서 실행되는 인스턴스
  • 물리적 서버와는 다름.
  • 같은 계정에서 다른 인스턴스와 함께 하드웨어를 공유할 수 있음.
  • 인스턴스 배치에 대한 통제권이 없음.

EC2 Capacity Reservations

  • 원하는 기간 동안 특정한 AZ에서 온디맨드 인스턴스를 예약할 수 있음.
  • 기간 약정은 없음.
  • 언제든 용량을 예약하고 취소할 수 있음.
  • 용량을 예약하는 것이 유일한 목적임.
  • 온디맨드 요금 부과.
  • 특정한 AZ에 있어야 하는 단기적이고 중단 없는 워크로드에 아주 적합함.

스팟 인스턴스 및 스팟 집합

  • 온디맨드와 비교해 최대 90%까지 할인이 가능
  • 스팟 블록 : 특정 기간 동안 인스턴스를 차단하는 기능
  • 배치 작업, 데이터 분석, 실패해도 복원력이 있는 워크로드에 사용.

스팟 인스턴스 종료

  • 요청에 2가지 유형이 있음.
    1. 스팟 인스턴스를 위한 일회성 요청
    2. 사후 인스턴스를 위한 지속적인 요청

  • 스팟 인스턴스를 영구적으로 종류하고 재실행 되는 일이 없도록 하기 위해서는
    1. 스팟 요청을 취소
    2. 해당 요청과 연결된 스팟 인스턴스를 종료

  • 스팟 인스턴스를 먼저 종료하게 되면 요청이 종료되지 않은 것이기 때문에,
    다시 실행될 수 있음.

Spot Fleets

  • 한 세트의 스팟 인스턴스에 선택적으로 온디맨스 인스턴스를 조합해 사용하는 방식
  • Fleet : 집합
  • 정의된 비용 제한 내에서 대상 용량을 맞추려 노력함.
  • 스팟 플릿 내에 스팟 인스턴스를 할당해 줄 전략을 정의하게 됨.
    1. lowestPrice : 스팟 플릿이 가장 적은 비용을 가진 풀에서부터 인스턴스를 실행함.
      비용 최적화가 가능, 아주 짧은 워크로드가 있을 때 적합함.
      자동으로 최저 가격의 스팟 인스턴스를 요청함.
    2. diversified : 기존에 정의한 모든 풀에 걸쳐 분산됨.
      긴 워크로드에 적합, 가용성이 뛰어난 옵션임.
      왜냐하면 한 풀이 중단되더라도 다른 풀이 활성화되어 있을테니깐.
    3. capacityOptimized : 인스턴스의 개수에 따라서 최적 용량으로 실행이 되고 적절한 풀을 찾아주는 옵션.

-> 스팟 플릿을 이용해 여러 가지 런치풀과 인스턴스 유형을 다양하게 정의할 수 있다.

EC2 인스턴스 launch type

  • EC2 인스턴스를 실행할 수 있는 모든 방법

01. Spot Requests

Untitled (33)

Untitled (34)

02. Reserved Instances / Savings Plans / Dedicated Hosts / Capacity Reservaticons

Untitled (35)