[2일차] EC2 기초

soyeon·2023년 3월 24일
0

SAA

목록 보기
2/6
post-thumbnail

Amazon EC2(Elastic Compute Cloud)

AWS에서 제공하는 서비스형 infrastructure이다.

하나의 서비스가 아니라 많은 것을 포함하고 있다.

  • 가상 머신 임대(EC2)
  • 데이터를 가상 드라이브에 저장(EBS)
  • load 분산(ELB)
  • 서비스 확장(ASG)

EC2 인스턴스 유형

Amazon EC2 인스턴스 유형 – Amazon Web Services

  • General Purpose(범용)
    웹 서버나 코드 저장소와 같은 다양한 작업에 적합하다.
    컴퓨팅, 메모리, 네트워킹 간의 균형도 잘 맞는다.

  • Compute Optimized(컴퓨팅 최적화)
    고성능 프로세서가 필요한 집약적인 작업에 최적화된 인스턴스이다.
    C로 시작하는 이름을 가진다.

  • Memory Optimized(메모리 최적화)
    메모리에서 대규모 데이터셋을 처리하는 유형의 작업에 빠른 성능을 제공한다.

  • Storage Optimized(스토리지 최적화)
    로컬 스토리지에서 대규모의 데이터셋에 액세스할 때 적합한 인스턴스이다.

명명 규칙

ex) m5.2xlarge
m - 인스턴스 클래스
5 - 인스턴스 세대
2xlarge - 인스턴스 클래스 내에서 크기

Introduction to Security Groups

보안 그룹은 AWS 클라우드에서 네트워크 보안을 실행하는데 핵심이 된다.
EC2 인스턴스에 들어오고 나가는 트래픽을 제어한다. 허용 규칙만 포함한다.

  • 통제 요소

    • Port
    • IP(IPv4, IPv6)
    • inbound network
    • outbound network
  • 특징

    • 여러 인스턴스에 연결할 수 있다.
    • region과 VPC의 결합으로 통제되어 있다. 다른 region으로 전환하면 새 보안 그룹을 생성하거나 다른 VPC를 생성해야 한다.
    • 보안 그룹은 EC2외부에 있다. 트래픽이 차단되면 EC2 인스턴스는 확인할 수 없다.
    • SSH 액세스를 위한 하나의 별도 보안 그룹을 유지하는 것이 좋다.
    • 기본적으로 모든 인바운드 트래픽은 차단되어 있다.
    • 기본적으로 모든 아웃바운드 트래픽은 허용되어 있다.

타임아웃이 발생하거나, 컴퓨터가 계속 멈추고 대기한다면?
➡️ 보안 그룹의 문제이다.

연결 거부 오류가 발생하면?
➡️ 보안 그룹은 실행되었고, 트래픽은 통과했지만 애플리케이션에 문제가 있거나 실행되지 않은 것이다.

다른 보안 그룹 참조

EC2 인스턴스의 IP와는 상관없다.
올바른 보안 그룹에 연결되어 있기 때문에 다른 인스턴스를 통해서 바로 통신할 수 있다.

알아두면 좋은 포트

EC2 인스턴스에서 IAM 역할

EC2 인스턴스에서 aws iam list-users 명령어를 입력하면 aws configure를 하라고 나온다.
하지만, 인스턴스에 자격증명을 넣으면 다른 사람이 들어와서 가져갈 수 있기 때문에 위험하다.

➡️ 이때, Role을 사용한다.
인스턴스에 원하는 권한을 가진 Role을 붙여주면 된다.

EC2 인스턴스 Purchasing Options

  • On-Demand(온디맨드)
    필요한 대로 인스턴스를 실행할 수 있다. 단기적인 워크로드에 사용하기 좋다.
    비용을 예측할 수 있고 초 단위로 요금을 지불하면 된다.
    단기적이고, 중단없고, 워크로드를 예측할 수 없을 때 사용하면 좋다.

  • Reserved(예약)
    1년이나 3년동안 예약해서 인스턴스를 사용할 수 있다.

  • Reserved Instance
    장기간의 기간동안 사용할 때 사용할 수 있다.
    오랫동안 데이터베이스를 실행할 계획이라면 이 인스턴스가 좋다.

  • Convertible Reserved Instance
    시간이 지나고, 인스턴스 타입을 변경하기 원할 때 상요할 수있다.

  • Savings Plans(절약 플랜)
    1년이나 3년동안 사용할 수 있다.
    특정한 인스턴스 유형을 약정하는 게 아니라 달러 단위로 특정한 사용량을 약정하는 것이기 때문에 좀더 현대적인 방식이다.
    사용량이 한도를 넘어서면 온디맨드 가격으로 청구를 하게 된다.

  • Spot(스팟)
    아주 짧은 워크로드를 위한 것이다. 아주 저렴하다.
    하지만 언제라도 그 인스턴스들이 손실될 수 있어서 신뢰성이 낮다.
    AWS에서 가장 비용 효율적인 인스턴스이다.
    → 배치 작업이나 데이터 분석, 이미지 처리, 모든 종류의 분산형 워크로드
    → 시작 시간과 종료 시간이 유연한 워크로드
    아주 중요한 작업이나 데이터베이스에는 적절하지 않다.

  • Dedicated Hosts(전용 호스트)
    물리적 서버 전체를 예약해서 인스턴스 배치를 제어할 수 있다.
    AWS에서 가장 비싼 옵션이다.
    → 라이선싱 모델과 함께 제공되는 소프트웨어(BYOL)
    → 규정이나 법규를 반드시 준수해야 하는 회사

  • Capacity Reservations(용량 예약)
    원하는 기간 동안 특정한 AZ에 용량을 예약할 수 있다.
    특정한 AZ에 있어야 하는 단기적이고 중단 없는 워크로드에 아주 적합하다.

Purcahsing Option 요약

리조트에 비유해 본다.

  • 온디맨드 리조트가 있고, 원할 때 언제나 리조트에 오고 전체 가격을 지불한다.
  • 예약 미리 계획을 하고 그 리조트에 아주 오래 체류한다. 그리고 오래 체류할 것이기 때문에 많은 할인을 받게된다.
  • 절약 리조트에서 일정한 금액을 지출할 것임을 알고 있다. 12개월 동안에 매월 300달러를 지출할 예정이다. 시간이 지나면 객실 타입을 변경하려 할 수 있는데, 리조트에서는 특정한 지출액을 약정하라고 한다.
  • 스팟 빈 객실이 있고 사람들을 끌어 모으기 위해 호텔이 마지막 할인을 제공하는 경우이다. 빈 객실이 있고 사람들이 그 빈 객실을 얻기 위해 경매를 한다. 그래서 아주 많은 할인을 얻게 된다. 하지만 이 리조트에서 만일 다른 사람이 객실 요금을 더 많이 낼 의사가 있다면 쫓겨난다.
  • 전용 호스트 리조트 건물 전체를 예약하려는 것과 같다.
  • 용량 예약 객실을 예약할 건데 내가 체류할지 확실치 않다고 말하는 것과 같다. 체류할 수도 있겠지만, 체류하지 않는 경우에도 그 객실을 예약하는 전체 비용을 지불하게 된다.

EC2 Sopt Instance Pricing

스팟 인스턴스를 사용하면, 온디맨드와 비교해 온디맨드와 비교해 최대 90%까지 할인을 받을 수 있다.

어떤 스팟 인스턴스에 대해 지불할 의향이 있는 스팟 최고가를 정의한 후에 인스턴스의 비용이 최고가보다 낮은 한 인스턴스를 계속해서 사용한다.

  • 스팟 인스턴스 종료하는 방법
    스팟 인스턴스를 영구히 종료하고 재실행되는 일이 없도록 하기 위해서는 먼저 스팟 요청부터 취소 한 뒤 해당 요청과 연결된 스팟 인스턴스를 종료해야 한다.

Spot Fleets

: 한 세트의 스팟 인스턴스에 선택적으로 온디맨드 인스턴스를 조합해 사용하는 방식

  • 스팟 플릿은 정의된 비용 제한 내에서 용량을 맞추려 노력한다.
    사용 가능한 런치풀(Launch Pool)을 통해서 실행 된다. 다양한 인스턴스 유형, OS, 가용 영역을 가질 수 있다.
    플릿이 가장 적합하고 좋은 런치풀을 선택한다.
    정해진 예산이나 용량에 달하면 인스턴스 실행을 멈춘다.

  • 스팟 플릿 내에 스팟 인스턴스를 할당해 줄 전략을 정의한다.

    • lowestPrice 스팟 플릿이 가장 적은 비용을 가진 풀에서부터 인스턴스를 실행해 준다.
    • diversified 기존에 정의한 모든 풀에 걸쳐 분산이 된다. 긴 워크로드에 적합하고 가용성이 뛰어난 옵션이다. 한 풀이 중단되더라도 다른 풀이 활성화되어 있기 때문이다.
    • capacityOptimized 인스턴스의 개수에 따라서 최적 용량으로 실행이 되고 적절한 풀을 찾아 주는 옵션이다.

0개의 댓글