3. EC2 기초

Tasker_Jang·2024년 2월 27일
0
post-custom-banner

1. AWS 예산 계획

AWS 요금을 디버깅하고 예산을 계획하는 것은 중요한 관행입니다. AWS Billing and Cost Management 콘솔을 통해 요금 및 사용량에 대한 다양한 리포트 및 도구를 활용할 수 있습니다. 아래는 예산을 계획하고 AWS 요금을 효과적으로 관리하는 데 도움이 되는 몇 가지 방법입니다.

  1. AWS 비용 탐색기 (AWS Cost Explorer):

    • AWS Cost Explorer를 사용하면 특정 기간 동안의 예상 및 실제 비용을 시각화하고 분석할 수 있습니다. 서비스, 리전, 태그 등 다양한 차원으로 데이터를 필터링하고 그룹화하여 비용을 세분화할 수 있습니다.
  2. 예산 설정 및 모니터링:

    • AWS Budgets를 활용하여 특정 비용 예산을 설정하고 관리할 수 있습니다. 월간, 분기별 또는 연간 예산을 정의하고 초과할 경우 알림을 받을 수 있습니다.
  3. 태그 활용:

    • 리소스에 태그를 지정하면 해당 태그로 비용을 그룹화할 수 있습니다. 프로젝트 또는 팀과 관련된 리소스에 태그를 지정하여 그룹화하고 비용을 추적할 수 있습니다.
  4. AWS Trusted Advisor 활용:

    • Trusted Advisor는 AWS의 모범 사례에 따라 비용을 최적화하고 보안 및 성능을 향상시키기 위한 권장 사항을 제공합니다.
  5. 비용 예측:

    • AWS Pricing Calculator를 활용하여 새로운 리소스를 배포하거나 현재의 리소스 사용을 변경했을 때의 예상 비용을 계산할 수 있습니다.
  6. 자동화된 비용 제어:

    • AWS에서는 AWS Organizations, AWS Budgets, 및 AWS Config와 같은 서비스를 활용하여 비용 제어를 자동화할 수 있는 기능을 제공합니다.

이러한 도구와 기능을 통해 AWS 요금을 모니터링하고 예산을 계획함으로써 예기치 않은 비용 증가를 방지하고 비용을 최적화할 수 있습니다.

Amazon Elastic Compute Cloud (EC2)는 Amazon Web Services (AWS)에서 제공하는 클라우드 컴퓨팅 서비스 중 하나입니다. EC2는 가상 서버, 즉 가상 머신(인스턴스)을 제공하여 사용자가 필요에 따라 컴퓨팅 리소스를 확장하거나 축소할 수 있게 합니다.

  1. 가상 서버 (인스턴스): EC2를 사용하면 사용자는 가상 서버(인스턴스)를 생성하고 필요에 따라 시작 및 중지할 수 있습니다.

  2. 다양한 인스턴스 유형: 다양한 성능, 메모리, 저장 공간 및 네트워크 용량을 갖춘 다양한 인스턴스 유형이 제공되어 여러 용도에 맞게 선택할 수 있습니다.

  3. 스케일링 및 탄력성: EC2는 필요에 따라 수평으로 확장하거나 축소하여 애플리케이션의 수요에 따라 대응할 수 있습니다.

  4. AMI (Amazon Machine Image): 사용자는 EC2 인스턴스를 시작할 때 사용할 수 있는 다양한 운영 체제 및 소프트웨어 패키지가 포함된 AMI를 선택할 수 있습니다.

  5. 가격 모델: 사용자는 사용한 컴퓨팅 리소스에 대해서만 비용을 지불하므로 효율적인 비용 관리가 가능합니다.

EC2는 다양한 용도로 활용되며, 웹 애플리케이션 호스팅, 데이터베이스 호스팅, 머신 러닝 모델 훈련 등 다양한 시나리오에서 사용됩니다.

2. EBS, ELB, ASG에 대해서

EBS(Elastic Block Store), ELB(Elastic Load Balancer), 그리고 ASG(Auto Scaling Group)는 AWS에서 제공하는 기능들로 각각은 다음과 같은 역할을 수행합니다:

  1. EBS (Elastic Block Store):

    • 역할: EBS는 EC2 인스턴스에 연결되어 사용되는 영구 블록 수준의 스토리지입니다. EC2 인스턴스에 대한 데이터를 저장하거나 데이터베이스를 운영하는 데 사용됩니다.
    • 특징: EBS 볼륨은 스냅샷을 통해 백업되거나 다른 리전으로 이동할 수 있으며, 특정 유형의 인스턴스에 붙일 수 있는 별도의 블록 디바이스로 사용됩니다.
  2. ELB (Elastic Load Balancer):

    • 역할: ELB는 여러 EC2 인스턴스 간에 트래픽을 분산하여 로드 밸런싱을 제공하는 서비스입니다. 이를 통해 애플리케이션의 가용성과 신뢰성을 향상시킬 수 있습니다.
    • 특징: 사용자의 요청을 여러 인스턴스로 분산하여 트래픽을 균형화하고, 실패한 인스턴스로부터 트래픽을 제외하여 안정적인 서비스를 제공합니다.
  3. ASG (Auto Scaling Group):

    • 역할: ASG는 자동으로 EC2 인스턴스의 수를 조정하여 애플리케이션의 가용성과 신뢰성을 유지하도록 도와주는 서비스입니다. 트래픽이 증가하면 인스턴스를 더 생성하고, 트래픽이 감소하면 인스턴스를 축소할 수 있습니다.
    • 특징: 사용자가 정의한 정책에 따라 EC2 인스턴스를 자동으로 확장하거나 축소하여 트래픽의 변화에 대응하고, 애플리케이션의 성능을 최적화합니다.

이러한 서비스들은 AWS에서 제공하는 확장성, 가용성, 및 신뢰성을 향상시키기 위한 핵심 구성 요소로 활용됩니다.

3. EC2에 대해서

Amazon EC2를 사용하면 다양한 운영 체제, 인스턴스 유형 및 구성 옵션을 선택할 수 있습니다. 각 옵션은 사용자의 요구 사항과 응용 프로그램에 따라 최적화되어 있습니다.

  1. 운영 체제:

    • 리눅스: 다양한 리눅스 배포판을 선택할 수 있습니다. 예를 들면, Amazon Linux, Ubuntu, CentOS 등이 있습니다.
    • 윈도우: Microsoft Windows Server 운영 체제를 사용할 수 있습니다.
    • 맥: macOS는 EC2에서 직접적으로 지원되지 않습니다.
  2. 인스턴스 유형:

    • EC2에서는 여러 인스턴스 유형이 제공되며, 각 유형은 특정 용도에 최적화되어 있습니다. 일반 컴퓨팅, 메모리 최적화, 스토리지 최적화, GPU 인스턴스 등이 있습니다.
  3. 컴퓨팅 성능과 코어의 양:

    • EC2 인스턴스 유형에 따라 vCPU(가상 CPU) 수, 메모리 양, 스토리지 유형 등이 다르게 설정됩니다. 사용자는 응용 프로그램 요구 사항에 맞게 이러한 세부 사항을 선택할 수 있습니다.
  4. 램과 용량:

    • 인스턴스 유형에 따라 제공되는 램 양과 스토리지 용량을 선택할 수 있습니다. 사용자는 필요한 용량과 램 양을 조절할 수 있습니다.
  5. 네트워크:

    • 사용자는 네트워크 설정을 조정할 수 있습니다. 인스턴스의 VPC(Virtual Private Cloud)에서 IP 주소를 관리하고 네트워크 규칙을 구성할 수 있습니다.
  6. 다양한 설정 옵션:

    • 보안 그룹, 키페어, 인스턴스 스토어, Elastic IP 등 다양한 설정 옵션을 선택하고 구성할 수 있습니다.

이러한 다양한 설정과 옵션을 통해 EC2는 다양한 유형의 워크로드를 지원하며, 사용자는 필요에 따라 자원을 최적화하여 비용 효율적으로 관리할 수 있습니다.

4. 부트스트래핑이란 무엇인가?

부트스트래핑(Bootstrapping)은 시스템이나 애플리케이션을 시작하는 초기 단계에서 필요한 설정이나 명령을 자동으로 실행하는 프로세스를 의미합니다. 이는 주로 가상 머신이나 서버 인스턴스가 시작될 때 초기 구성 및 설정을 자동화하는 데 사용됩니다. 여러 컴퓨팅 환경에서 부트스트래핑이 사용됩니다.

AWS EC2 인스턴스에서의 예:

  1. 부트스트래핑 스크립트:

    • EC2 인스턴스를 시작할 때 사용자가 정의한 부트스트래핑 스크립트를 지정할 수 있습니다. 이 스크립트는 인스턴스가 처음 실행될 때 수행할 명령을 포함합니다.
  2. 예시:

    • EC2 인스턴스를 시작하면서 다음과 같은 작업을 부트스트래핑 스크립트로 수행할 수 있습니다.
      • 필요한 패키지 또는 의존성을 설치합니다.
      • 애플리케이션 소스 코드를 가져오거나 다운로드합니다.
      • 설정 파일을 생성하거나 수정합니다.
      • 서비스를 시작하거나 구성합니다.
      • 로그 및 모니터링 구성을 설정합니다.
  3. 툴과 서비스 활용:

    • 부트스트래핑은 툴이나 서비스를 통해 자동화될 수 있습니다. 예를 들어, AWS의 AWS Systems Manager, AWS CloudFormation, 또는 구성 관리 도구(Ansible, Chef, Puppet 등)를 사용하여 부트스트래핑을 수행할 수 있습니다.
  4. 자동 스케일링에서 활용:

    • 자동 스케일링 그룹(Auto Scaling Group)을 사용할 때 인스턴스가 자동으로 생성될 때 자동으로 실행되는 부트스트래핑 스크립트를 정의하여 스케일링 그룹에서 새로운 인스턴스를 프로비저닝할 때 필요한 작업을 자동화할 수 있습니다.

부트스트래핑은 확장성 있고, 반복 가능하며, 자동화된 인프라스트럭처 구축을 지원하여 효율적인 운영을 가능하게 합니다.

5. EC2 인스턴스 추가 절차

EC2 인스턴스를 추가하는 절차는 다음과 같습니다. 아래는 AWS Management Console을 통한 간단한 과정입니다:

  1. AWS Management Console에 로그인:

    • AWS 계정에 로그인하여 AWS Management Console에 접속합니다.
  2. EC2 대시보드로 이동:

    • AWS Management Console에서 "서비스"를 선택하고, "EC2"를 클릭하여 EC2 대시보드로 이동합니다.
  3. 인스턴스 시작 버튼 클릭:

    • EC2 대시보드에서 "인스턴스 시작" 버튼을 클릭합니다.
  4. Amazon Machine Image (AMI) 선택:

    • 인스턴스를 시작할 때 사용할 AMI를 선택합니다. AMI는 인스턴스의 기본 이미지를 정의합니다.
  5. 인스턴스 유형 선택:

    • 다양한 인스턴스 유형 중에서 사용할 유형을 선택합니다. 각 유형은 다른 성능과 기능을 갖추고 있습니다.
  6. 인스턴스 세부 구성:

    • 인스턴스의 세부 설정을 구성합니다. 이는 인스턴스의 수, 네트워크 설정, 스토리지 등을 포함합니다.
  7. 스토리지 추가 (옵션):

    • 필요한 경우 인스턴스에 추가 스토리지를 연결하거나 설정합니다.
  8. 태그 추가 (옵션):

    • 인스턴스에 태그를 추가하여 식별 및 관리를 용이하게 할 수 있습니다.
  9. 보안 그룹 구성:

    • 보안 그룹을 선택하거나 새로 생성하여 인스턴스에 적용할 보안 규칙을 설정합니다.
  10. 인스턴스 시작:

    • "검토 및 시작" 버튼을 클릭하여 설정한 내용을 확인한 후 "시작" 버튼을 클릭합니다.
  11. 키페어 선택 (옵션):

    • 인스턴스에 접속하기 위해 키페어를 선택하거나 새로운 키페어를 생성합니다.
  12. 시작 버튼 클릭:

    • "시작" 버튼을 클릭하여 인스턴스를 시작합니다.
  13. 인스턴스 모니터링 (옵션):

    • 필요에 따라 인스턴스의 상태를 모니터링할 수 있는 옵션을 선택합니다.

이렇게하면 EC2 인스턴스가 생성되고 시작됩니다. 인스턴스가 시작되면 해당 인스턴스에 할당된 퍼블릭 IP 주소 또는 퍼블릭 DNS를 통해 인스턴스에 액세스할 수 있습니다. 이 절차는 AWS CLI나 AWS SDK를 사용하여도 수행할 수 있습니다.

6. 다양한 인스턴스 유형들

AWS EC2에서는 다양한 인스턴스 유형이 제공되며, 각 유형은 특정 용도에 최적화되어 있습니다. 인스턴스 유형은 여러 가지 요소에 따라 구성되어 있으며, 인스턴스 크기, 세대, 클래스 등이 그 중 일부입니다.

인스턴스 유형의 구성 요소로는 인스턴스 패밀리, 인스턴스 세대, 인스턴스 크기, 그리고 인스턴스 클래스 등이 있습니다. 여기서는 주요한 EC2 인스턴스 유형 7가지를 나열하겠습니다:

  1. General Purpose (일반용):

    • 예시: t3, t4g, t3a
    • 설명: 다양한 일반적인 워크로드에 적합한 범용 인스턴스입니다.
  2. Compute Optimized (컴퓨팅 최적화):

    • 예시: c6g, c5, c5n
    • 설명: CPU 집약적인 컴퓨팅 워크로드에 최적화된 인스턴스입니다.
  3. Memory Optimized (메모리 최적화):

    • 예시: r6g, r5, u4sg
    • 설명: 대량의 메모리를 필요로 하는 메모리 집약적인 워크로드에 최적화된 인스턴스입니다.
  4. Storage Optimized (스토리지 최적화):

    • 예시: i3, i3en, h1
    • 설명: 대용량 스토리지가 필요한 I/O 집약적인 워크로드에 최적화된 인스턴스입니다.
  5. Accelerated Computing (가속화 컴퓨팅):

    • 예시: p4, inf1, f1
    • 설명: 하드웨어 가속 기능을 갖춘 GPU 또는 FPGA를 사용하는 워크로드에 최적화된 인스턴스입니다.
  6. Burstable Performance (가변 성능):

    • 예시: t4g, t3, t3a
    • 설명: 가변적인 CPU 성능을 가지고 있어 부하에 따라 성능이 조절되는 인스턴스입니다.
  7. Graviton 프로세서 기반 (ARM 기반):

    • 예시: a1, m6g, c6g
    • 설명: AWS Graviton 프로세서를 사용하여 효율적인 컴퓨팅 성능을 제공하는 ARM 기반의 인스턴스입니다.

각 인스턴스 유형은 특정 사용 사례에 적합하도록 설계되었으며, 사용자는 워크로드의 요구 사항에 따라 적절한 유형을 선택할 수 있습니다. 인스턴스 유형에 따라 가격, 성능, 그리고 제공되는 리소스가 다르므로 신중하게 선택해야 합니다.

7. 보안그룹이란 무엇인가?

보안 그룹(Security Group)은 AWS EC2 인스턴스의 가상 방화벽 역할을 수행하는 중요한 보안 기능 중 하나입니다. 보안 그룹은 특정 리전 내의 EC2 인스턴스에 대한 인바운드(수신) 및 아웃바운드(전송) 트래픽을 제어하는 데 사용됩니다.

  1. 허용 규칙만 포함:

    • 보안 그룹은 "허용 규칙만"을 가지고 있습니다. 다시 말해, 허용된 IP 주소, 포트 및 프로토콜에 대한 트래픽만 허용하며, 나머지는 거부됩니다.
  2. 인바운드 및 아웃바운드 규칙:

    • 인바운드 규칙은 EC2 인스턴스로 들어오는 트래픽을 제어하며, 아웃바운드 규칙은 EC2 인스턴스에서 나가는 트래픽을 제어합니다.
  3. 포트 및 IP에 대한 허가권 부여:

    • 특정 포트 및 IP 주소에 대한 허가 여부를 설정하여 EC2 인스턴스가 어떤 종류의 트래픽을 수락할지 결정합니다. 예를 들어, HTTP 트래픽(포트 80)이나 SSH 트래픽(포트 22)을 어떤 IP 주소에서만 허용할지를 지정할 수 있습니다.
  4. 디폴트 보안 그룹:

    • EC2 인스턴스를 생성하면 기본적으로 "디폴트 보안 그룹"이 자동으로 할당됩니다. 이 디폴트 보안 그룹은 모든 인바운드 트래픽을 거부하고, 모든 아웃바운드 트래픽을 허용하는 규칙을 가지고 있습니다.
  5. 동적 업데이트:

    • 보안 그룹은 EC2 인스턴스를 실행 중에도 동적으로 업데이트할 수 있습니다. 변경된 설정은 즉시 적용되며, 재부팅이 필요하지 않습니다.

보안 그룹을 통해 특정 포트와 프로토콜에 대한 액세스를 통제함으로써 EC2 인스턴스의 보안을 강화할 수 있습니다.

8. 클래식 포트

일반적으로 사용되는 몇 가지 클래식 포트에 대한 설명은 다음과 같습니다:

  1. 22 (SSH - Secure Shell):

    • 용도: 원격으로 안전하게 서버에 접속하기 위한 프로토콜인 SSH에 사용됩니다.
    • 허용규칙: 인바운드 트래픽에서 22번 포트를 열면 SSH 연결을 허용합니다.
  2. 21 (FTP - File Transfer Protocol):

    • 용도: 파일 전송을 위한 프로토콜인 FTP에 사용됩니다.
    • 허용규칙: 21번 포트는 FTP 서버에 대한 제어 연결을 위해 사용됩니다.
  3. 22 (SFTP - Secure File Transfer Protocol):

    • 용도: SSH 프로토콜 위에서 동작하는 파일 전송을 지원하는 프로토콜인 SFTP에 사용됩니다.
    • 허용규칙: SFTP는 SSH 프로토콜을 사용하므로 22번 포트를 열어야 합니다.
  4. 80 (HTTP - Hypertext Transfer Protocol):

    • 용도: 웹 서버가 클라이언트에게 웹 페이지를 전송하는 데 사용되는 표준 HTTP 프로토콜에 사용됩니다.
    • 허용규칙: 80번 포트는 웹 서버에 대한 HTTP 트래픽을 허용합니다.
  5. 443 (HTTPS - Hypertext Transfer Protocol Secure):

    • 용도: 웹 서버와 클라이언트 간의 안전한 데이터 전송을 위한 HTTP의 보안 버전인 HTTPS에 사용됩니다.
    • 허용규칙: 443번 포트는 웹 서버에 대한 안전한 HTTPS 트래픽을 허용합니다.
  6. 3389 (RDP - Remote Desktop Protocol):

    • 용도: 원격 데스크톱 연결을 제공하는 프로토콜인 RDP에 사용됩니다.
    • 허용규칙: 3389번 포트를 열면 원격 데스크톱 연결을 허용합니다.

이러한 포트들은 네트워크 통신에서 특정 서비스나 프로토콜에 할당된 표준 포트로, 보안 그룹이나 방화벽에서 트래픽을 제어하는 데 사용됩니다. 각 포트는 특정 프로토콜이나 서비스에 매핑되어 있어서, 허용된 포트에 대한 트래픽만을 허용하도록 보안 구성을 할 수 있습니다.

9. IAM Role

EC2 인스턴스에 연결하는 절차 및 보안 관련 사항은 다음과 같습니다. 이 중에서 IAM Role을 사용하는 것이 안전한 방법 중 하나입니다.

  1. IAM Role 생성:

    • AWS Identity and Access Management (IAM) 콘솔에서 새로운 IAM Role을 생성합니다.
    • 해당 역할에는 필요한 권한이 부여되어야 합니다. EC2 인스턴스에 필요한 권한을 정의하고 연결합니다.
  2. EC2 인스턴스 시작 시 IAM Role 할당:

    • EC2 인스턴스를 시작할 때 IAM Role을 할당합니다.
    • 인스턴스 생성 시 "IAM role" 설정 단계에서 원하는 IAM Role을 선택하거나 지정합니다.
  3. SSH 키 생성 (옵션):

    • SSH를 사용하여 EC2 인스턴스에 접속할 경우, 필요에 따라 SSH 키를 생성합니다.
  4. EC2 인스턴스 보안 그룹 설정:

    • EC2 인스턴스의 보안 그룹 설정에서 필요한 포트를 열어줍니다. 예를 들어, SSH (22번 포트)를 열어야 합니다.
  5. EC2 인스턴스에 연결:

    • EC2 콘솔에서 해당 인스턴스를 선택하고, "Connect" 버튼을 클릭합니다.
    • SSH를 사용하는 경우, 나타나는 명령어를 터미널에서 실행하여 인스턴스에 연결합니다.
    ssh -i /path/to/your/key.pem ec2-user@your-instance-ip
    • 또는 Session Manager를 사용하는 경우 AWS Systems Manager 콘솔에서 인스턴스를 선택하고 "Start session" 버튼을 클릭하여 웹 기반 SSH 세션을 시작할 수 있습니다.
  6. IAM Role 사용 (Session Manager를 통한 방법):

    • Session Manager를 사용하여 EC2 인스턴스에 연결할 경우, IAM Role을 사용할 수 있습니다.
    • Session Manager를 구성하고 인스턴스에 IAM Role을 부여하면, 인스턴스에 SSH 키를 직접 관리하지 않고도 세션을 시작할 수 있습니다.
  7. AWS CLI 및 SDK 사용:

    • AWS CLI 또는 SDK를 사용하여 EC2 인스턴스에 명령을 전송하고 데이터를 가져오는 경우, IAM Role이 필요한 작업에 대한 권한이 있는 역할을 사용하는 것이 보안적으로 권장됩니다.

IAM Role을 사용하면 보안을 강화할 수 있으며, 보안 그룹을 통해 필요한 포트만을 열어주어 최소한의 필요한 트래픽만을 허용하는 것이 좋습니다.

10. 다양한 EC2 인스턴스 구매 옵션

AWS EC2에서는 다양한 구매 옵션이 제공되어 다양한 요구사항과 예산에 맞게 선택할 수 있습니다. 주요한 EC2 인스턴스 구매 옵션은 다음과 같습니다:

  1. 온디맨드 인스턴스 (On-Demand Instances):

    • 특징: 필요한 만큼의 컴퓨팅 용량을 제공하며 시간 제한 없이 사용 가능합니다.
    • 용도: 유연성이 필요한 애플리케이션, 단기 프로젝트, 테스트 및 개발용 등에 적합합니다.
    • 과금 방식: 시간당 사용량에 대한 비용을 지불합니다.
  2. 예약 인스턴스 (Reserved Instances):

    • 특징: 일정 기간 동안 특정 용량의 인스턴스를 예약하여 할인된 가격으로 사용 가능합니다.
    • 용도: 예측 가능한 워크로드, 장기 계획이 필요한 애플리케이션에 적합합니다.
    • 과금 방식: 미리 지불한 예약 비용에 따라 할인된 가격으로 사용 가능합니다.
  3. 스팟 인스턴스 (Spot Instances):

    • 특징: 남는 EC2 용량을 경매 방식으로 사용할 수 있는 인스턴스로, 가격이 시장 가격에 따라 변동합니다.
    • 용도: 급격한 수요의 변동이나 저렴한 가격으로 컴퓨팅 파워가 필요한 애플리케이션에 적합합니다.
    • 과금 방식: 현재의 스팟 가격에 따라 지불하며, 언제든지 인스턴스가 중지될 수 있습니다.
  4. 온디맨드 전용 호스트 (On-Demand Dedicated Hosts):

    • 특징: 전용 물리적 서버에 액세스하여 특정 인스턴스를 배치하는 옵션입니다.
    • 용도: 소프트웨어 라이선스 제약이 있는 경우에 사용 가능하며, 특정 호스트에서 인스턴스를 운영하려는 경우에 적합합니다.
    • 과금 방식: 사용한 호스트의 시간당 비용을 지불합니다.
  5. 예약 전용 호스트 (Reserved Dedicated Hosts):

    • 특징: 예약한 호스트에 대해 특정 인스턴스를 예약하여 사용하는 옵션입니다.
    • 용도: 특정 호스트에서 인스턴스를 예약하고자 할 때 사용하며, 라이선스 요구 사항이 있는 경우에 적합합니다.
    • 과금 방식: 미리 지불한 예약 비용에 따라 할인된 가격으로 사용 가능합니다.

이러한 다양한 구매 옵션을 통해 사용자는 애플리케이션의 특성과 예산에 맞게 최적의 EC2 인스턴스를 선택할 수 있습니다.

11. 스팟 인스턴스의 장단점과 적합성

장점:
1. 비용 효율성: 스팟 인스턴스는 온디맨드보다 저렴한 가격으로 이용할 수 있습니다. 이는 일부 워크로드에 대해 비용을 크게 절감할 수 있음을 의미합니다.

  1. 가용성과 확장성: 스팟 인스턴스는 가용한 여러 가용 영역에서 제공되며, 필요에 따라 확장이 가능합니다. 따라서 가용성이 높고, 다양한 규모의 워크로드에 적응할 수 있습니다.

  2. **

용량 활용도 향상:** AWS의 여러 데이터 센터에서 높은 수준의 자원을 사용하여 여유 자원을 활용할 수 있습니다.

단점:
1. 요청 취소와 인스턴스 종료: 다른 사용자가 스팟 인스턴스를 필요로 할 때, 가격 또는 자원 요구 사항이 변경되면 인스턴스가 종료될 수 있습니다. 이로 인해 실행 중인 작업이 종료될 수 있습니다.

  1. 예상치 못한 중단: 가격 또는 자원 요구 사항이 다른 사용자에 의해 충족될 경우, 예상치 못한 중단이 발생할 수 있습니다.

  2. 지속적인 네트워크 가용성: 스팟 인스턴스의 네트워크 가용성은 일반적인 인스턴스보다 낮을 수 있습니다.

적합성:

  • 워크로드가 유연하고 대기 시간이 상대적으로 짧은 경우: 스팟 인스턴스는 대기 시간이 짧고 유연한 워크로드에 적합합니다. 예를 들어, 데이터 처리, 큐 기반의 작업, 배치 처리 등이 해당됩니다.

  • 지속적인 가용성이 필요한 경우: 가용성이 상대적으로 중요하지 않거나 중요하지만 예상치 못한 중단을 감수할 수 있는 경우에 적합합니다.

12. 스팟 플릿과 스팟 인스턴스의 차이점

  • 스팟 플릿(Spot Fleet):

    • 여러 인스턴스 유형과 런치 풀을 정의하여 여러 가용 영역에서 다양한 인스턴스를 동시에 실행할 수 있습니다.
    • 여러 가용 영역에서 일관된 성능과 특정 작업의 요구 사항에 따라 인스턴스를 배치하는 데 사용됩니다.
  • 스팟 인스턴스:

    • 단일 인스턴스 유형과 가용 영역에서 단일 요청에 대한 인스턴스를 실행하는 데 사용됩니다.
    • 더 단순하며, 특정 작업에 대한 인스턴스를 사용할 때 스팟 플릿보다 더 직접적으로 제어할 수 있습니다.

이러한 차이점을 고려하여 워크로드의 요구 사항에 따라 적절한 선택을 할 수 있습니다.

profile
터널을 지나고 있을 뿐, 길은 여전히 열려 있다.
post-custom-banner

0개의 댓글