[SAA-C03] 1. Compute & Container & Serverless

2024. 12. 20. 16:59·SAA-C03
  •  

1 Compute

What is AWS EC2?

EC2 : Elastic Compute Cloud (IaaS)

  • 서버를 제공하는 IaaS 서비스
  • 서버랙, 네트워크 인프라, 서버 OS 등을 가상화하여 제공한다.

How can we make EC2?

<EC2를 만들기 위해 필요한 것들>

  • Amazon Machine Image(AMI)
  • Instance Type
  • Network to be deployed
  • Stoarge Capacity to Store Data
  • Security Group

Amazon Machine Image (AMI)

  • 이미지 = 템플릿파일
  • 템플릿 안에는 OS, SW 설정 등이 있고, 아마존에서는 pre-configured 된 AMI들을 제공한다.
  • 사용자는 EC2를 만들때 원하는 AMI의 이미지를 선택한다. (macOS, 아마존 리눅스 등)

Instance Type

  • EC2의 컴퓨팅에 대한 유형
  • 유형에 나오는 문자열별로 의미하는 바가 있음

Pricing Plan

  • EC2는 IaaS로, 서버를 빌리는 서비스
  • 서버를 빌리는 유형이 Pricing plan에 따라 다르다
  • On demand Instance
  • Reserved 예약 인스턴스
  • Saving Plan Instance
  • Spot 인스턴스
  • Dedicated 인스턴스

Auto Scaling

  • 서버 추가 및 제거를 상황에 맞게 자동으로 수행할 수 있음
  • Launch Templete에 AMI와 서버가 추가될 조건을 명시해두면, 서버가 조건에 맞게 자동으로 추가된다.
  • 기능은 무료이며, 사용자는 늘어난 인스턴스 비용만 지불하면 된다.
  • RDS, ECS 등 EC2외의 서비스에도 auto scaling 기능을 사용할 수 있다.
  • CPU 사용률에 따라 Auto Scaling → Target Tracking Policy

AWS Batch

  • 배치 컴퓨팅 서비스로, 필요한 시점에 최적의 컴퓨팅 리소스를 동적으로 프로비저닝함으로써 자원을 효율적으로 사용할 수 있다.
  • 크롬잡 → AWS 서비스로 제공할 수 있는 것이 AWS Batch
  • 해당 서버의 리소스를 고려해야하는데, 이를 AWS에서 동적으로 프로비저닝해주는 것
  • 배치 컴퓨팅 소프트웨어나 서버를 직접 관리할 필요 없이 배치를 운용할 수 있도록 서비스를 제공해준다 → 관리부담을 줄여주고, 비용효율적인 spot instance를 사용하여 예상절감 옵션도 제공

Elastic Beanstalk

  • 용량, 로드밸런싱, 스케일링, 상태 모니터링을 자동화해주는 컴퓨팅 리소스
  • PssS 형태로, 개발자들은 어플리케이션을 업로하기만 하면 되며, Elastic Beanstalk 에서 배포과정을 모두 관리한다.
  • EC2와 비교했을 때, 서버 운영과 운영 오버헤드를 현저히 줄일 수 있다.
  • 서비스는 인프라 담당 인력이 부족한 소규모 회사에서 유용하게 사용할 수 있다.

AWS Outpost

  • 사용자가 온프레미스 환경에서 AWS 환경과 같은 서비스를 사용할 수 있도록 해주는 것
  • 즉, AWS를 프라이빗 클라우드화 하여 제공하는 서비스이다.
  • 데이터센터에 설치할 수 있는 서버기기 세트가 제공되며, 내부에는 EC2, ECS, RDS, S3와 같은 서비스가 동작하도록 만들어져있다. → 이를 통해 AWS와 인터넷으로 연결하면 AWS outpost를 AWS의 새로운 가용영역 AZ로 사용할 수 있다.
  • 보안이 중요하여 데이터가 외부 서버로 이전되면 안되는 서비스에 사용할 수 있다.

VMware cloud on AWS

  • AWS를 통한 VMware 기반 워크로드 마이그레이션 최적화를 위한 VMware Cloud on AWS
  • vmware 전통적인 가상화 솔루션으로, 온프레미스 환경에서 가상화를 제공하는 솔루션임
  • 이를 aws 서비스로 마이그레이션을 할 수 있는데, aws는 대규모 vmware 고객을 지원한 풍부한 경험을 가진 가장 오래된 클라우드 제공업체
  • aws에서는 cloud로의 전환을 단순화할 수 있는 검증된 마이그레이션 및 현대화 옵션을 제공한다.

AWS Wavelength

  • 5G 엣지 컴퓨팅 인프라이다. 5G 네트워크의 고대역폭과 초저지연성 aws 컴퓨팅 및 스토리지 서비스와 결합하여 혁신적인 어플리케이션을 지원
  • 게임스트리밍, AR, VR 등 초저지연이 필요한 고성능 모바일 어플리케이션에 이상적이다
  • IoT, 라이브 미디어 제작산업 자동화 등 저지연이 필요한 엔터프라이즈 용도에 적합하다
  • 추론, 반응형 분석 등을 데이터 소스 근처에서 처리할 수 있도록 지원하는 서비스

M5, R5 EC2 인스턴스

M5 인스턴스:

  • 용도: 범용(General Purpose) 인스턴스.
  • 특징:

R5 인스턴스:

  • 용도: 메모리 최적화 인스턴스.
  • 특징:

2 Container

What is Container?

  • 어떤 응용프로그램을 실행할지 미리 정의해둔 파일을 바탕으로 실행하는 것이 컨테이너 이미지
  • 유저가 담당하는 부분으로, 컨테이너 이미지를 생성할 수 있는 컨테이너 런타임관리에는 ‘도커’라는 솔루션
  • 컨테이너는 서버 가상화보다 훨씬 가볍고 빠르다. (컨테이너 안에 든것이 VM보다 가볍기 때문에)
  • 주의할 점 : 컨테이너가 종료되면 안에 저장된 내용도 사라지므로, 컨테이너가 실행될 호스트서버를 마운트해서 작업내용을 저장해야한다.

What is Amazon ECS, EKS, ECR

  • ECS(Elastic Container Service) : 도커 컨테이너의 실행, 중지를 간소화하는 완전 관리형 컨테이너 오케스트레이션 서비스
  • EKS(Elastic Kubernetes Service) : AWS에서 쿠버네티스를 쉽게 실행할 수 있는 관리형 서비스
  • ECR(Elastic Container Registry) : 개발자가 컨테이너 이미지를 저장, 관리, 배포를 쉽게 해주는 완전 관리형 도커 컨테이너 저장소

*여러 컨테이너를 유기적으로 결합해 하나의 컨테이너처럼 관리 →컨테이너 오케스트레이션으로 운영부하를 줄일 수 있다.

  • ECS, EKS의 가장 큰 차이점 → 컨테이너 오케스트레이션 기능을 AWS가 담당하는지, 쿠버네티스가 담당하느냐의 차이
  • ECR은 컨테이너 이미지 레지스트리로, 사용자가 정의된 컨테이너 이미지를 AWS에서 관리할 수 있고 ECS, EKS에 쉽게 배포할 수 있다.
  • 각 컨테이너는 노드에 포함되며, 노드는 컨테이너를 실행하는 서버라고 보면 된다. 이 서버는 EC2, Fargate를 활용할 수 있다.

IAM - taskRoleArn

  • Amazon ECS 작업(Task)이 실행중에 AWS 서비스(S3, DynamoDB 등)에 접근할 때 사용하는 IAM 역할
  • 작업에서 실행되는 컨테이너가 AWS 리소스에 접근하려면, 이 IAM 역할에 해당 리소스에 대한 권한이 명시되어있어야함

기본 원리

  • ECS 작업은 기본적으로 AWS 리소스에 대한 접근 권한이 없음
  • Amazon ECS는 IAM 역할을 사용하여 작업이 AWS 리소스에 접근할 수 있도록 권한을 위임
  • taskRoleArn은 작업에 특정 권한을 부여하기 위한 IAM 역할을 지정하는 속성

예시 시나리오

  • Amazon ECS 작업(Task)이 Amazon S3에서 데이터를 읽거나 쓰는 작업 수행.
  • Amazon ECS 작업(Task)이 Amazon DynamoDB에서 데이터를 읽는 작업 수행.
  • Amazon ECS 작업(Task)이 AWS Secrets Manager에서 데이터베이스 자격 증명을 가져오는 작업 수행.

3 Serverless

  • 서버리스란, 서버가 없다는 뜻이 아니라 AWS가 논리 서버와 서버 관련 인프라를 관리하므로 사용자가 서버를 관리할 필요가 없다는 뜻
  • 사용자는 로직에만 집중하면 된다.

AWS Lambda

  • AWS Lambda는 서버를 프로비저닝 또는 관리하지 않고도 실제 모든 유형의 어플리케이션과 백엔드서버에 대한 코드를 실행할 수 있는 이벤트 중심의 컴퓨팅 서비스
  • 람다 사용자는 람다가 지원하는 언어 런타임 중 하나로 코드를 작성하기만 하면 된다.(파이썬, C#, java, powershell 등)
  • 사용자는 람다의 원하는 함수를 작성하고, 필요시에 함수를 사용할 수 있다. 람다는 이벤트에 의해 자동으로 트리거되는 코드실행환경을 제공하며, 이 기능을 구현하기 위해 SNS, SQS 환경과 같이 사용한다.
  • 서버리스 워크로드를 ‘배포’하는 경우, ‘함수실행 역할을 추가’하는 것보다 다른 계정에서도 쓸 수 있는 ‘리소스 기반 정책’이 유리함
  • Lambda는 짧은 작업에 적합하며 초 단위로 과금됩니다.

AWS Fargate

  • 서버리스 서비스로, 서버 인프라는 AWS에서 관리한다.
  • Node를 EC2가 아닌 Fargate로 사용하면, 훨씬 더 ECS EKS를 운용 오버헤드를 줄이면서 사용할 수 있다.

AWS Appsync

  • 서버리스 완전 관리형 GraphQL 서비스
  • 앱싱크를 사용하면 클라이언트 어플리케이션과 서버 사이의 데이터 통신을 간편하게 할 수 있다.
  • GraphQL은 클라이언트가 필요한 데이터만 요청하고 받을 수 있는 쿼리 언어
  • AWS 앱싱크는 이러한 GraphQL API를 쉽게 생성하고 관리할 수 있도록 도와준다.
  • 예를 들어, 도서관 모바일앱에서 사용자들이 책과 저자 정보를 조회하고 싶을 때 REST API를 사용할 떄 책 정보와 저자정보를 얻기 위해서는 두개의 서로 다른 엔드포인트를 호출해야할 수 있지만, GraphQL을 사용하면 클라이언트는 필요한 모든 데이터를 한번의 요청으로 받을 수 있다. 이를 서버리스로 관리해주는 서비스가 AWS 앱싱크이다.

 

 

 

 

참고: https://youtu.be/zBwikdaBqGA?si=iFIlbooO8_Xq5jTU

'SAA-C03' 카테고리의 다른 글

[SAA-C03] 3. Database  (1) 2024.12.26
[SAA-C03] 2. Storage  (4) 2024.12.20
[SAA-C03] 0. What is AWS?  (2) 2024.12.20
[SAA-C03]시험범위, Service Overview  (0) 2024.12.20
[SAA-C03] SAA-C03 합격 후기  (4) 2024.12.20
'SAA-C03' 카테고리의 다른 글
  • [SAA-C03] 3. Database
  • [SAA-C03] 2. Storage
  • [SAA-C03] 0. What is AWS?
  • [SAA-C03]시험범위, Service Overview
공부하는 나무꾼
공부하는 나무꾼
  • 공부하는 나무꾼
    헤맨 만큼 내 땅이다
    공부하는 나무꾼
  • 전체
    오늘
    어제
  • 글쓰기/관리
    • 분류 전체보기
      • AWS
      • SAA-C03
      • 네트워크 보안
      • 최신정보보안이론
      • 컴퓨터네트워크
      • OpenFaaS
      • C++
      • Java
      • HTML, CSS
      • 자료구조
      • 알고리즘
      • 정보보안인재양성
      • [MAC]트러블슈팅&Tip
      • 공부
      • Web(Django)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    등록번호
    AWS
    클라우드
    WAS
    cloud
    웹서버
    aws-c03
    Web Server
    웹애플리케이션서버
    웹클라이언트
    web application server
    SAA-C03
    자격증
    java #자바 #객체지향프로그래밍 #복습
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
공부하는 나무꾼
[SAA-C03] 1. Compute & Container & Serverless
상단으로

티스토리툴바