ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클라우드 컴퓨팅? EC2? AWS?
    2학년/AWS 2023. 3. 6. 17:59

    서버?

    • 클라이언트의 요청을 이행할 수 있는 서버
    • 클라우드를 이용해서 서버를 열 수 있다

    클라우드 컴퓨팅이란?

    • 인터넷을 통해 서버를 요청하면 제공하는 방법
    • 온디맨드( 주문한 시점에 바로 쓸 수 있는 것 = 요청후 30분 제공 은 온디맨드가 아님)로 서비스에 액세스 해줌
    • 종량요금제임 = 사용한 만큼만 비용을 지불

    클라우드 컴퓨팅 배포 모델

    • 클라우드
      • AWS와 같은 public으로 쓸 수 있는 클라우드
    • 온프레미스
      • 자체 data center 에 private cloud 구축. = 지들만 쓸 클라우드를 만들겠다.
    • 하이브리드
      • 자체 data center에 온프레미스를 남겨두고 AWS 도 같이 쓰는 것
      • 일부 시스템은 온프레미스에 , 일부 서비스는 AWS에서 사용

    AWS클라우드

    • 2006년에 3개의 서비스로 시작 ( EC2 , S3 , SQS )

    클라우드 컴퓨팅의 이점

    시험에서는 이 부분 관련 문제가 많이 나온다고 한다!

    • 초기 비용 → 가변 비용 가능
      • 초기 비용이란 데이터 센터, 물리적 서버 등 미리 투자를 해야 사용할 수 있는 대규모 비용인데, 여기에 투자 대신 컴퓨팅 리소스에 대해서만 비용 지불 가능.
      • = 사용한 만큼만 비용 지불
    • 비용 최적화
      • 데이터 센터 운영 유지 및 관리 비용 지출 필요 x
      • 고객과 애플리케이션에 더 집중 가능
    • 용량 추적 필요 x
      • 필요한 인프라 용량을 추정할 필요 없음 . 필요에 따라 축소 및 확장을 해주기 때문이다.
      • 탄력적 운영 가능
    • 규모의 경제
      • 거대한 규모의 경제 활용 가능.
      • 탄력적 운영 덕분에 사용자들에게 할인으로 돌려줄 수 있다 < 이를 AWS에서는 규모의 경제라고 하고 있음
    • 속도 및 민첩성
      • 데이터 센터에서 컴퓨팅 수행할 경우, 필요한 새 리소스 확보에 많은 시간 필요.
      • 클라우드 컴퓨팅은 유연성 덕분에 더 많은 시간 확보 가능
      • 몇 분 만에 전 세계에 배포 가능
    •  

    EC2 ( Elastic Compute Cloud )?

    • AWS 안에 실제 머신이 있다. 여기에 EC2 instance 하나 만들어줘 하면 실제 머신 위에 만들어준다. 이게 hyper viser라는 가상화 기술로 컴퓨터가 여러게 있는 것 처럼 나누는 것….?
    • instance = 1회성
      • 노트북을 구매하면 나중에 버릴 수 있다. 이처럼 기업의 DBMS도 끝까지 관리하다가 다쓰면 버리는데 이런 의미임
    • 클라우드에서 안전하고 크기 조정이 가능한 컴퓨팅 용량을 제공한다
    • 기존 온프레미스 리소스를 사용하여 새로운 웹 사이트를 지원한다고 가정하면, 하드웨어를 구입하기위해 미리 비용을 지출 > 서버 배달 기다리기 > 물리적 데이터 센터에 서버 설치 > 모든 구성 수행으로 느리고 비쌈.
    • 그러나 Amazon EC2 인스턴스 서버에서는 몇 분 내에 인스턴스 프로비저닝 시작 > 실행을 마치면 사용 중지 > 사용 시간만큼 비용 지불. 종료 후 비용 지불 x > 비용절감으로 더 좋다 이말임.
    • 정리하면
      • 안전하고 크기 조정 가능한 컴퓨팅 용량 사용
      • 몇 분 만에 서버 인스턴스 부팅
      • 사용한 만큼 비용 지불

    Amazon EC2 작동 방식

    • 인스턴스 시작
    • 인스턴스에 연결
    • 인스턴스 사용

    Amazon EC2 인스턴스 유형

    • 커피숍에서 커피만들기, 계산대 처리, 물품 주문 등 나누어 처리함 이처럼 효율적으로 동작하도록 유형을 나눔
    • 범용
      • 컴퓨팅, 메모리, 네트워킹 리소스를 균형 있게 제공
      • 다양한 워크로드에 적합
    • 컴퓨팅 최적화
      • 고성능 프로세서 제공
      • 컴퓨팅 집약적 애플리 케이션 배치 처리 워크로드에 적합 ( 계산 많이 한다 이런 거 )
    • 메모리 최적화
      • 메모리 집약적 워크로드를 위한
      • 고성능 데이터 베이스에 적합 ( DBMS )
    • 액셀러레이티드 컴퓨팅
      • CPU 실행 소프트웨어에서 효율적. (게임 ,스트리밍 같은 워크로드 )
    • 스토리지 최적화
      • 낮은 지연율, 분산 파일 시스템 등과 같은 IOPS제공

    Amazon EC2 인스턴스 요금 옵션

    • 온디맨드
      • 초기 선결제 비용이나 최소 약정 없음
      • 불규칙한 단기 워크로드에 적합
    • 스팟
      • 시작 및 종료 시간이 자유로운 워크로드.
      • 온디맨드 대비 비용 절감( 90%정도 할인 )(미사용분 사용.
    • 예약
      • 1년 또는 3년 약정 필요
      • 온디맨드 요금에 비해 결제 할인 제공
    • compte Savings Plans
      • 사용량이 일정할 경우 온디맨드 대비 66% 비용절감.
      • 예약과 같은 점으로 1년 또는 3년 약정 필요

    Amazon EC2 전용 컴퓨팅

    • 한 회사의 데이터가 다른 회사의 데이터와 같은 서버에 상주하지 않도록 해야한다. 이럴 때 전용 인스턴스와 전용 호스트 두 가지 옵션을 고려해 볼 수 있다.
    • 전용인스턴스
      • 단일 고객 전용 하드웨어인 Virtual Private Cloud( VPC)에서 실행되는 EC@인스턴스
      • 표준 Amazon EC2 인스턴스에 비해 더 높은 비용
    • 전용 호스트
      • 사용자 전용의 EC2 인스턴스 용량을 갖춘 물리적 서버이다.

    Amazon EC2 Auto Scaling

    • 커피숍에서 명절 같은 사람이 많이 몰리는 기간에 바리스타를 늘리도록 하는 그런 과정. 아마존에서 제공하는 자동으로 조정이 수행되도록 하는 서비스가 Amazon EC2 Auto Scaling이다.
    • 액세스 웹 사이트가 로드되지 않고 계속 시간 초과된 경우가 바리스타 과로와 비슷하다.
    • 컴퓨팅 요구 사항의 변화에 따라 용량을 조정하고 예측 조정을 사용한다.,
    • EC2 AS는 최소 용량으로 EC2 인스턴스 수를 1개로 설정 후 희망 개수만큼 워크로드를 돌린다. 필요에따라 최대 용량 개수만큼 늘릴 수 있는데 이를 Auto Scaling 그룹이라 한다.

    Elastic Load Balancing

    • 커피숍에서 바리스타 한 명만 대부분의 일을 하면 과로한다. 일이 집중되지 않도록 분배하는 과정. 워크로드를 분산하여 단일 리소스가 전체 워크로드를 혼자 처리하는 것을 방지하여 애플리 케이션 성능이 향상된다. Elastic Load Balancing은 워크로드 크기는 동일하게 유지, 워크로드가 Amazon EC2인스턴스 전체에 균등하게 분산되어 균형이 유지되는 AWS 시스템.으로 이해하면 된다!
    • Auto Scaling 그룹에 단일 접점을 제공한다.
    • 여러 리소스에 자동으로 트래픽을 분산시킨다.
    • 수요가 낮은 기간엔 CPU가 최소 용량만큼 돌아가다가 , 수요 높은 기간에 인스턴스를 늘리는 걸 로드 밸런서로 볼 수 있다.

    Auto Scaling과 Load Balancing 간단 예 정리

    • Auto Scaling
      • 수요가 적을 때 불필요한 Amazon EC2 인스턴스를 제거한다
      • 온라인 쇼핑몰의 인기 있는 세일 기간 중 두 번째 Amazon EC2 인스턴스를 추가한다.
      • 수요에 맞춰 Amazon EC2 인스턴스 수를 자동으로 조정한다
    • Load Balacing
      • 여러 Amazon EC2 인스턴스에 워크로드 분산
      • 단일 EC2 인스턴스가 전체 워크로드를 처리하지 않도록 보장
      • Auto Scaling 그룹으로 들어가는 트래픽의 단일 접점 제공

    AWS 메시징 서비스

    • Elastic Load Balancer 와 EC2 인스턴스 간의 통신이 어떻게 이루어지는지
    • SNS( Simple Notification Service ) 와 SQS( Simple Queue Server )가 있다.다른 서비스를 사용할 필요가 없고, 소프트웨어 구성 요소 간에 메시지를 전송, 저장 수신하는 방식.
    • SNS는 하나의 메시지가 여러 구성자에게 전달된다. 1:n 방식이다. Amazon SNS에서 구독자는 웹 서버, 이메일 주소, AWS Lambda 함수 또는 그 밖의 여러 옵션이 될 수 있다. AWS Lambda는 이 모듈 뒷부분에서 보다 자세히 설명한다.
    • SQS는 Queue와 동일하게 선입선출 방식. 메시지 대기열을 만들어 처리 후 대기열에서 삭제된다.
    • 예전부터 애플리케이션을 만들 때 설계 원칙은 분할과 정복. 약결합이 필요하다. 강하게 연결되어 있으면 분할과 정복이 안된다 이말씀. 방금 이야기한 SQS와 SNS가 약결합에 도움을 줌
    • 다 연결되어있는 모놀리식 애플리케이션 대신 마이크로서비스로 제공할 수 있다.

    서버리스 컴퓨팅 서비스

    • 앞에서 EC2는 클라우드에서 가상 서버를 실행할 수 있는 서비스였다. 인스턴스(가상서버)를 프로비저닝하고 사용자 코드를 업로드 한 뒤 애플리케이션 실행 동안 가상서버를 관리해야한다.서버리스 컴퓨팅용 AWS서비스는 Lambda이다.
    • AWS에서는 서버리스 애플리케이션으로 용량관리가 필요없다.

    AWS Lambda

    • 서버를 프로비저닝하거나 관리하지 않고 코드 실행
    • 코드가 실행되는 컴퓨팅 시간에 대해서만 비용 지불
    • 다른 AWS서비스를 사용하여 코드를 자동으로 트리거한다.
    • 파이썬 했을 때 Lambda함수를 생각하면 된다.
    • 모든유형의 백엔드 서비스 코드를 실행할 수 있으며 이를 관리할 필요가 전혀 없다!

    AWS Lambda 작동 방식

    • Lambda에 코드 업로드
    • 이벤트 소스에서 트리거 되도록 코드 설정.
    • 코드는 트리거 될 때만 실행
    • 사용한 컴퓨팅 시간에 대해서만 비용 지불

    AWS 컨테이너 서비스

    • 애플리케이션의 코드와 종속성을 하나의 객체로 패키징 하는 표준 방식.
    • 필수적인 보안, 안정성, 확장성 요구 사항이 있을 때 사용.
    • 아마존에서는 단일 호스트 대신 수백 개의 컨테이너가 있는 수십 개의 호스트를 관리, 배포, 확장하는 데 도움을 줄 수 있는 오케스트레이션을 제공하는 두가지 서비스인 ECS( Amazon Elatic Container Service ) 와 EKS ( Kubernetes Service ) 가 있다.
    • ECS
      • 컨테이너식 애플리케이션 실행 및 조정.
      • 간단한 API 호출을 사용하여 Docker 컨테이너 지원. Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼임
    • EKS
      • kubernetes 같은 애플리 케이션을 대규모로 배포하고 관리하는데 사용할 수 있는 오픈 소스 소프트웨어이다.
    728x90

    '2학년 > AWS' 카테고리의 다른 글

    어디서 비용이 청구되는가...  (0) 2023.02.15
    EC2만든거로 뭐하는가 작성중  (0) 2023.02.12
    EC2 생성 후 CMD로 접속  (0) 2023.02.12

    댓글

Designed by Tistory.
티스토리 친구하기