본문 바로가기
패션자격증/AWS

[AWS Solutions Architect Associate] EC2 기초, 요약, 정리, 문제

by nowjin 2025. 3. 29.

AWS 예산 설정

Billing and Cost Management

Billing and Cost Management

Bill

  • 여기서 내가 어떤 부분으로 어떻게 청구되었는지 요금 조회 가능

Free Tier

  • 현재 무료로 사용가능한 양 프리티어 한도조회 넘으면 돈내야 함

Budget ( Bugets and Planning)

  • 예산 정책 설정
  • create budget → Use a template → Zero spend budget (0.01달러 되는 순간 알림)
    이때 Email recipients에 알람 받을 메일 주소 적어놔야함.

EC2 기초

EC2 sizing & configuration options

  1. OS : Linux , Windows, Mac OS
  2. CPU : How much compute power & cores
  3. RAM : How much random-access memory
  4. Storage space
    1. Network-attached (EBS & EFS)
    2. hardware : EC2 Instance Store
  5. Network card : speed of the card, Public IP address
  6. Firewall rules : security group
  7. Bootstrap script [configure at first launch] : EC2 User Data

핵심은 내가 원하는 만큼 옵션을 선택해서 대여할 수 있다.

EC2 User Data

bootstraping은 machine이 시작될 때 시작 될 명령어, 즉 처음 시작할 때 한번만 실행됨.

EC2 user data is used to automate boot tasks such as :

  • Installing updates
  • installing software
  • Downloading common files from the internet
  • etc..

EC2 User Data Script는 root user로 만 Control 가능 (sudo 명령어로 작동)

EC2 인스턴스 생성

  • EC2 > Instance > Laaunch an instance
    1. Quick Start > Amazon Linux > Amazon Linux 2023 AMI
      Architecrture : 64 bit
    2. Instance type 설정 > free tier로 하려면 t2.micro 사용
    3. Key pair 생성
      Key pair name : 맘대로 설정
      Key pair type : RSA
      Private key file format : .pem( mac, window 10 ) .pek( window 10 미만 putty 방식)
    4. Network settings
      Public IP 로 할거고
      Security groups
    5. Allow SSH traffic from > Anywhere 0.0.0.0/0
    6. Allow HTTP trafic from the internet > EC2로 웹사이트 띄우려면 써야함
    7. Storage (volumes)
      details 에서 Delete on termination > Yes 로해야함 ⇒ EC2 인스턴스를 종료하면 그 볼륨도 삭제될 것이라는 의미.
    8. Advanced > 맨밑으로 내려가서 User data
      User data는 EC2만들때 1번만 실행될 명령어들
    9. #!/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

이렇게 하면 생성 완료

Public IP Address

  • SSH 혹은 Web으로 접근할 ip 주소
  • 인스턴스 stop 후 다시 만들 경우 public IP Address 바뀜.
    그래서 이 public IP Address를 고정할 수 있는 Service가 있는거임

EC2 인스턴스 유형 (7종류)

  1. General Purpose = 흔히 보는 t3. m3. 으로 시작
    Great for a diversity(다양성) of workloads such as web servers or code repositories
    (웹 서버나 코드 저장소와 같은 다양한 워크로드에 적합합니다)
    Good Balance at Compute, Memory, Networking
  2. Compute Optimized = C 로 시작
    Great for compute-intensive tasks that require high performance processors
    (고성능 프로세서가 필요한 컴퓨팅 집약적인 작업에 적합합니다)
    Batch processing workloads
    Media transcodeing
    High performance web servers
    High performance computing (HPC)
    Scientific modeling & machine learning
    Dedicated gaming servers
  3. Memory Optimized = R 혹은 X 로 시작
    Fast performance for workloads that process large data sets in memory
    (대용량 데이터 세트를 메모리에서 처리하는 워크로드에 대한 빠른 성능)
    High performance, relational/non-relational databases
    Distributed web scale cache stores
    In-memory databases optimized for BI( bussiness intelligence)
    Applications performing real-time processing of big unstructured data
  4. Accelerated Computing
  5. Strage Optimized
    Great for storage-intensive tasks that require high, sequential read and write access to large data sets on local storage
    (로컬 스토리지에서 대용량 데이터 세트에 대한 높은 순차적 읽기 및 쓰기 액세스가 필요한 스토리지 집약적 작업에 적합합니다)
    High frequency online transaction processing(OLTP) system
    Relational & NoSQL databases
    Cache for in-memory databases (ex. Redis)
    Data warehousing applications
    Distributed file systems
  6. Instance Features
  7. Measuring Instance Performance

EC2 보안 그룹

  • EC2 = Firewall 이랑 동일하다
  • Type, Protocol(통신방식), Port Range(포트번호), Source(범위) ⇒ 포트포워딩이랑 동일
  • 보안그룹과 인스턴스는 1대 1 대응아님. 1개의 그룹 룰에 여러개 인스턴스 대응가능
  • Security Group 은 EC2 밖에 있음 EC2 안에서 동작하는게 아님.

Port 번호들

  • 22 = SSH (Linux Instance)
  • 21 = FTP
  • 22 = SFTP
  • 80 = HTTP
  • 443 = HTTPS
  • 3389 = RDP (Window Instance)

만약 접속했는데 무한로딩 즉 (Time Out) 이 발생한다 그럼 이건 100% Security Group 때문

SSH 개요

PEM 키 권한 변경

chomod 0400 EC2tutorial.pem

 

SSH 접속

ssh -i EC2tutorial.pem ec2-user@public

EC2 Instance 에 IAM Role 부여하기

AWS CLI 명렁어

EC2 Instances Purchasing Options

On-Demand Instance

  • Short workload, Predictable pricing, Pay by second
  • Linux or Windows 사용가능
  • 제일 비쌈 하지만 바로 지불할 금액이 없음 후불임
  • 장기적인 약정 없음
  • 단기적이고 중단 없는 워크로드가 필요할때, 애플리케이션의 기간을 예측할 수 없을 때 사용

Reserved (1 & 3 years)

  • Reserved Instances : long workloads
  • Convertible Reserved Instances : long workloads with flexible instances
  • On Demand 보다 약 72% 정도 할인된 가격 제공
  • Specific instance attributes를 예약 해야함 (Instance type, Region, Tenancy, OS)
  • 1년 혹은 3년으로 예약가능, 선결제 할 수도있고 안할 수도 있음, 일부 선결제 가능
  • Reserved Instance’s Scope : 리전이나 존을 설정해서 예약가능
  • 사용량이 일정한 애플리케이션에 사용하는게 좋음 (예를들어 database)
  • 필요없어지면 다시 팔 수 있음
  • Convertible Reserved Instance ⇒ 전환형 예약 인스턴스
    EC2 type, instance family, OS, scope, tenancy 변경 가능

Savings Plan (1 & 3 years)

  • commitment to an amount of usage, long workload
  • Long-term 일수록 쌈
  • On-demand 요금제에 비례해서 싸게 해줌
  • Locked to a specific instance family & AWS region
  • Flexible across ⇒ Instance Size, OS, Tenancy

Spot Instance

  • short workloads, cheap, can lose instance(less reliable)
  • 가장 큰 할인율을 가지고있다 On-demand에 비해 90% 이상 저렴
  • 최대가격 정의하고 가격이 이 최대 가격을 넘으면 이 인스턴스가 날아감
  • Failure에 대한 회복력이 있다면 효율적이다
  • 회복력이 있는 작업들에대해 효율적이다.
    Batch jobs
    Data analysis
    Image processing
    Distributed workload
    Workloads with a flexible start and end time
  • 중요 : 중요한 작업이나 데이터베이스에는 적절하지 않다.

Dedicated Hosts (전용 호스트)

  • book an entire physical server, control instance placement
  • 실제로 물리적 서버를 받게됨.
  • 활용사례 : licensing model 과 함께 사용해야하는 소프트웨어인 경우에 적합
    규정이나 법규에 맞춰야 할 경우

Dedicated Instances

  • no other customers will share you hardware
  • 전용 하드웨어에서 실행되는 인스턴스
    Dedicated Host ⇒ 물리적 서버를 받는거랑 다른 개념임
  • 같은 계정에서 다른 인스턴스와 함께 하드웨어 공유 가능

Dedicated Hosts 와 Instances의 차이

인스턴스란 자신만의 인스턴스를 자신만의 하드웨어에 갖는다는 것, Dedicated Hosts는 물리적 서버 자체에 대한 접근권을 가지고, 낮은 수준의 하드웨어에 대한 가시성을 제공해줌

Chracteristic  Dedicated Instances Dedicated Hosts
Enables the use of dedicated physical servers  X X
Per instance billing X O
Visibility of sockets, cores, host ID O X
Affinity between a host and instance O X
Targeted instance placement O X
Automatic instance placement O X
Add capacity using an allocation request O X

 

Capacity Reservations

  • reserve capacity in a specific AZ for any durations
  • 특정 AZ에서 On-demand instance를 예약할 수 있다.
  • 기간 약정 없음, 언제든 용량 예약, 취소 가능
  • 할인도 없음.
  • 오직 용량을 예약하기 위한 목적
  • 청구할인 받으려면 savings plan 과 결합해야함
  • 인스턴스를 실행하건 말건 On-demand요금 발생 ⇒ 예약 하면 그것에 대해 청구가 되고 지불해야함.
  • Suitable for short-term, uninterrupted workloads that needs to be in a specific AZ

요약 그래서 어떤 요금제를 사야해

  • On-demand
    리조트가 있다고 가정
    원할 때 언제나 리조트에 오고 전체 가격을 지불함.
  • Reserved
    미리 여행 계획을 하고 있고, 이 리조트에 아주 오래 체류할 것을 알고있음 1~3년 그래서 할인을 많이 받고 예약가능
  • Savings Plans
    리조트에서 일정할 금액을 지출할 것이라는 뜻
    예를들어 12개월 동안 매월 300불씩 지출할거야, 그래서 시간이 지나면 객실 타입을 변경할 수 있어. 대신 리조트에서 특정한 지출액을 약속하라고 말함.
  • Spot instances
    리조트에 빈 객실이 있고, 사람들을 끌어 모이기 위해 할인을 하는 느낌
    근데 빈 객실이 있다? 그럼 쫓겨날 수 있음
  • Dedicated Hosts
    리조트 건물 전체를 예약하려는 것과 같음
  • Capacity Reserbvations
    방을 예약할건데 내가 체류할지 확실하지 않다.
    체류를 안해도 하지만 비용은 그대로 내겠다.

IP Address Charges in AWS (IP 고정 하는 비용)

  • 0.005$ per hour of Public IPv4 (~$3.6 per month)

스팟 인스턴스 및 스팟 집합

  • 스팟 인스턴스에 대해 지불할 수 있는 최대 스팟 가격 정의, 인스턴스 스팟 가격이 우리가 지불하고자 하는 최대 가격보다 낮다면 해당 인스턴스 유지.
  • 만약 이걸 초과 할 경우 2가지의 옵션이 있다
    • stop(인스턴스 중지) 과 terminate(인스턴스 종료)를 2분 안에 골라야 함.
  • 인스턴스가 회수되길 원하지 않는다면, 스팟블록 사용.
    스팟 블록 : 지정된 기간 동안 스팟 인스턴스를 차단하는 것
    1~6시간 가능. 그동안 중단 없이 해당 블록을 사용할 수 있다.
  • 스팟 인스턴스 종료방법
    스팟 요청 ⇒ 인스턴스 수, 최대 가격, 시작 사양 선택 그리고 언제부터 언제까지 유효한지 정함. (무한대도 가능)
    일회성 요청을 하거나, 영구 인스턴스 요청할 수 있음
    일회성 요청 : 스팟 요청이 완료되는 즉시 인스턴스 시작
    영구 인스턴스 요청 : 스팟 요청이 사라지지않음
  • 만약 스팟 인스턴스를 완전히 종료하고, 다시 시작하지 않으려면
    1. 스팟 요청 취소
      만약 취소하지 않고 인스턴스를 종료하면 AWS가 인스턴스를 다시 만들어버림
    2. 인스턴스 종료

Spot Fleets(무리)

  • Spot Fleets = 스팟 인스턴스 세트를 정의하는 방법, 옵션으로 On-demand Instance도 같이 묶을 수 있음
  • 내가 정의한 가격 제한으로 목표 용량을 달성하기 위해 최선을 다함.
    Lunch pool 에서 정의 ⇒ 플릿이 가장 최적의 pool을 정의함.
  • Spot Fleets에 Spot Instance를 할당하는 전략을 정의해야함.
    1. lowestPrice : 최저 가격
      ⇒ Spot Fleets는 가장 낮은 가격인 풀에서 인스턴스를 시작하기 때문에 비용이 최적화됨. 워크로드가 매우 짧은 경우 좋은 옵션
    2. deversified :
      ⇒ 모든 pools에 분산됨. 이건 가용성과 긴 워크로드에 적합, 한 pool이 사라져도 다른 pool은 여전히 활성화 되어있음
    3. capacityOptimized : 용량 최적화
      ⇒ pool with the optimal capacity of the number of instance
    4. priceCapacityOptimized : 가격 용량 최적화
      ⇒ 먼저 사용 가능한 용량이 가장 큰 pool을 선택하고, 그 중 가격이 가장 낮은 pool을 선택하는 전략, 보통 이걸 많이 씀
  • Spot request = 원하는 인스턴스 유형과 AZ를 정확히 알고있는 경우
  • Spot Fleets request = 조건을 만족하는 모든 인스턴스 유형과 모든 AZ를 선택하라는 것


EC2 인스턴스 launch type 실습

Spot Requests [ Instances → Spot Requests ]

  • Price로 기간 설정해서 특정 기간동안 동안 얼마 였는지 가격 추이 확인 가능
  • launch template을 사용하거나 수동으로 매개변수를 구성할 수 있음

그냥 Spot Instance를 만드려면

  • EC2 생성 할 때 Advanced details 에 Request Spot instances가 있음 이걸 체크
  • 디폴트는 On-demand요금제로 설정됨 낮추려면 customize해야 함.
  • 디폴트는 On-time Request임. 여기서 Persistent로 하면 영구 요청이 되는거
    Persistent로 하면 request expiry date를 정해야하고, 만료되지 않는지, 최대 가격을 정해야함.

Reserved Instance

  • Reserved Instance 옵션이 있음
    부분지출 후불 다 있음
  • 이거 잘 안씀 오히려 Savings Plans씀 조만간 없어질수도
    AWS 도 Savings Plans 권장함
  • 생성하는 예약하는 순간 비용 나감

Dedicated Hosts

  • 생성하는 예약하는 순간 비용 나감

Capacity Reservations

  • 여기 있는 여러 옵션으로 골라서 선택할 수 있다.

Questions

Question 1:

다음 중, 할인 폭이 가장 크나, 데이터베이스 혹은 중요 업무에는 적합하지 않은 EC2 구매 옵션은 무엇인가요?

  • 전환 가능 예약 인스턴스
  • 전용 호스트
  • 스팟 인스턴스

답 : 스팟 인스턴스

스팟 인스턴스는 단기적인 워크로드에 적합하며, 가장 저렴한 EC2 구매 옵션입니다. 하지만 EC2 인스턴스를 손실할 우려가 있기 때문에, 신뢰도가 떨어집니다.

Question 2:

EC2 인스턴스 내/외의 트래픽을 제어하기 위해서는 무엇을 사용해야 하나요?

  • 네트워크 액세스 제어 리스트(NACL)
  • 보안 그룹
  • IAM 정책

답 : 보안그룹

보안 그룹은 EC2 인스턴스 레벨에서 운용되며, 트래픽을 제어할 수 있습니다.

Question 3:

EC2 예약 인스턴스를 예약할 수 있는 기간은 얼마인가요?

  • 1년, 혹은 3년
  • 2년, 혹은 4년
  • 6개월, 혹은 1년
  • 1년에서 3년 사이의 기간

답 : 1년, 혹은 3년

EC2 예약 인스턴스는 1년, 혹은 3년의 기간으로만 예약이 가능합니다.

Question 4:

EC2 인스턴스에 고성능 컴퓨팅(HPC) 애플리케이션을 배포하려 합니다. 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?

  • 스토리지 최적화
  • 컴퓨팅 최적화
  • 메모리 최적화
  • 범용

답 : 컴퓨팅 최적화

컴퓨팅 최적화 EC2 인스턴스는 고성능 프로세서(예: 배치 처리, 미디어 트랜스코딩, 고성능 컴퓨팅, 과학적 모델링 및 머신 러닝, 전용 게이밍 서버 등)가 필요한 집중 컴퓨팅 워크로드에 적합합니다.

Question 5:

1년 간 지속적으로 서버를 운영할 계획인 애플리케이션의 경우에는 다음 중 어떤 EC2 구매 옵션을 사용해야 할까요?

  • 예약 인스턴스
  • 스팟 인스턴스
  • 온디맨드 인스턴스

답 : 예약 인스턴스

예약 인스턴스는 장기적인 워크로드에 적합합니다. EC2 인스턴스는 1년, 혹은 3년의 기간으로 예약할 수 있습니다.

Question 6:

일련의 EC2 인스턴스에 호스팅 될 애플리케이션을 실행하려 합니다. 이 애플리케이션에는 소프트웨어 설치가 필요하며, 최초 실행 중에 일부 OS 패키지를 업데이트해야 합니다. EC2 인스턴스를 실행하려는 경우, 이를 위한 최적의 방식은 무엇일까요?

  • SSH를 통해 각 EC2 인스턴스에 연결한 후, 필수 소프트웨어를 설치하고 OS 패키지를 수동으로 업데이트하기
  • 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, AWS 지원 센터에 연락해 스크립트 제공하기 이들은 EC2 인스턴스를 실행할 때 인스턴스에서 실행됩니다
  • 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, 이 스크립트를 EC2 인스턴스 실행 시에 EC2 사용자 데이터에서 사용하기

답 : 3

EC2 사용자 데이터는 bash 스크립트를 사용해 EC2 인스턴스를 부트스트랩 할 경우에 사용됩니다. 이 스크립트에는 소프트웨어/패키지 설치, 인터넷에서 파일 다운로드 등, 여러분이 원하는 작업을 수행하기 위한 명령어를 포함시킬 수 있습니다.

Question 7:

인메모리 데이터베이스를 사용하는 중요 애플리케이션을 위해서는 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?

  • 컴퓨팅 최적화
  • 스토리지 최적화
  • 메모리 최적화
  • 범용

답 : 메모리 최적화

메모리 최적화 EC2 인스턴스는 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합합니다.

Question 8:

온프레미스에 호스팅된 OLTP 데이터베이스를 갖춘 전자 상거래 애플리케이션이 있습니다. 이 애플리케이션은 인기가 좋아, 데이터베이스가 초당 수천 개의 요청을 지니게 됩니다. 여러분은 데이터베이스를 EC2 인스턴스로 이전하려 합니다. 이렇게 높은 빈도를 보이는 OLTP 데이터베이스를 처리하기 위해서는 어떤 EC2 인스턴스 유형을 선택해야 할까요?

  • 컴퓨팅 최적화
  • 스토리지 최적화
  • 메모리 최적화
  • 범용

답 : 스토리지 최적화

스토리지 최적화 EC2 인스턴스는 로컬 스토리지의 대규모 데이터 세트에 대해 높은 수준의, 그리고 순차적인 읽기/쓰기 액세스 권한이 필요한 워크로드에 적합합니다.

Question 9:

(참/거짓) 보안 그룹은 오직 하나의 EC2 인스턴스에만 연결될 수 있습니다.

  • 맞습니다
  • 아닙니다

답 : 아닙니다.

Question 10:

온프레미스 애플리케이션을 AWS로 이전하려 합니다. 여러분의 기업에는 애플리케이션을 전용 서버에서 실행해야 한다는 엄격한 규정이 있습니다. 또한 비용 절감을 위해 전용 서버 바운드 소프트웨어 라이선스를 사용해야 합니다. 이 경우, 다음 중 어떤 EC2 구매 옵션이 적합할까요?

  • 전환 가능 예약 인스턴스컨버터블 예약 인스턴스
  • 전용 호스트
  • 스팟 인스턴스

답 : 전용 호스트 (Dedicated Host)

전용 호스트는 높은 수준의 규정 준수가 필요한 기업, 혹은 복잡한 라이선스 모델을 가진 소프트웨어에 적합합니다. 이는 가장 비싼 EC2 구매 옵션입니다.

Question 11:

데이터베이스 기술을 EC2 인스턴스에 배포하려 합니다. 공급 업체 라이선스는 물리적 코어 및 기반 네크워크 소켓 가시성를 기반으로 비용을 책정합니다. 이 경우, 어떤 EC2 구매 옵션을 사용해야 가시성을 확보할 수 있을까요?

  • 스팟 인스턴스
  • 온디맨드
  • 전용 호스트
  • 예약 인스턴스

답 : 전용 호스트 (Dedicated Host)

Question 12:

스팟 플릿은 스팟 인스턴스의 집합이며, 선택적으로 ___ 이다.

  • 예약 인스턴스
  • 온디맨드 인스턴스
  • 전용 호스트
  • 전용 인스턴스

답 : 온디맨드 인스턴스

스팟 플릿은 스팟 인스턴스의 집합이며, 선택적으로 온디맨드 인스턴스입니다. 스팟 플릿은 가장 낮은 가격으로 스팟 인스턴스를 자동으로 요청할 수 있게 해줍니다.