AWS - SAA (2)

dev-MIN·2025년 4월 28일

aws

목록 보기
2/2

학습자료 (Udemy)
Stephane Maarek - AWS Certified Solutions Architect Associate

EC2 기초

Amzone EC2

  • EC2는 아마존에서 가장 인기 있는 서비스
  • EC2 = Elastic Compute Cloud = Infrastructure as a Service
  • 하나의 서비스가 아닌 많은 것을 포함한 것
    • 가상 머신을 랜트할 수 있음 = EC2 인스턴스
    • 데이터를 가상 드라이브나 EBS 볼륨에 저장할 수 잇음
    • elastic load balancer(ELB)로 로드를 분산 시킬 수 있음
    • auto-scaling group(ASG)를 통해 서비스를 확장할 수 있음
  • EC2 사용법을 아는 것은 클라우드 작동 방식을 이해할 때 중요함
  • EC2 사이즈 & 옵션
    • OS : Linux, Windowm Mac OS
    • 컴퓨팅 성능과 코어(CPU 개수) 선택 가능
    • 랜덤 액세스 메모르(RAM) 양 선택 가능
    • 용량 선택 가능
      네트워크를 통해 연결할 스토리지가 필요한지 여부 (EBS/EFS)
      하드웨어 (EC2 인스턴스 스토어)
    • EC2 인스턴스에 연결할 네트워크 종류 선택 가능 (Netword card, Public IP Address)
    • EC2 인스턴스의 방화벽 규칙 선택 (security group)
    • 부트스트랩 스크립트 (EC2 User Data)
  • 원하는 대로 옵션을 선택이 적용된 EC2를 AWS에서 빌릴 수 있음!!
  • EC2 User Data
    • 인스턴스를 부트스트래핑 할 수 있음
    • bootstrap : 머신이 작동할 때 명령을 시작한느 것
    • 스크립트는 처음 시작할 때 한 번만 실행되고 다시 실행되지 않음
    • 특정한 목적
      : 부팅 작업을 자동화하므로 부트스트래핑이라는 이름을 갖게 됨
      : 자동화 해야 되는것 ? update, software 설치, 일반 파일을 인터넷에서 다운로드
    • 무엇이든 자동화 시키기 위해 스크립트에 올려 놓아도 되지만, 부팅 시 인스턴스가 할 일이 늘어나는 것은 당연함
    • 루트 계정에서 EC2 User Data가 실행됨
      : 모든 명령문은 sudo로 실행됨
  • EC2 인스턴스 종류(ex)
    • t2.micro(AWS free tier로서 한 달에 750시간까지 사용 가능) , t2.xlarge 등

EC2 인스턴스 유형 기본 사항

  • AWS 명명 규칙
    • ex) m5.2xlarge
    • m : 인스턴스 클래스
    • 5 : 인스턴스 세대
    • 2xlarge : 인스턴스 클래스 크기
      크기가 클수록 더 많은 메모리와 CPU를 갖게됨
  • 인스턴스 유형
    • General Purpose(범용 인스턴스)
      • 웹 서버, 코드 저장소 같은 다양한 작업에 적합
    • 컴퓨팅, 메모리, 네트워킹 간의 규형도 잘 맞음
      • 강의에서 범용 인스턴스이면서 t2.micro를 사용
        - Computed Optimized (컴퓨팅 최적화 인스턴스)
      • 컴퓨터 집약적인 작업에 최적화된 인스턴스
      • 고성능 프로세서는 일부 데이터의 일괄 처리에 사용하거나, 미디어 트랜스코딩 작업 시, 고성능 웹 서버가 필요하거나 고성능 컴퓨팅이라는 HPC 작업을 할 때, 머신러닝, 전용 게임 서버가 있을 경우 사용
      • 컴퓨팅 최적화 인스턴스는 'C'로 시작하는 이름 가지고 있음
        • Memory Optimized (메모리 최적화 인스턴스)
      • 메모리(RAM)에서 대규모 데이터셋을 처리하는 유형의 작업에 빠른 성능을 제공함
      • 메모리 최적화 인스턴스는 'R'로 시작하는 이름을 가지고 있음
        (단, X1이나 대용량 메모리 Z1도 있음)
    • Storage Optimized (스토리지 최적화 인스턴스)
      • 로컬 스토리지에서 대규모의 데이터셋에 액세스 할 때 적합한 인스턴스
      • 고주파 온라인 트랜잭션 처리(OLTP),관계형과 비관계형 NoSQL, redis, 메모리 데이터베이스의 캐시나 데이터 웨어하우징 애플리케이션, 분산 파일 시스템에 사용됨
      • 스토리지 최적화 인스턴스는 'I', 'D', 'H1'으로 시작하는 이름을 가지고 있음

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

  • 보안 그룹은 AWS 클라우드에서 네트워크 보안을 수행하는데 기본
  • 보안 그룹은 EC2 인스턴스 안팎(인바운드/아우터바운드)으로 트래픽이 허용되는 방식을 제어함
  • 허용 규칙만 포함되어 있음
  • 보안 그룹은 IP 주소나 보안 그룹 기준으로 규칙 설정 가능
    (보안그룹은 서로 참조 가능)
  • detail
    • 보안 그룹은 EC2 인스턴스의 방화벽
    • 포트에 대한 액세스를 규제함
    • 승인된 IP 범위가 표시됨 (IPv4 & IPv6)
    • 인바운드 네트워크를 통제함
      (인바운드 : 외부에서 인스턴스로 들어오는 것)
    • 아웃바운드 네트워크를 통제함
      (아웃바운드 : 인스턴스에서 외부로 나가는 것)
  • 알아두면 좋은 점
    • 보안 그룹은 여러 인스턴스에 연결할 수 있음 (1:1 관계가 없음)
    • 보안 그룹은 특정 지역과 VPC 조합에만 제한됨
      (다른 지역으로 전환하는 경우 새 보안 그룹을 생성해야함)
    • 보안 그룹은 EC2 외부에 위치한 방화벽
    • SSH 액세스를 위해 별도의 보안 그룹을 하나 유지하는 것이 좋음
    • 애플리케이션에 접근할 수 없는 경우(= time out), 보안 그룹 문제인 것임
    • 하지만, 연결 거부 오류가 발생하면 실제로 연결이 거부되었다는 응답을 받게됨
    • 기본적으로 모든 인바운드 트래픽은 처리되고, 모든 아웃바운드 트래픽은 승인됨
  • 다른 보안 그룹이 보안 그룹을 참조하는 방법(ppt 다이어그램 참고)
    • EC2 인스턴스의 IP에 관계없이 올바른 보안 그룹이 연결되므로 다른 인스턴스와 직접 통신 가능
  • 포트 (시험)
    • SSH = 22 (Secure Shell)
      • 리눅스에서 EC2 인스턴스에 로그인할 수 있음
    • FTP = 21 (File Transfer Protocol)
      • 파일을 파일 공유에 업로등 하는데 사용
    • SFTP = 22 (Secure File Transfer Protocol)
      • 파일을 업로드할 예정이므로 안전한 파일 전송 프로토콜로 SSH를 사용
    • HTTP = 80
      • 보안되지 않은 웹사이트에 접속하기 위함
    • HTTPS = 443
      • 보안 웹사이트 접속
    • RDP = 3389 (Remote Desktop Protocol)
      • 윈도우 인스턴스에 로그인하는데 사용

SSH 개요

  • 명령줄 인터페이스 도구
  • Mac, Linux, Window >= 10에서 사용 가능
    (Window < 10 , Window >= 10 - Putty 사용)
  • 웹 브라우저로 EC2 인스턴스에 연결

EC2 인스턴스 구매 옵션

  • 우리가 원래 사용한 것은
    On-Demand Instance : 단기적인 워크로드에 사용하기 좋음 / 비용 예측할 수 있음 / 초 단위로 요금을 지불하면 됨
  • 다른 종류의 워크로드
    • 예약 인스턴스 사용
      • 기간 1년 or 3년
      • 장기간의 워크로드를 위한 것
      • 오랫동안 DB 실행할 계획일 때 사용하는 것이 좋음
      • 유연한 인스턴스 타입
    • 절약 플랜
      • 1년 or 3년
      • 달러 단위로 특정한 사용량을 약정함
      • 장기 워크로드를 위한 것
    • 스폿 인스턴스
      • 짧은 워크로드를 위한 것
      • 매우 저렴하지만, 언제라도 인스턴스들이 손실 될 수 있어 신뢰성인 낮음
    • 전용 호스트
      • 물리적 서버 전체를 예약해서 인스턴스 배치 제어 가능
      • 다른 고객이 사용자의 하드웨어를 공유하지 않는다는 의미
    • 용량 예약
      • 원하는 기간동안 특정한 AZ에 용량 예약 가능

-> 디테일한 설명

  • EC2 On Demand(온디맨드)
    • 사용자가 사용한대로 지불함 (초단위 / 시간단위)
    • 비용이 가장 많이 들지만 바로 지불할 금액이 없고, 장기적인 약정도 필요 없음
    • 단기적이고 중단 없는 워크로드를 위한 것
    • 애플리케이션의 거동을 예측할 수 없을 때 추천
  • EC2 Reserved Instances (예약 인스턴스)
    • on-demand에 비해 72% 할인
    • 특정한 인스턴스인 인스턴스 타입, 리전,테넌시, OS 예약함
    • 예약 기간을 1년 or 3년으로 지정해서 할인을 더 받을 수 있음
    • 전부 선결제, 부분 결제, 선결제 없음 중에 선택 가능
      (전부 선결제시, 최대 할인 받을 수 있음)
    • 범위를 기준으로 특정 리전이나 존으로 할 수 있음
    • DB 같이 사용량이 일정한 애플리케이션은 예약 인스턴스를 사용하는게 좋음
    • 마켓플레이스에서 살 수 있고, 필요 없어지면 판매 가능
    • 특별 유형의 예약 인스턴스
      • 전환형 예약 인스턴스
        인스턴스 타입, 인스턴스 패밀리, OS, tenacy 변경할 수 있음
        유연성이 더 크므로 할인은 약간 적음 (66%까지 할인 가능)
  • EC2 Saving Plan (절약 플랜)
    • 장기간 사용하면 할인 받을 수 있음
    • 70% 할인 받을 수 있음
    • 1년 or 3년동안 시간당 10달러로 약정
    • 사용량이 한도를 넘어서면 절약 플랜은 온디맨드 가격으로 청구하게됨
    • 특정 인스턴스와 패밀리, 리전이 고정됨
      ex) M5 in us-east-2
    • 사이즈가 유연함
      인스턴스 사이즈
      ex) m5.xlarge, m5-2xlarge
      OS
      ex) Linux, Windows 전환 가능
      Tenacy
      ex) host, dedicatedm default 전환 가능
  • EC2 Spot Instances (스폿 인스턴스)
    • 할인 폭이 가장 커서 온디맨드에 비해 최대 90%까지 할인
    • 하지만, 스폿 인스턴스에 대해 지불하려는 최대 가격을 정의하고 만약 스폿 가격이 그 가격을 넘어서면 인스턴스 손실될 수 있음!!
    • AWS에서 가장 비효율적인 인스턴스
    • 인스턴스가 고장에 대한 회복력이 있다면 아주 유용
      ex) Batch jobs, 데이터 분석, 이미지 처리, 모든 분산형 워크로드, 시작 시간과 종료 시간이 유연한 워크로드 등
    • 매우 중요한 작업이나 DB에는 적절하지 않음! (시험)
  • EC2 Dedicated Hosts (전용 호스트)
    • EC2 인스턴스 용량이 있는 실제 물리적 서버를 받게 됨
    • 법 준수 요건에 있는 활용 사례, 소켓, 코어, VM 소프트웨어 등 라이선스 기준으로 청구되는 기존의 서버에 연결된 소프트웨어 라이선스가 있는 경우
    • 온디맨드로 초당 비용을 지불하거나 1년 or 3년 동안 예약 가능
    • 실제로 물리적 서버를 예약하므로 AWS에서 가장 비싼 옵션
    • 활용 사례 : 라이선스 모델과 함께 제공되는 소프트웨어 (BYOL - Bring Your Own License)인 경우 & 규정이나 법규를 반드시 준수해야 하는 회사를 갖고 있는 경우
  • EC2 Dedicated Instances
    • 사용자의 전용 하드웨어에서 실행되는 인스턴스
    • 물리적 서버와 다름
    • 같은 계정에서 다른 인스턴스와 함께 하드웨어를 공유할 수 있음
    • 인스턴스 배치에 대한 통제권이 없음

(시험)
EC2 Dedicated Hosts vs EC2 Dedicated Instanced

-> '전용 인스턴스'는 자신만의 인스턴스를 자신만의 하드웨어에 갖는 것
-> '전용 호스트'는 물리적 서버 자체에 대한 접근권을 갖고, 낮은 수준의 하드웨어에 대한 가시성을 제공해줌

  • EC2 Capacity Reservations
    • 원하는 기간 동안 특정한 AZ에서 온디맨드 인스턴스 예약 가능
    • 필요할 때만다 해당 용량에 접근 가능
    • 기간 약정 없음 (언제라도 용량 예약 및 취소 가능)
    • 청구 할인 없고, 단지 용량을 예약하는 것이 유일한 목적
    • 만약, 청구 할인을 받으려면 지역별 예약 인스턴스 또는 예약 플랜과 결함해야함
    • 인스턴스를 실행하는지와 무관하게 온디맨드 요금 부과됨
      (용량을 예약하면 해당 용량에 대한 청구가 되서 지불해야함)
      (인스턴스를 실행하기 원하는 것을 확실하게 알고 인스턴스가 제공될 예정이지만, 실행하지 않을 경우에도 요금 부과됨)
    • 특정한 AZ에 있어야 하는 단기적이고, 중단 없는 워크로드에 매우 적합

IPv4 과금

  • 계정에 생성된 모든 Public IPv4에 대해 사용 여부와 관계없이 과금됨
    (2024년 1월부터 시행)
  • 시간당 $0.005 요금 부과됨 (1 month : $3.6)
    // EC2 인스턴스를 생성하면 IPv4가 자동으로 제공됨
  • EC2 service
    • AWS 신규 계정에 12개월 Free Tier 제공
    • 계정 생성 후 첫 12개월 동안 매달 Public IPv4를 750시간 사용할 수 있음
    • 사용량을 초과하면 당연히 비용 청구됨
      // 여러 개의 EC2 인스턴스를 사용해도 상관 없지만 모든 인스턴스의 Public IP 사용량을 합쳐서 계산해, 750시간 미만이면 상관 없지만 넘으면 비용 발생
      // AZ는 IPv4가 하나씩 생기는데 EC2 서비스가 아니어서 free tier가 없으므로 비용 발생
      // RDS DB는 EC2 서비스가 아니므로 DB 를 외부 컴퓨터에서 연결하려면 Public IPv4 주소 생성되어 비용 발생
  • EC2 이외의 다른 서비스에서는 free tier가 없어서 비용 부과됨
    +)
  • 그렇다면 IPv6는?
    • 결국 IPv4에 과금을 부여하는 이유는 IPv6로 이전 시켜서 대규모로 운영하기 수월하게 하려는 것
    • 하지만 아직 전 세계의 많은 인터넷 서비스 제공업체가 IPv6를 지원하지 않음 (강의에서는 IPv4 사용)

Spot Instance & Spot 집합

  • 온디맨드에 비해 최대 90% 할인 받을 수 있음
  • 스팟 인스턴스에 대해 지불할 수 있는 최대 스팟 가격 정의(max spot price)
    • current spot price < 우리가 지불하고자 하는 최대 가격
      -> 해당 인스턴스 유지
    • 시간당 스팟을 offer & capcity에 따라 달라지
    • current spot price > 우리가 지불하고자 하는 최대 가격
      -> 두 가지 옵션
      2분의 유예 기간 = 작업을 수행할 수 있는 약간의 시간이 주어짐
      1) 인스턴스 중지 (하던 작업 모두 중지)하고, 어느 날 스팟 가격이 최대 가격 아래로 내려가면 다시 인스턴스 시작해서 중단했던 곳부터 재개
      2) 인스턴스가 필요 없다면 그냥 종료하기
      다시 작업 시작할 때 새로운 인스턴스로 시작 가능

0개의 댓글