컴퓨팅 - Lightsail, EC2, Elastic Load Balancer

‎김연수·2024년 5월 17일
0

AWS-Cloud-Club-Ewha

목록 보기
5/7

클라우드 컴퓨팅

: 인터넷을 통해 컴퓨팅 자원(서버, 스토리지, 네트워크 등)을 필요한 만큼 제공받는 기술

  1. IaaS(Infrastructure As A Service):** 가상 서버, 스토리지, 네트워크 등의 인프라를 서비스로 제공
  1. PaaS(Platform As A Service): 사용자가 원하는 서비스를 개발할 수 있도록 개발환경을 미리 구축해, 이를 서비스 형태로 제공

  2. SaaS(Software As A Service): 클라우드 서비스 형태 중 가장 완성된 형태의 클라우드 서비스, 소프트웨어 애플리케이션을 서비스로 제공

  3. FaaS(Function As A Service): 복잡한 인프라를 관리하지 않고도 이벤트에 대한 응답으로 코드를 실행할 수 있는 클라우드 컴퓨팅 서비스

Lightsail

: AWS 클라우드에서 제공하는 가상 프라이빗 서버(VPS)

  • 웹 사이트 또는 웹 애플리케이션을 구축해야 하는 모든 사용자가 AWS를 시작할 수 있는 가장 쉬운 방법
  • 가상머신, SSD 기반 스토리지, Networking, 로드밸런서, DNS 관리, 고정 IP, OS, 개발플랫폼(MEAN, Node.js), 어플리케이션(Wordpress, Nginx, Gitlab, Redmine)
  • 쉽게 확장 가능(snapshot을 통해 EC2로 쉽게 마이그레이션 가능)

    가상 프라이빗 서버(VPS)
    : 하나의 물리서버를 여러 개의 가상 서버로 쪼개어 사용하는 것.

    • 각자 독립적인 서버 공간을 가짐
      → 동일한 속도, 보안서비스 제공
    • 하나의 물리 서버의 리소스를 모든 사용자가 공유함
      → 한 사용자가 리소스를 점유할 수 있음.

Lightsail 기능

  1. 인스턴스
    • 다양한 운영 체제와 자동으로 설치되는 인스턴스 이미지(AMI)를 제공
    • 인스턴스 이미지에는 특정 운영체제와 소프트웨어 구성이 들어있음
    • Amazon Linux, Ubuntu, WordPress, Nginx, Node.js 등이 있고 브라우저 내 SSH 또는 자체적인 SSH 클라이언트를 사용하여 인스턴스에 소프트웨어를 추가로 설치할 수 있음.

  2. 컨테이너 서비스
    • 클라우드에서 컨테이너형 애플리케이션을 쉽게 실행하도록 돕는 서비스
    • 필요한 배포 이미지, 성능, 노드 수만 지정하면 인프라를 관리할 필요없이 컨테이너 서비스 실행
    • 도커 컨테이너 실행이 가능하며 windows 컨테이너를 지원되지 않음.
    • 단, Lightsail 컨테이너 서비스가 직접적으로 CDN의 오리진 서버로 사용될 수는 없음.
    • 컨테이너 서비스는 Lightsail의 로드밸런스 대상이 될 수 없음.
      cf. Lightsail의 로드 밸런서는 인스턴스 간의 트래픽을 분산하는 데 사용되지만, 컨테이너 서비스의 경우 수동으로 로드 밸런싱을 해주어야 함.

  3. 데이터베이스
    • DBMS 선택 및 master user name, 데이터베이스 이름 설정, 데이터베이스 선택 가능

  4. 네트워킹
    • 고정 IP: Lightsail로 만들어진 인스턴스에 고정 IP주소 할당
    • Distribution: 콘텐츠 전송 네트워크(CDN) 기능 제공
    • Load Balancer: 트래픽을 여러 서버로 균등하게 나누는 기능을 제공

  5. 스토리지
    • Bucket: 파일, 이미지, 비디오 등의 객체를 저장하고 엑세스하는 공간을 제공
    • Disk: 라이트세일 인스턴스에서 하드 드라이브로 마운트 할 수 이는 스토리지 볼륨

  6. 스냅샷
    • 인스턴스나 디스크의 상태를 캡처하여 백업 또는 복원에 사용하는 기능
    • 문제 발생 시 백업, 애플리케이션을 확장을 위한 복제, 다른 AWS서비스로의 마이그레이션 등에 이용

  7. DNS Zone
    • 도메인 이름 시스템(DNS) 레코드를 관리하는 방식을 제공

Auto Scaling

:클라우드 리소스를 자동으로 조정하여 지정된 조건에 따라 필요할 때만 필요한 만큼의 컴퓨팅 리소스를 사용할 수 있도록 하는 AWS 서비스

  • EC2 상태 확인을 사용하여 인스턴스의 상태와 가용성을 자동으로 모니터링하고, 종료되거나 손상된 인스턴스를 교체하여 원하는 용량을 유지
  • 사용량이 증가하면 Auto Scaling 은 사용자 정의 규칙에 따라 자동으로 EC2 인스턴스를 추가하여 용량을 늘리고, 사용량이 감소하면 리소스를 줄여 비용을 절감.
  • Scale Up: 하나의 인스턴스의 리소스(예: CPU, 메모리)를 늘리는 것
  • Scale Out: 규모를 늘리는 것

Auto Scaling 구성요소

Scaling Policies
인스턴스 수를 언제 확장하거나 축소할지 결정하는 규칙을 정의, 매트릭(예: CPU 사용률, 네트워크 입출력 등)에 기반하여 동작

  1. CPU 사용률

    • 애플리케이션의 CPU 사용이 높고, 이것이 서비스 성능에 직접적인 영향을 미치는 경우
  2. 네트워크 입출력

    • 네트워크 트래픽이 성능의 제한 요소가 되는 환경
  3. ALB 요청 수

    • 웹 애플리케이션이나 API 게이트웨이를 운영하고 요청 처리 능력을 기반으로 스케일링 하고 싶을 때
  4. 사용자 지정 지표

    • Amazon CloudWatch를 통해 사용자가 직접 지표를 생성, 이는 표준 지표로는 해결되지 않는 특수한 요구 사항을 가진 시스템에 적합

    cf. 퀴즈. 스트리밍 서비스를 운영하는 경우 사용할 수 있는 Scaling Policy는? 답: 네트워크 입출력

0개의 댓글

관련 채용 정보