컴퓨팅

Byung Seon Kang·2022년 9월 29일

AWS 클라우드

목록 보기
2/5
  • AWSome Day 온라인 컨퍼런스를 정리한 자료입니다.

Amazon EC2

  • 크기 조정 가능한 컴퓨팅 용량
  • 컴퓨팅 리소스 완전 제어
  • 새로운 서버 인스턴스 확보 및 부팅 시간 단축
  • 픽스된 형태로 컴퓨팅 스펙을 제공
    • 인스턴스가 운영되는 도중에도 스펙 변경 가능!

가상 머신과 물리적 서버 비교

  • EC2 인스턴스를 일회용 리소스로 취급
    • EC2 인스턴스를 프로비저닝하고 EC2 인스턴스에 데이터를 저장하지 않는다.
    • 모든 정보는 외부에 저장해 EC2 인스턴스를 stateless하게 관리 가능.
      • 기능만 하게 되어 인프라를 탄력적으로 확장 축소 가능
    • 부하를 CloudWatch로 모니터링해서 Scale up,down,out,in 결정 가능
  • 자유로운 실수가 가능
    • MongoDB 도입을 위한 PoC를 한다고 하자.
    • 온프레미스는 PoC를 위해 새로운 장비 구입해야함.
      • 끝나고 나면 쓸모없는 장비 됨.
    • 하지만 AWS에서는 추가 리소스를 프로비저닝해 PoC 사용 가능
    • 해당 작업 끝나면 서비스 종료하기만 하면 됨.
    • 이를 통해 다양한 환경 테스트가 가능.

EC2 자세히

  • AMI를 기준으로 인스턴스화 함.
    • 운영체제, 앱서버, 애플리케이션과 같이 필요한 소프트웨어 및 AMI 시작 권한, 시작될 때 인스턴스에 연결할 볼륨을 지정하는 블록디바이스 매핑등이 구성된 템플릿.
  • AMI에서 원하는 만큼 여러개의 디바이스 실행 가능.

AMI 다운로드 방법
1. AWS 제공 AMI
2. 마켓플레이스에서 제공하는 AMI
3. 사용자가 자체적으로 구성한 AMI
4. 커뮤니티에서 올라오는 AMI

EC2 이점

  • 오토 스케일링 활용하면 peek 타임때도 유연하게 대응이 가능..

Amazon EC2 인스턴스 패밀리 및 이름

  • 인스턴스 종류가 너무 다양해서 구분 어려움
  • 우선 인스턴스 패밀리 타입으로 구분
  • 범용 : 균형잡힌 인스턴스의 성능 필요할 때 사용
  • 컴퓨팅 최적화 : 고성능 CPU 필요로 할 때
  • 메모리 최적화 : 대규모 메모리 제공
  • 스토리지 최적화 : 처리량 강점
  • 액셀러레이티드 : GPU 성능 강점

EC2 요금

  1. 온디맨드
  • 그냥 뭐 할 필요 없음. 사용한 만큼 나옴
  • 컴퓨팅 파워 늘리거나 줄이는거 유연
  • 사용된 인스턴스에 대해 지정된 시간당 요금만 내면 됨.
  1. 예약 인스턴스
  • 수요 안정적이고 사용량 예측 가능하면 이거 쓰면 좋음.
  • 온디맨드보다 훨 싸다.
  1. savings plan
  • 예약 인스턴스와 달리 최대한의 유연성 제공
  • 예약 인스턴스는 다 고정되지만 이건 아님
  • 좀 덜 저렴하긴 한데 리전, 인스턴스 패밀리, 사이즈등을 변경할 수 있음.
  1. 스팟 인스턴스
  • 미사용 EC2 인스턴스
  • 예비 Amazon EC2 컴퓨팅 요청 가능.

비관리형 서비스와 관리형 서비스 비교

  • 비관리형
    사용자가 조정, 내결함성, 가용성을 관리
    EC2 인스턴스에 데이터베이스 직접 설치하는 등 거의 모든것을 관여하고 제어
  • 관리형
    RDS 사용하는 것을 예시로 들 수 있음.
    데이터베이스 엔진 셋업, 고가용성을 위한 소프트웨어 직접 설치 필요 없어짐.

각각은 장단점 존재. 상황에 맞춰 적용하는 것이 중요

Amazon ECS

관리형 컨테이너 오케스트레이션 서비스

  • 컨테이너 실행 조정
  • 컨테이너 실행하는 노드 플릿을 유지 관리하고 확장
  • 인프라 구축의 복잡성을 제거

추가적으로 Kubernetes도 EKS라는 관리형 서비스로 제공.

ECS 기본 구조

  • EC2 인스턴스 클러스터를 우리가 관리
  • Amazon ECS등 관리형 서비스를 통해 시간 절약가능했지만 여전히 EC2 컴퓨팅 리소스등을 관리하고 있음.
  • 여기서 더 나아갈 수 없을까?
    • 서버리스.

Serverless 컴퓨팅

  • 서버를 관리하지 않고 애플리케이션과 서비스를 구축하고 실행
  • 프로비저닝, 확장, 관리할 필요가 없음.
  • 거의 모든 앱, 백엔드 서비스 구축 가능.
  • 사용량에 따라 알아서 조절이 된다.
  • 유휴 상태에 대한 비용 지불이 필요 없음.
  • 가용성 및 내결함성 내장.

AWS Lambda

  • 완전 관리형 컴퓨팅 서비스
    • 모든 컴퓨팅 리소스 관리.
  • 일정에 따라 또는 이벤트에 대한 응답으로 코드 실행
    • ex) Amazon S3 버킷 또는 Amazon DynamoDB 테이블의 데이터 변경
  • 사용자는 AWS Lambda가 지원하는 언어(e.g. python, java)중 하나로 코드를 제공하기만 하면 됨.
  • Lambda 함수는 코드 관련 종속성 및 구성으로 이루어짐.
  • Lambda 함수는 상태 비저장으로 코드 실행
    • 상태 비저장이란 Lambda 함수가 호출될 때만 기동되어 작업을 수행하고 그 외에는 기동되어 있지 않다는 것을 의미.
  • Lambda 함수가 실행중일 때만 비용 청구.
  • 이벤트에 대한 응답으로 Lambda 함수 사용이 가능.
    • 이벤트 소스는 이벤트를 게시하고 Lambda 함수는 이벤트를 처리하도록 하는 사용자 지정 코드.
    • 이벤트가 생성되면 Lambda 함수가 해당 이벤트에 대한 응답으로 자동 실행하게 됨.
  • 사용 사례
profile
왜 필요한지 질문하기

0개의 댓글