기타 컴퓨팅 서비스

EBAB!·2023년 7월 7일
0

AWS 자격증 준비

목록 보기
9/16
post-thumbnail

Amazon ECS

Container

  • 랩탑과 같은 ALL IN ONE
    • 랩탑 / 데스크탑
      • 데스크탑 : 컴퓨터와 같이 여러 외부 기기가 필요 (본체, 모니터, 키보드, 마우스 등)
        • 휴대성, 이동성 x
      • 랩탑 : 노트북과 같이 사용에 필요한 모든 기기를 내장
        • 휴대용 / 이동성 o
  • 소프트웨어 어플리케이션을 실행하기 위해 필요한 모든 것을 담은 패키지
    • 코드, OS, 설정 파일, 의존 파일(라이브러리 등)
  • 대표적인 컨테이너 관리 플랫폼 : Docker, Kubernates(K8s)
  • 구조

ECS

AWS 설명 : 컨테이너화된 애플리케이션의 손쉬운 배포, 관리 및 조정에 도움이 되는 완전관리형 컨테이너 오케스트레이션 서비스입니다.

  • AWS의 컨테이너 오케스트레이션 서비스
    • 오케스트레이션 : 컴퓨터 시스템과 애플리케이션, 서비스의 자동화된 구성, 관리, 조정
      을 의미
  • 컨테이너를 실행하고 배포하고 관리
  • 두 가지 모드
    • EC2 : EC2를 활용한 컨테이너 서비스
    • Fargate : Serverless 컨테이너 서비스
  • AWS Elastic Kubernates Service(EKS)
    • AWS가 제공하는 Kubernates를 활용한 컨테이너 관리 시스템
  • 다른 AWS 서비스와 연동 가능
    • ECR(Elastic Container Registry) : AWS의 Docker Hub
    • ALB, CloudWatch
  • ECS EC2 vs Fargate 차이


AWS Elastic Beanstalk

AWS 설명 : AWS Elastic Beanstalk는 Java, .NET, PHP,Node.js, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, Passenger, IIS와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있는 서비스입니다.

  • 인프라의 걱정없이 웹 어플리케이션 / 서비스를 배포, 운영하는 서비스 (PaaS)
  • 주 역할
    • 인프라 프로비전 (EC2, RDS, S3, Auto Scaling, ELB 등)
    • 어플리케이션 스택의 관리(OS 패칭, 업데이트 등)
    • 모니터링 및 Health Check
  • 지원 언어 : Java, PHP, Python ,Ruby, Go, .NET, Node.js
  • Apache Tomcat, Docker 웹 어플리케이션 지원
  • 주로 세밀한 설정보다 빠르고 간단한 어플리케이션 배포에 사용

사용 방법

Elastic Beanstalk → 시작하기

  • 플랫폼 선택 : Docker, Python, Node.js 등등
  • 플랫폼 브런치 : 플랫폼 별로 서비스하는 이미지 선택
  • 애플리케이션 코드 : 백엔드를 만들어뒀다면 로컬 파일을 올리기 가능

리소스 정리

  1. 어플리케이션 작업 → 삭제
  2. S3는 삭제 방지가 되어 자동 삭제 x. 수동 삭제하기
    1. S3 → elastic beanstalk 검색 → 버킷 클릭
    2. 버킷 정책 삭제
    3. 객체 삭제
    4. 버킷 삭제

Amazon Lightsail

AWS 설명 : Amazon Lightsail은 사용하기 쉬운 가상 프라이빗 서버(VPS) 인스턴스, 컨테이너, 스토리지, DB 등을 효율적인 월별 가격으로 제공합니다.

  • 간단하게 웹 어플리케이션 및 웹사이트를 구축하고 배포할 수 있는 서비스
  • 클라우드 환경에 익숙하지 않은 사용자를 위한 서비스
  • 사용 요금 예측 가능
  • 사용 사례 : 간단한 (웹 사이트, 웹 어플리케이션, 백엔드 서버, 컨테이너 서버)

사용 방법

  1. Lightsail → 인스턴스 생성 → 서비스 선택

Amazon Lambda

AWS 설명 : AWS Lambda는 서버를 프로비저닝 또는 관리하지 않고도 실제로 모든 유형의 애플리케이션 또는 백엔드 서비스에 대한 코드를 실행할 수 있는 이벤트 중심의 서버리스 컴퓨팅 서비스입니다. 200개가 넘는 AWS 서비스와 서비스형 소프트웨어(SaaS) 애플리케이션에서 Lambda를 트리거할 수 있으면 사용한 만큼만 지불하면 됩니다.

  • AWS의 Serverless 컴퓨팅 서비스
    • Serverless 서비스
      • 서버의 관리와 프로비전 없이 코드를 실행할 수 있음
      • 사용한 만큼만 비용 지불
      • 고가용성과 장애 내구성이 확보되어 있음
      • 빠르게 배포하고 업데이트 가능
      • Serverless 환경을 잘 활용할 수 있는 아키텍쳐가 필요
        • 병렬 처리, 이벤트 기반 아키텍쳐
  • 다양한 AWS 서비스에서 Lambda를 활용
  • 다양한 언어 지원
    • Java, Python ,Ruby, Go, Node.js, C#
  • 저렴한 가격 : 처음 100만건 무료, 이후 100만건당 $0.2 (300~400원)

Lambda 2가지 호출방법

Event 기반

  • 새로운 앱을 추가할 때 주문 앱을 수정할 필요가 없음
  • 이벤트 특성
    1. 명령이 아닌 관찰한 내용에 집중
      • 명령 : 생성 주체가 대상의 행동에 대해 관심을 가지고 회신을 기다림
      • 이벤트 : 생성 주체는 대상의 행동에 관심이 없음
      • 차를 주체라 하면, 교통 경찰의 신호 → 명령 / 신호등 → 이벤트
    2. 구성 요소
      • 사건의 내용
      • 사건의 발생 시간 및 주체
      • 불변성 : 과거에 생성된 이벤트는 변경될 수 없음을 보장
  • 구조

AWS의 다른 서비스 앱에서 직접 or API Gateway를 통한 호출

사용 방법

  1. IAM → 역할 → 역할 만들기
    • 사용 사례 : Lambda
    • 권한 정책 : AmazonS3FullAccess, CloudWatchFullAccess(처리 로그를 위해)
  2. Lambda → 함수 → 함수 생성
    • 런타임 : 알아서
    • 실행 역할 : 기존 역할 사용 → IAM에서 생성한 역할 선택
  3. 런타임 환경에 맞는 코드 업로드
    • 패키지를 zip파일로 만들어서 업로드
  4. S3 버킷 선택 → 이벤트 알림 생성
    • 접두사 : images/ (해당 폴더에 이벤트가 발생 시 알림)
    • 대상 : Lambda 함수
    • Lambda 함수 : 생성한 람다 함수 선택
  5. S3 버킷에서 images 폴더 생성 후 이벤트 처리 확인

Amazon WorkSpaces

AWS 설명 : 사용자를 위한 가상의 클라우드 기반 Microsfot Windows 또는 Amazon Linux Desktop을 프로비저닝할 수 있습니다.

  • AWS의 가상 클라우드 기반 데스크톱
  • 지속적인 데스크탑 환경 제공
  • 원하는 하드웨어 설정과 소프트웨어 설정에 따라 데스크톱 컴퓨터 구성 가능
  • 보유한 애플리케이션 라이센스를 사용하거나 마켓플레이스 이용 가능
  • 보안 : MFA 사용 가능, IP 제한 가능

AWS Batch

AWS 설명 : AWS Batch를 사용하면 개발자, 과학자 및 엔지니어가 AWS에서 수 많은 배치 컴퓨팅 작업을 효율적으로 손쉽게 할 수 있습니다. AWS Batch는 제출된 배치 작업의 볼륨 및 특정 리소스 요구 사항에 따라 최적의 수량 및 유형의 컴퓨팅 리소스(ex. CPU or 메모리 최적화 인스턴스)를 동적으로 프로비저닝 합니다.

  • 대규모의 워크로드를 작은 단위로 나누어서 작업해주는 서비스
  • 워크로드를 처리하는 리소스의 프로비전을 계획/예약/실행
    • AWS Fargate, Amazon EC2, 스팟 인스턴스 등
  • 완전 관리형
    • 설치, 관리 필요가 없음
    • 다른 AWS 서비스와 연동 가능
      • ex. S3 DynamoDB 등과 같은 데이터스터에서 데이터를 가져오기

Amazon Athena

AWS 설명 : 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스입니다. Athena는 서버리스 서비스이므로 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하면 됩니다.

  • 인터렉티브 쿼리를 통해 S3의 데이터를 조회할 수 있는 서비스
    • S3를 SQL 기반의 언어로 조회
  • 별도의 프로비저닝 혹은 서버 없이 동작
  • 사용 사례
    • 여러 로그 파일이 저장된 S3에서 필요한 데이터를 조회
    • 정형화된 메타데이터 혹은 저장데이터를 조회
    • 이벤트 데이터에서 필요한 정보를 추출(A/B 테스트) 등
profile
공부!

0개의 댓글

관련 채용 정보