Developer MJ

[AWS] 시스템 운영 - 컴퓨팅 본문

AWS

[AWS] 시스템 운영 - 컴퓨팅

MIN JOON 2019. 1. 24. 22:20

컴퓨팅
  • 서버
    • AMI - EC2 인스턴스를 시작할 때 사용하는 소스 Machine Image
      • 인스턴스에 새로운 유저의 public/private 키 페어가 등록된 상태로 AMI를 생성하면,
        새로운 인스턴스를 생성할 때 동일한 유저를 인스턴스에 등록하는 반복 행위 등을 제거 가능하다.
    • User Data - 인스턴스 생성할 때, 스크립트를 추가해 인스턴스 초기생성과 동시에 세팅
    • Spot 인스턴스 - AWS 클라우드 내 잉여 리소스를 사용하는 저비용 인스턴스
      • 잉여 리소스가 부족할 경우 비용이 상승하고, 잉여 리소스가 없을 경우 인스턴스가 종료되므로
        배치작업이나 오토스케일링 시 효율적이다.
    • 전용 호스트 - 물리적 호스트를 독점하여 사용
  • 조정
    • ELB - 트래픽 자동 분산 서비스
      • 최초에 2개의 로드 밸런서가 생성되며 AZ에 종속성을 갖는다.
      • ENI IP - 요청이 들어오면 ELB가 내부적으로 인스턴스를 선택할 수 있도록 하는 IP
      • 종류
        • ALB - Layer 7 에서 HTTP/HTTPS 로드 밸런싱
        • NLB - Layer 4에서 TCP 로드 밸런싱, ENI IP 고정가능
        • CLB - L7과 L4에서 작동하는 기본적인 로드 밸런싱
    • EC2 Auto Scaling - 인스턴스를 자동으로 시작 또는 종료하는 무료 서비스
      • CPU 사용률(상태) , 일정 등 다양한 기준으로 컴퓨팅 파워를 조절할 때나 Blue-Green 배포 등에 효율적
    • Route 53 - DNS 서비스
      • 단순, 가중치, 지연시간, 사용자 위치, 리소스 위치 등 다양한 요인을 기준으로 정책을 세울수 있다.
  • 컨테이너 및 서버리스
    • 컨테이너 - 프로세스에서 어플리케이션과 종속 항목을 실행하게 해주는 OS 가상화 기술
      • ECS - AWS 서비스와 호환이 잘되는 Docker 컨테이너 관리 서비스로 EKS 대비 저렴
      • Kubernetes - 오픈소스 Docker 컨테이너 관리 솔루션
      • EKS - 관리형 Kubernetes 서비스로 다른 클라우드로 이전하기에 용이
      • ECR - 컨테이너 이미지를 관리 및 배포할 수 있게 해주는 관리형 컨테이너 레지스트리 서비스
    • 서버리스
      • Lambda - 서버를 프로비저닝하거나 관리하지 않고 코드(함수)를 실행하게 해주는 서비스
        • 코드 작성시, 역할을 부여하여 리소스 접근권한을 부여한다.
        • 함수를 엔드포인트로 호출하는 형태로 이벤트 성 API 호출에 유리하다.
      • API Gateway - API 생성, 게시, 유지, 관리 등을 지원하는 API 서버역할을 하는 서비스
      • Batch - 수십만 개의 작업을 처리하는 완전 관리형 배치작업을 하는 컴퓨팅 서비스
  • 데이터베이스
    • RDS - 관계형 DB
    • Aurora - MySQL 및 PostgreSQL에 호환되는 관계형 DB
    • DynamoDB - NoSQL DB
    • ElastiCache - 관리형 인 메모리 DB (Cache용)
    • Neptune - 클라우드 용 그래프 DB