그해
그래도해야지
그해
  • 그래도 해야지 (71)
    • Java (26)
    • Spring (8)
    • Golang (3)
    • CS (0)
      • 서버 (9)
      • 네트워크 (4)
      • 운영체제 (1)
      • WEB (0)
      • 데이터베이스 (6)
      • 자료구조 (1)
      • 보안 (3)
      • 알고리즘 (9)
    • 삽질 (0)
    • 회고 및 생각 (0)
hELLO · Designed By 정상우.
그해

그래도해야지

CS/서버

AWS - EC2, Elastic Beanstalk, Fargate, ECR, Lambda, ECS

2023. 5. 8. 20:46

AWS EC2 (Cloud Compute Cloud)

AWS 에서 제공하는 가장 기본적인 형태의 클라우드 컴퓨팅 서비스 (= 클라우드 컴퓨터 한 대)

AWS EC2 인스턴스를 생성한다는 것은 AMI(이미지 )를 토대로 운영체제 , CPU, RAM 으로 구성된 컴퓨터를 빌리는 것이다.

  • 인스턴스 유형 : 인스턴스를 위한 CPU, 메모리, 스토리지 , 네트워킹 용량의 여러가지 구성 제공
  • auto scaling 지원 : 오토스케일링이란 CPU, 메모리, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링해 서버 사이즈를 자동으로 조절하는 서비스를 말한다. ec2는 갑자기 트래픽이 몰리면 자동으로 인스턴스를 자동으로 스케일링 기능을 제공한다.
  • 탄력적 IP 주소 (Elastice Ip address) : 인스턴스의 public ip는 유동적인 ip주소이다. 따라서 aws는 고정적인 공인 IP 주소를 할당할 수 있고 , 인터넷에 연결 할 수 있는 기능을 제공한다.

 

AWS Elastice Beanstalk

AWS 클라우드에서 어플리케이션을 신속하게 배포하고 관리할 수 있는 서비스

  • EC2 + 배포 버전 관리(롤백) + elastic lead balancer + 모니터링 + 로그 트래킹 + 오토 스케일링
  • 다양한 언어를 지원한다.
  • 구성요소
    • application : 내가 만든 앱, 개념적으로는 폴더와 유사하다.
    • envrionment : application 버전을 실행중인 aws 리소스 모음이다. 각 환경은 하나의 application 만 실행한다. 이 환경을 만들면 EC2 인스턴스가 자동으로 만들어진다.

 

AWS Fargate

기본 인프라를 관리할 필요없이 컨테이너를 배포하고 관리할 수 있는 컴퓨팅 엔진.

  • 별도로 인스턴스를 생성 관리하지 않고 , 도커 컨테이너를 실행시킬 수 있다.즉, 도커파일을 쉽게 올려 도커로 쉽게 서비스를 실행시켜주는 서비스
  • 이전에는 컨테이너를 실행하기 위해서는 컨테이너를 실행할 EC2(Instance)를 실행시켜야했지만, AWS Fargate는 이러한 수고를 덜어줌.
  • 하지만 치명적인 단점이 존재한다. 가격이 비싸다.

 

AWS ECR(Elastic Container Resitry)

ECR은 안전하고 확정 가능하고 신뢰할 수 있는 관리형 컨테이너 이미지 레지스트리 서비스

  • 쉽게 말하면 도커 파일을 저장하는 장소.
    • RDS(DB) - 데이터를 저장하는 장소
    • S3 - 사진, 이미지 등 파일을 저장하는 장소
    • ECR - 도커 이미지를 저장하는 장소

 

AWS ECS (Elastic Container Service)

 

AWS 에서 제공하는 컨테이너 오케스트레이션 서비스로 여러 어플리케이션 컨테이너를 쉽고 빠르게 실행하고, 컨테이너를 적절하게 분배 및 확장, 축소 할 수 있도록 도와주는 서비스

  • EC2와 Fargate 중 원하는 환경에서 실행 가능
  • (쿠버네티스 또는 ECS를 사용한다고 생각하기)
  • 용어
    • Task Definition : 컨테이너의 이미지 , CPU/메모리 리소스 할당 설정
    • Task : Task 안에는 한개 이상의 컨테이너들이 포함되어 있으며 ECS에서 컨테이너를 실행하는 최소 단위는 Task이다.
    • Service :Task들이 모여서 Life cycle을 관리하며, 오토스케일링과 로드밸런싱을 관리
    • cluster : Task가 배보되는 논리적인 그룹.
  • 도커 컴포즈의 상위 개념 , 도커 컴포즈를 하나의 task라고 생각하기

 

AWS Lambda

AWS에서 제공하는 서버 없이도 코드를 실행하실 수 있는 서버리스 컴퓨팅 서비스

서버가 없다는 뜻이 아니라 개발자가 서버의 존재를 신경쓸 필요가 없다는 뜻이다.

  • 코드를 돌리기위한 리소스를 임의로 지정할 수 있으며, 사용 시간에 따라 과금이 된다.
  • 장점
    • 서버의 사양, 개수를 신경쓸 필요가 없다.
    • 사용한 만큼만 지불한다.
  • 단점
    • 최대 15분, 최대 6개의 core, 최대 10GB가 정해져 있음.
    • 기본적으로 함수를 실행시키기 때문에 람다는 서버가 떠있는것이 아니라 15분에 죽어버린다.
    • cold start: 함수 실행시 cold start 문제로 초기 지연이 발생한다.
  • 람다 사용 예시
    • 코드를 계속 실행시키기 보다 특정한 시기에만 실행시키는 경우
    • 서버를 띄우지 않고 간단한 코드를 실행시키고 싶은 경우
    • request가 적은 서비스
    • 비동기 처리 (이미지 썸네일 생성)

 

'CS > 서버' 카테고리의 다른 글

Docker로 mysql 설치 및 접속하기  (0) 2023.05.23
Dockerfile 이용해서 이미지 만들고, 도커 허브에 배포하기  (0) 2023.05.23
AWS - VPC, NAT,ELB, S3, CloudFront  (0) 2023.05.08
도커(docker) - 가상화(VM)과 컨테이너(Container)  (0) 2023.04.05
도커(docker)  (0) 2023.04.03
    'CS/서버' 카테고리의 다른 글
    • Docker로 mysql 설치 및 접속하기
    • Dockerfile 이용해서 이미지 만들고, 도커 허브에 배포하기
    • AWS - VPC, NAT,ELB, S3, CloudFront
    • 도커(docker) - 가상화(VM)과 컨테이너(Container)
    그해
    그해
    그래도 공부는 해야지

    티스토리툴바