728x90
반응형

EBS (Elastic Block Store)

  • EBS : 인스턴스가 실행중일 때 연결 가능한 네트워크 드라이브 (like network "USB", 실제 물리적인 연결은 없지만 네트워크를 통해 연결)


  • 특징
  1. 인스턴스가 종료되어도 데이터를 유지시킬 수 있다. (EC2 인스턴스 부팅 후, EBS Volume 마운트하면 재사용 가능)
  2. CCP 레벨에서는 한 개 EBS에 하나의 인스턴스만 마운트할 수 있다. (한 개 인스턴스에는 여러개 EBS 마운트 가능, 어소시에이트 레벨에서는 EBS 다중연결 가능)
  3. 동일 가용영역의 인스턴스만만 마운트 가능하다.
  4. 네트워크가 필요하다. (EC2 인스턴스에서 다른 EC2 인스턴스로 옮겨 마운트될 수 있음. but, 네트워크 지연이 발생할 수 있음)
  5. 스냅샷이라는 기능을 활용하면 다른 가용영역으로 EBS Volume을 옮길 수 있다.
  6. 용량 및 성능을 미리 정해야 한다. (용량 및 성능에 따라 비용 청구)
  7. EC2 인스턴스를 생성할 때 EBS도 동시에 생성하는 경우, EC2 인스턴스 종료 시에 EBS도 삭제될 수 있는 옵션이 있다. (default는 삭제)


  • EBS Snapshots : EBS Volume의 특정 시점에 대한 백업 -> 다른 AZ나 Region에 복사할 수 있음 (Copy Snapshot)
  • 기능
  1. EBS Snapshot Archive : Standard teer에 비해 75% 저렴한 EBS 스냅샷 저장소 (Archive teer), 아카이브에서 복원 시 24시간에서 최대 72시간까지 소요됨
  2. EBS Snapshot 휴지통 : EBS 스냅샷 휴지통, EBS 스냅샷을 삭제하는 경우에 영구 삭제되지 않고 휴지통으로 이동됨. (실수방지)
    • Regention Rule 생성을 통해 휴지통 보관 설정을 진행할 수 있음
  3. Fast Snapshot Restore (FSR) : 빠른 스냅샷 복원, 스냅샷의 완전한 초기화를 통해 사용 시의 지연시간을 없앰 -> 고비용 수반




AMI (Amazone Machine Image)

  • AMI : EC2 인스턴스를 통해 만든 image, 커스터마이징 가능 (like docker image)


  • 특징

  1. AMI를 이용하면 부팅을 위한 소프트웨어들이 모두 패키징(설치시간 단축)되어 있기 때문에 EC2 인스턴스의 부팅시간을 줄여줄 수 있음
  2. 특정 지역에서 만든 AMI를 다른 지역에서 활용하여 EC2 인스턴스를 생성할 수 있음 (AMI를 복사해서 다른 region으로 옮겨야 함)
  3. AWS 마켓플레이스에서 다른 커스터마이징 AMI를 구할 수 있음 (public AMI : AWS에서 제공)


  • AMI 생성순서
  1. EC2 인스턴스 생성
  2. EC2 인스턴스 중지
  3. AMI 생성
    • EBS Snapshot 생성




EC2 Instance Store

  • EC2 Instance Store : EC2 Instance와 연결될 Volume이 동일 하드웨어 서버에 위치한 Volume
  • Network Driver를 통해 연결된 EBS Volume 보다 더 높은 network 성능을 요구할 수도 있음 -> EC2 Instance Store 활용 필요
  • EC2 Instance Store가 중지되면 데이터 또한 손실됨 -> 장기적으로 저장할 용도의 저장소는 안됨
  • Use Case : Buffer, Cache, Temporary Contents 등
  • 필요에 따라 데이터를 백업하거나 복제해야 함.


EBS Volume Types

  • IOPS : I/O Ops per Sec, 초당 I/O 작업 수, 높을 수록 파일을 읽고 쓰는게 빨라짐


  1. gp2/gp3 (SSD) : 가격과 성능이 적절한 균형을 이룸

    • gp2/gp3 : 범용 SSD
    • 저지연/비용효율적
    • System boot volumes, 가상 데스크톱, 개발, 테스트 환경으로 활용
    • 1GiB ~ 16TiB
    • gp3 : gp2에 비해 최신 세대의 volume, 기본설정 3000IOPS/초당 125MB의 처리량
    • gp3 : 최대 IOPS16,000/초당 1,000MB의 처리량, volume size와 IOPS는 독립적
    • gp2 : gp3에 비해 small size, 최대 3,000 IOPS
    • gp2 : volume size와 IOPS는 서로 연결되어 있고 3 IOPS per GB
    • gp2 : 최대 IOPS는 16,000이고 3 IOPS per GB라서 volume size가 5,334GB일 경우 최대치인 16,000 IOPS를 넘게됨


  2. io1/io2 (SSD) : 높은 성능의 SSD Volume, 지연 시간이 낮고 대용량의 workload에 쓰임

    • io1/io2 : Provisioned IOPS SSD
    • boot volume 활용 o
    • 4GiB ~ 16TiB
    • IOPS 성능 유지가 필요할 때 활용
    • 16,000 IOPS 이상을 요구하는 application에 활용
    • 스토리지 성능과 일관성에 민감한 Database workload에 적합
    • Nitro EC2에서는 최대 64,000IOPS까지 가능, 아닌 경우 최대 32,000IOPS까지 가능
    • gp3의 경우처럼 IOPS를 스토리지 크기와 독립적으로 증가시킬 수 있음
    • io2 : io1과 동일한 비용으로 내구성과 기기당 IOPS수가 더 높음 (io2 > io1 합리적)
    • io2 block express (4GiB ~ 64TiB) : 좀 더 고성능의 Volume, ms미만의 지연시간, IOPS : GB = 1000 : 1 일 때 최대 256,000 IOPS


  3. st1 (HDD) : 저비용의 HDD Volume, 잦은 접근과 처리량이 많은 workload에 쓰임

    • boot volume 활용 x
    • 125MiB ~ 16TiB
    • 처리량 최적화 HDD, 최대처리량 500MiB/s, 최대 IOPS : 500
    • Big Data, Data Warehouse, Log처리 등에 적합


  4. sc1 (HDD) : 가장 적은 비용의 HDD Volume, 접근 빈도가 낮은 workload에 쓰임

    • cold HDD
    • 아카이브 데이터 용도, 접근 빈도가 낮은 데이터에 적합
    • 최저비용으로 데이터를 저장할 떄 사용
    • 최대처리량 250MB, 최대 IOPS 250


EBS Multi-Attach

  • EBS Multi-Attach : 동일 가용영역 내에서 하나의 EBS에 여러 EC2 인스턴스를 연결하는 기능 (io1/io2 volume 한정)
  • 모든 EC2 인스턴스는 읽기/쓰기 권한을 모두 가짐
  • EC2 인스턴스 간에 동시쓰기 작업 등의 case에서 활용됨
  • 최대 16개의 EC2 인스턴스 제한
  • cluster-aware file system을 활용해야 함 (not XFS, EX4)


EBS Encyption

  • EBS Volume 암호화 유형
  1. volume 내부의 데이터 암호화
  2. 인스턴스-volume간 데이터통신 암호화
  3. volume의 snapshot 암호화
  4. snapshot으로 생성한 volume 암호화


  • 특징
  1. 암호화는 EC2와 EBS의 백그라운드에서 알아서 처리됨
  2. 지연시간에는 거의 영향이 없음
  3. KMS에서 암호화 키를 생성
  4. 암호화되지 않은 EBS에서 생성된 snapshot은 암호화되지 않음


  • 암호화되지 않고 생성된 EBS 암호화 방법 - 1
  1. EBS snapshot 생성
  2. 복사 기능을 통해 EBS snapshot 암호화 (Actions - Copy snapshot)
  3. EBS snapshot을 이용해 volume을 생성하면, 해당 volume도 암호화
  4. 암호화된 volume을 원래의 EC2 인스턴스에 연결


  • 암호화되지 않고 생성된 EBS 암호화 방법 - 2
  1. EBS snapshot 생성
  2. Create volume from snapshot
  3. 암호화 체크 후 생성


EFS (Elastic File System)

  • EFS : 관리형 NFS protocol, 네트워크 파일 시스템


  • 특징
  1. 많은 인스턴스에 마운트될 수 있음
  2. 마운트된 인스턴스는 서로 다른 가용영역에 존재할 수 있음 (EFS의 강점)
  3. 가용성 및 확장성이 좋으나 비용이 비쌈 (GP2 EBS의 약 3배)
  4. 사용량에 따라 비용을 지불함 (미리 용량을 정하지 않음, 용량이 자동으로 확장됨, EFS의 강점)
  5. 엑세스 제어를 위해 보안그룹을 활용함
  6. linux기반 AMI만 호환됨
  7. KMS를 활용하여 암호화를 활성화시킬 수 있음
  8. linux 표준 파일시스템(POSIX) 활용
  9. EC2에서 EFS설정 시, EFS와의 연결을 위해 자동으로 보안그룹(Security Group)을 생성하여 EFS에 연결함


  • 성능
  1. scale : 수천개의 클라이언트와 10GB이상의 처리량 확보, PetaByte 규모로 자동 확장
  2. performance mode
    • general purpose(default) : 지연 시간에 민감한 case에서 활용됨 (ex. 웹서버, CMS 등)
    • Max I/O : 처리량 최대화 -> 처리량이 높고 병렬성이 좋음 (ex. 빅데이터 처리, 미디어 처리 등)
  3. Throughput Mode
    • Bursting : 1TB, 초당 50MiB~100MiB 을 더한 것 (스토리지가 늘어날 수록 처리량 증가)
    • Provisioned : 스토리지 크기에 상관 없이 처리량 설정 (1TB 스토리지에서 초당 1GiB를 처리)
    • Elastic : workload에 따라 처리량을 자동 조절, workload를 예측하기 어려울 때 유용


  • Storage classes
  1. Storage Tiers : 며칠 후(수명주기) 파일을 다른계층으로 자동으로 옮김 (ex. 표준계층은 자주 사용하는 파일을 위한 계층이고, EFS-1A는 자주 사용하지 않는 파일을 위한 계층인데, EFS-1A 계층에서는 파일 검색이 오래걸림, 하지만 비용 감소)
  2. 가용성과 내구성
    • 다중 가용영역으로 EFS를 설정할 수 있음 (가용성, prd환경에 적합)
    • One-Zone EFS (EFS One Zone-IA) : 하나의 가용영역, 백업 활성화, 엑세스 빈도가 낮은 Storage Tier와 호환 -> 비용할인이 많이 됨

  • use case
  1. 콘텐츠 관리
  2. 웹 서버
  3. 데이터 공유
  4. wordpress


EBS vs EFS

반응형

'개발 > AWS' 카테고리의 다른 글

[AWS] Auto Scaling Group (ASG)  (0) 2024.05.06
[AWS] Load Balancer  (0) 2024.05.06
[AWS] EC2 (2)  (1) 2024.04.30
[AWS] EC2 (1)  (0) 2024.04.29
[AWS] IAM 및 AWS CLI  (0) 2024.04.18
728x90
반응형




  • AWS 일반적인 아키텍처 : public IP를 할당받아 인터넷을 통한 통신이 가능하게 함
  • 사설 네트워크에서 인터넷 통신이 필요할 때, NAT 장치와 인터넷 게이트웨이가 필요함



  • Elastic IP : 고정적인 public IP
  • 고정된 public IP가 필요할 때, 사용됨
  • 계정당 5개 Elastic IP 허용
  • Elastic IP 활용은 지양, random public IP를 할당하여 DNS로 인스턴스에 연결하는 방식 권장 (인스턴스 중지/시작 시, public IP 재할당됨)


Placement Group

  • Placement Group : EC2 인스턴스가 AWS 인프라에 어떻게 배치할지 제어할 때 사용

  • 배치전략

  1. 클러스터배치그룹
    • 단일 가용영역 내에서 지연 시간이 짧도록 하드웨어를 배치하여 인스턴스 그룹화
    • 고성능 고위험
    • 빠른 빅데이터 처리 작업 등과 같은 초저지연의 고성능 application에 적합




  1. 분산(spread)배치그룹
    • 인스턴스를 각 하드웨어에 배치
    • 인스턴스(하드웨어)간 오류로부터 격리 -> 안정성 보장
    • 가용영역별 Placement Group당 최대 7개의 인스턴스(7개의 하드웨어)만 배치할 수 있음 => application 규모에 제한 (ex. 모놀리식)




  1. 파티션배치그룹
    • 인스턴스를 각 파티션에 분산배치하고 해당 파티션들을 가용영역내에서 각각의 하드웨어 rack에 의존시키는 방식 (partition = rack)
    • 파티션 내의 인스턴스 갯수는 제한이 없지만, 가용영역당 파티션 갯수는 분산배치그룹과 동일하게 7개로 제한 (파티션 = 하드웨어 개념이기 때문)
    • 파티션(하드웨어)간 오류로부터 격리
    • 파티션간 오류로부터 격리되고 파티션 내의 인스턴스 갯수에 재한이 없음 -> 대규모 인스턴스 application 설계 가능 (ex. MSA)
    • Hadoop, Kafka 같은 분산환경 application을 실행시킬 수 있음
    • 메타데이터 서비스를 활용하여 각 인스턴스에 접근할 수 있게할수도 있음




Elastic Network Interfaces (ENI)

  • ENI : VPC의 논리적 단위이며 가상 네트워크 카드를 가리킴, EC2 인스턴스가 private 네트워크에 접속할 수 있게함

  • 특징

  1. 인스턴스당 하나의 private IP와 여러 개의 보조 private IP를 가질 수 있음 (private IP 한개 당 ENI 한개)
  2. private IP를 갖고 있는 ENI는 하나의 public IP나 Elastic IP를 가질 수 있음
  3. ENI에 하나 이상의 Security Group을 연결할 수 있음
  4. Mac 주소 등 기타 항목을 연결할 수 있음
  5. 장애조치 등을 위해 다른 EC2 인스턴스로 이동시킬 수도 있음
  6. 특정 가용영역에 바인딩됨 (특정 가용영역 내에서만 사용 가능)


EC2 Hibernate (절전모드)

  • EC2 Stop/Start
  1. Stop 시, EBS 데이터는 다시 시작할 때까지 유지
  2. 종료 시, root volume이 삭제되게 설정했다면 데이터도 삭제 (root volume이 삭제되지 않는다면 유지)
  3. 재시작 시, OS먼저 boot되고 사용자 스크립트가 실행됨 -> 애플리케이션 실행, 캐시 구성
  4. EC2에는 Stop, Terminate, Start를 제외하고 Hibernate(절전)라는 기능이 제공됨.


  • Hibernate 상태
  1. In-Memory의 상태는 그대로 유지 -> 운영체제가 완전히 중지되지 않고 memory에 그대로 남아있기 때문에 인스턴스 부팅이 빨라짐
  2. Im-Memory의 상태는 EBS root volume에 기록됨(dump) -> 용량이 커야하고 volume은 암호화되어야 함. (EBS likes 물리 디스크)
  3. Hibernate 상태 진입 -> 인스턴스가 중지되면서 memory의 데이터는 EBS root volume에 dump됨 -> 인스턴스가 완전이 내려가면 ram 데이터는 모두 삭제 -> 인스턴스 재부팅 시, EBS root volume에 기록되었던 ram 데이터를 그대로 가져옴

  • 참고사항
  1. 인스턴스 ram 크기는 최대 150GB
  2. Hibernate를 지원하는 제품군이 많음 (ex. C3, C4, C5, I3, M3, T2, T3 등)
  3. 여러 운영체제에서 Hibernate 사용가능
  4. 베어메탈 인스턴스는 지원하지 않음
  5. In-Memory 데이터는 EBS Volume에만 저장 가능
  6. On-Demand, Reserved 등과 같은 모든 인스턴스 요금제에서 사용가능
  7. 최대 60일까지 사용가능
  8. 운영체제로 하여금 인스턴스가 한번도 중지가 안된 것처럼 인식되게 함.

  • Use Case
  1. 오래 실행되는 프로세스
  2. ram 데이터 저장 필요
  3. 빠른 부팅 필요
반응형

'개발 > AWS' 카테고리의 다른 글

[AWS] Load Balancer  (0) 2024.05.06
[AWS] EC2 (3)  (0) 2024.05.03
[AWS] EC2 (1)  (0) 2024.04.29
[AWS] IAM 및 AWS CLI  (0) 2024.04.18
[AWS] AWS Region  (0) 2024.04.13
728x90
반응형

AWS 비용 관리

  1. default는 root계정을 통해서만 비용관리 가능

-> root 계정을 통해 IAM사용자에게 비용관련 권한을 Activate하면 IAM사용자도 비용관리 가능
2. Bills메뉴 : 비용이 어떤 기준으로 발생하는지? 어떤 서비스에서 얼만큼의 비용이 발생하는지 등의 비용 청구관련 정보 확인 가능
3. Budget메뉴 : 설정된 비용에 대한 한도가 도달했을 때 메일알림 설정 가능
4. Free tier 메뉴 : 무료서비스의 종류와 무료사용량 확인 가능

EC2(Elastic Compute Cloud) : Infrastructure as a Service, 서비스를 위한 인프라

  • 가상머신을 EC2에서 대여 -> EC2 인스턴스
  • 가상 드라이브에 데이터 저장 -> EBS
  • 부하분산 -> ELB (Elastic Load Balancer)
  • Auto Scaling 기능을 포함한 그룹 -> ASG (Auto-Scaling Group)

EC2에서 선택할 수 있는 것

  1. OS (리눅스, 윈도우, mac OS)
  2. CPU
  3. RAM
  4. Storage space (스토리지 공간) 여부
    1. ESB & EFS와 네트워크 연결
    2. 하드웨어 공간 내장 (EC2 Instance Store)
  5. 네트워크 종류(카드) (속도, public IP 등)
  6. 방화벽 설정
  7. User Data Script : 인스턴스 구성을 위한 부트스트랩 스크립트 (root 계정에서 실행, sudo 명령 필요)
    • 부트스트랩 스크립트 : 머신이 작동될 때 한번 실행되는 명령 (ex. 업데이트, 소프트웨어 설치 등)


  • EC2 유형




  • EC2 접근을 위한 SSH 활용을 위해서는 key pair를 생성해야 함

  • EC2 인스턴스가 재부팅 되면 public IP가 재할당됨 (private IP는 고정)

EC2 인스턴스 유형

  1. General Purpose (ex. t2.micro)
  • 웹서버, 코드 레포지토리 등에 활용
  • CPU, 메모리, 네트워킹 간의 균형도 잘 맞음

  1. Compute Optimized
  • 고성능의 컴퓨팅 작업이 필요할 때 활용 (고성능 CPU 활용)
  • Batch processing, machine learning, HPC(Hight performance computing) 등
  • 'C'로 시작하는 인스턴스 이름을 갖고 있음

  1. Memory Optimized
  • 많은 양의 데이터 처리가 필요할 경우 활용 (고성능/고용량의 RAM 활용)
  • 관계형 데이터베이스, 비정형 데이터의 실시간 처리 등
  • 'R'로 시작하는 인스턴스 이름을 갖고 있음 (X1, Z1도 있긴 함)

  1. Storage Optimized
  • 로컬 스토리지에서 대규모의 데이터에 접근할 때 적합

  • OLTP(High Frequency Online Transaction Processing), 관계형 데이터베이스, NoSQL, Redis

  • 'I', 'D', 'H1'으로 시작하는 인스턴스 이름을 갖고 있음 (X1, Z1도 있긴 함)

  • EC2 인스턴스 목록 : https://www.ec2instances.info/

EC2 네이밍 규칙

EX) m5.2xlarge

  1. m : instance class
  2. 5 : generation
  3. 2xlarge : size with in the instance class, CPU/메모리에 따라 달라짐

EC2 방화벽 (EC2 Security Group) : 보안그룹이 EC2 인스턴스에 들어오고 나가는 트래픽을 제어함 -> 규칙을 만들어 제어, IP로 대상or보안그룹 참조

  • 포트로의 접근을 통제
  • 인증된 IP주소의 범위를 확인
  • Inbound/Outbound 모두 통제
  • 보안그룹으로 연결하면 별도 ip제어는 필요하지 않음

Security Groups

  • 하나의 인스턴스가 여러개의 보안그룹을 가질 수 있고, 동시에 하나의 보안그룹이 여러개의 인스턴스를 가질 수 있음
  • Region과 VPC결합으로 통제 (지역이 전환되면 새 보안그룹을 생성하거나 VPC를 생성해야 함.)
  • EC2외부에서 실행됨
  • SSH 접근을 위한 보안그룹은 별도로 생성하는 것을 추천 -> SSH 접근이 복잡함
  • EC2 인스턴스로의 타임아웃 문제는 보안그룹 문제일 가능성이 큼 -> 타임아웃이 아닌 응답을 받았다면, 보안그룹 문제가 아님
  • default 규칙 : outbound, EC2 인스턴스에서 다른 ip로의 트래픽을 모두 허용, inbound, 다른 ip에서의 트래픽을 모두 차단

  • 보안그룹간 연결을 통해서 inbound 트래픽을 제어 -> Load Balancer 기능을 다룰 때 자주 언급됨.

  • SSH (Secure Shell) : 22번 포트, Linux 인스턴스에 로그인

  • FTP (File Transfer Protocol) : 21번 포트

  • SFTP (Secure File Transfer Protocol) : 22번 포트, SSH를 활용하여 파일을 업로드

  • HTTP : 80번 포트

  • HTTPS : 443번 포트

  • RDP (Remote Desktop Protocol) : 3389번 포트, 윈도우OS 인스턴스에 로그인할 때 활용

EC2 인스턴스에 접근하기 위한 방법

  • SSH : 관리자가 인스턴스에 접근하기 위한 방법 (CLI, SSH 명령어 활용 (ssh -i ec2-user@{ip}), default user name : ec2-user) -> Mac, Linux, 윈도우10이상 OS에서 활용 가능
  • 윈도우10 미만일 경우, Putty 활용 -> SSH와 동일, 모든 윈도우에 호환
  • EC2 Instance Connect : 관리자가 웹 브라우저를 통해 인스턴스에 접근하는 방법 (내부적으로 SSH 사용) -> 모든 OS에 호환




EC2 인스턴스에서 IAM role 실습

  • IAM ROLE : AWS 인스턴스에 의해 사용되도록 만들어진 role

  • EC2 Instance Connect에는 이미 AWS CLI가 설치되어 있음

  • EC2 instance의 Security 설정에서 IAM ROLE 할당 가능

  • 자격증명 (Credential)
    : access key나 id, pwd, region 등 각 계정에 대한 개인정보

  • aws configure : 자격증명(Credential) 정보 입력 (key, regin 이름 등) -> 해당 명령어로 EC2 인스턴스에 입력해두면, 해당 인스턴스에 접근할 수 있는 모든 사용자가 접근할 수 있어서 지양해야 함. -> IAM ROLE 할당을 통한 자격증명 제공 방식 권장

  • aws iam list-users : IAM으로의 접근 권한을 가진 IAM ROLE을 해당 인스턴스에 할당하면 사용 가능, iam user list를 반환 받을 수 있음 (IAM ROLE을 통해 자격증명(Credential) 제공)

EC2 인스턴스 구매 옵션

  1. On-Demand Instance : short workload, 예측할 수 없는 비용, 초당 비용 청구
  2. Reserved (1 & 3 years), On-Demand에 비해 할인 제공, 선결제, 인스턴스 타입/Region/Tenancy/OS 등을 미리 정할 수 있음, 사용량을 예측할 수 있을 때 권장, 팔 수도 있음
    1. Reserved Instances : long workloads
    2. Convertible Reserved Instances : 유연한 변경(인스턴스 타입/Region/Tenancy/OS 등)을 위함, 상대적으로 할인율 적음
  3. Saving Plans (1 & 3 years) : 달러 단위로 특정 사용량을 정하는 것, long workloads, 장기간 할인 가능, 한도를 넘어서면 On-Demand 가격 책정, 특정 인스턴스 패밀리와 region은 손실됨
  4. Spot Instances : short workloads, 값이 싸지만 언제든 인스턴스가 다운될 수도 있음 -> 다른 사용자에 의해서 등... 우선순위가 낮은 사용방식 (신뢰성 낮음), 가장 할인율 높음, 지불하려는 최대 가격을 정의하고 해당 가격을 초과할 경우 인스턴스가 제거됨, 중요한 작업이나 데이터베이스에는 적절하지 않음.
  5. Dedicated Hosts : 물리적 서버 전체를 예약을 통해 인스턴스 배치 제어, 다른 사용자가 해당 물리적 서버를 사용하지 못함, 기존의 서버에 연결된 소프트웨어 라이센스가 있거나 법규 준수 요건 등이 필요할 때 활용됨. (On-Demand or Reserved), 가장 비싼 옵션
  6. Dedicated Instances : 나의 인스턴스를 나만의 하드웨어에 갖게 됨 (Dedicated Hosts는 물리적 서버 자체에 대한 접근권을 갖게됨) 뭔차이?
  7. Capacity Reservations : 원하는 기간동안 특정 AZ(가용영역)에 On-Demand 인스턴스 용량을 예약할 수 있음

  • On-Demand




  • Reserved




  • Savings Plans




  • Spot Instances
  • 사용자가 정한 Spot 가격 기준 인스턴스 Up/Down 결정
  • Spot 가격은 계속 변동됨.
  • Spot 가격이 초과할 경우, 2분의 유예시간이 주어짐 (중지할 것인지 Down 시킬 것인지 결정 후 작업)
  • Spot Blocks : Spot 가격이 초과해도 AWS가 인스턴스를 회수하는 것을 원하지 않을 때 활용, 지정된 기간동안 해당 인스턴스 중지 (1~6시간), 드물게 회수되는 경우도 있음 -> 22년 12월 31에 없어짐
  • Use Case : 배치job, 데이터 분석, 장애 복원력이 뛰어난 workloads 등


  • Spot Request : Spot가격, 인스턴스 수, 사양, AMI, 요청 유형(일회성, 영구성) 등을 정하여 요청
    일회성 : 1회 요청하고 끝
    영구성 : 지속적 요청, spot가격이 올라가는 등의 사유로 인스턴스가 중지될 때 다시 요청하고 유효성이 확인되면 인스턴스 재실행 (Spot요청 활성화 상태) -> Spot 인스턴스를 완전히 내리려면, Spot 요청도 비활성화 상태로 만들어야 함.


  • Spot Fleets : Spot 인스턴스 세트(pool)를 정의하는 방법

  • Spot 가격에 맞게 적합한 인스턴스의 스펙(인스턴스 유형, OS, 가용영역)을 정함

  • Spot 가격에 도달하면 인스턴스 중지

  • Spot 인스턴스를 할당하는 전략을 정의해야 함.

    1. 최저 가격 : 인스턴스를 시작할 때 고려되는 기준, 해당 가격에 맞게 인스턴스를 정하고 시작함. -> workload가 매우 짧을 때 유용
    2. 스팟 인스턴스를 실행하는 방법 : 모든 pool에 spot 인스턴스 분산 -> 좋은 가용성, 긴 workload에 유리
    3. 용량 최적화 : 원하는 인스턴스 수에 맞는 최적의 용량을 가진 pool
    4. 가격 용량 최적화 : 사용 가능한 용량이 가장 큰 pool을 선택한 후에 그 중 가격이 가장 낮은 pool을 선택하는 전략 -> 대부분의 workload에 적합
  • summary : spot fleets을 사용하면 여러개의 시작pool과 여러 인스턴스 유형을 정의할 수 있음. 최저가 할인의 Spot Instance에서 최저가 전략 spot fleet을 사용하면 spot fleet에서 자동으로 가장 낮은 가격의 spot 인스턴스를 요청함 (사전에 인스턴스유형/용량 등 옵션을 사용자가 지정함)

  • 원하는 인스턴스 유형과 가용영역을 알고 있다면 spot fleet을 안써도 됨.


  • Dedicated Hosts -> 어려움... 재확인 필요




  • Dedicated Hosts vs Dedicated Instances




  • Capacity Reservations




  • Summary

반응형

'개발 > AWS' 카테고리의 다른 글

[AWS] Load Balancer  (0) 2024.05.06
[AWS] EC2 (3)  (0) 2024.05.03
[AWS] EC2 (2)  (1) 2024.04.30
[AWS] IAM 및 AWS CLI  (0) 2024.04.18
[AWS] AWS Region  (0) 2024.04.13

+ Recent posts