AWS 컴퓨팅 서비스

zooy·2025년 2월 4일
0

cloud

목록 보기
11/12
post-thumbnail

이번 포스팅에서는 AWS의 대표적인 컴퓨팅 서비스 Amazon EC2를 중심으로 컨테이너 서비스, 서버리스 컴퓨팅, 오케스트레이션 서비스 등을 정리해보겠습니다.

AWS 컴퓨팅 서비스

Amazon Web Service는 다양한 컴퓨팅 서비스를 제공합니다.

  • Amazon EC2
  • Amazon EC2 Auto Scaling
  • Amazon Elastic Container Registry(Amazon ECR)
  • Amazon Clastic Container Service(Amazon ECS)
  • AWS Elastic Beanstalk
  • AWS Lambda
  • Amazon Elastic Kubernetes Service(Amazon EKS)

컴퓨팅 서비스 분류

  • Amazon EC2 = 인스턴스 기반 가상 머신, 서비스형 인프라(IaaS)
  • AWS Lambda = 서버리스 컴퓨팅, 함수 기반 (관리할 필요 X)
  • Amazon ECS, EKS, ECR = 컨테이너 기반 컴퓨팅, 인스턴스
  • AWS Elastic Beanstalk = 서비스형 플랫폼(PaaS), 웹 애플리케이션
    (신속한 배포 가능)

Amazon EC2란?

Amazon Elastic Compute Cloud는 클라우드에서 가상 서버를 생성하고 운영할 수 있도록 도와주는 AWS의 대표적인 컴퓨팅 서비스입니다. 사용자는 EC2 인스턴스를 실행하여 애플리케이션을 배포하고, 필요에 따라 확장 및 축소할 수 있습니다.
(AMI에서 인스턴스 시작)

Amazon EC2를 사용하는 이유

1. 유연한 확장성: 수요에 따라 서버의 크기와 개수 조정 가능
2. 비용 효율성: 사용한 만큼만 비용을 지불하는 요금제
3. 다양한 인스턴스 타입: 일반적인 애플리케이션부터 고성능 컴퓨팅까지 지원
4. 보안 및 관리 기능 제공: IAM을 활용한 권한 관리, VPC 네트워크 설정 등 지원

Amazon EC2 기본 기능

- 온디맨드 인스턴스: 사용한 만큼만 비용을 지불하는 방식
- 스팟 인스턴스: 남는 리소스를 저렴한 가격에 활용 가능
- Auto Scaling: 트래픽에 따라 자동으로 인스턴스 수를 조절
- ELB(Elastic Load Balancing): 부하를 여러 인스턴스로 분산
- EBS(Elastic Block Store): EC2 인스턴스의 영구적인 스토리지 제공

Amazon EC2 시작하며 선택하는 사항

  1. AMI
  2. 인스턴스 유형
  3. 네트워크 설정
  4. IAM 역할
  5. 사용자 데이터
  6. 스토리지 옵션
  7. 태그(메타데이터를 연결하는 방법, 키/값으로 구성)
  8. 보안 그룹(방화벽 규칙)
  9. 키 페어(퍼블릭/프라이빗 키)

AMI

Amazon Machine Image(AMI)는 EC2 인스턴스를 시작하는 데 필요한 정보를 제공하는 템플릿입니다. 운영체제를 포함하고 있으며, 일부 소프트웨어가 사전에 설치되어 있는 경우가 많습니다. (인스턴스의 루트 볼륨에 대한 템플릿)

스토리지 옵션

  1. Amazon EBS: 블록 수준 스토리지 볼륨, 인스턴스 중지한 후 다시 시작 가능하며 데이터가 그대로 유지됨
  2. Amazon EC2 인스턴스 스토어: 인스턴스가 중지되면 저장된 데이터가 삭제됨

컨테이너 서비스

컨테이너는 운영체제를 가상화하는 기술 중 하나로, 가상 머신보다 가볍고 빠른 배포가 가능합니다. AWS에서는 컨테이너 기술을 활용할 수 있는 다양한 서비스가 제공됩니다.

컨테이너란?

  • 운영체제(OS)를 가상화하는 방법 중 하나
  • 가상 머신보다 가볍고 빠름
  • 독립적인 환경에서 애플리케이션 실행이 가능

컨테이너의 주요 이점

  1. 반복성 지원: 환경이 동일하므로 개발/테스트/운영에서 일관된 결과 보장
  2. 일관성 유지: 어디서 실행하든 동일한 환경에서 작동 가능
  3. 빠른 배포: 가상 머신보다 작은 크기로 배포 속도가 빠름

Docker(도커)

Docker는 애플리케이션을 컨테이너로 패키징하는 플랫폼으로, 간단한 명령어로 실행하고 관리할 수 있습니다.

  • Docker 이미지: 컨테이너 실행을 위한 템플릿 역할
  • Docker 컨테이너: 이미지 기반으로 실행되는 독립적인 환경
  • 가상 머신과의 차이: 컨테이너는 OS 커널을 공유하지만, 가상 머신은 별도의 OS를 포함하고 있음

AWS 컨테이너 서비스

Amazon ECS(Elastic Container Service)

  • AWS에서 제공하는 완전관리형 컨테이너 오케스트레이션 서비스
  • Docker 컨테이너 실행을 오케스트레이션하고, 노드 유지 관리 및 확장 가능
  • 인프라 구축의 복잡성을 해소함

Kubernetes(K8s)

  • 컨테이너 오케스트레이션을 위한 오픈 소스 소프트웨어
  • 대규모 컨테이너 배포 및 관리를 지원함
  • 온프레미스 및 클라우드 환경에서 동일한 도구 사용 가능

Amazon EKS(Elastic Kubernetes Service)

  • AWS에서 쿠버네티스를 실행할 수 있도록 지원하는 서비스
  • 쿠버네티스의 호환 인증을 제공하여 간편한 마이그레이션 지원
  • Linux 및 Windows 컨테이너를 지원함
  • Kubernetes 클러스터를 자동으로 프로비저닝하고 관리함

Amazon ECR(Elastic Container Registry)

  • Docker 컨테이너 이미지를 저장, 관리, 배포할 수 있는 완전관리형
    Docker 레지스트리
  • AWS IAM과 연동되어 보안이 강화됨

서버리스 컴퓨팅

AWS Lambda

AWS Lambda는 서버 없이 코드를 실행할 수 있는 이벤트 기반 서버리스 컴퓨팅 서비스입니다.

Lambda의 주요 이점

  1. 완전한 자동 관리: 인프라 관리 없이 코드 실행 가능
  2. 내결함성 제공: 인스턴스 장애 발생 시 자동 복구
  3. 사용량 기반 요금: 사용한 만큼만 비용 지불
  4. 다양한 프로그래밍 언어 지원
  5. 자동 확장: 트래픽 증가에 따라 자동으로 확장

Lambda 함수란?

  • 특정 이벤트 발생 시 실행되는 사용자 지정 코드
  • API Gateway, S3, DynamoDB 등과 연동 가능
  • 이벤트 기반 실행(ex: 파일 업로드 시 자동 실행)

AWS 관리형 애플리케이션 서비스

AWS Elastic Beanstalk

Elastic Beanstalk는 웹 애플리케이션을 쉽게 배포하고 실행할 수 있도록 도와주는 관리형 서비스입니다.

Elastic Beanstalk의 주요 기능

  • 인프라 자동 관리: 서버 설정, 배포, 로드 밸런싱, 자동 조정 등을 자동화
  • 빠른 배포: 코드 업로드만으로 간단하게 애플리케이션 배포 가능
  • 자동 모니터링: 애플리케이션 상태 확인 및 로깅 제공
  • 비용 효율적: 기본 리소스 비용만 청구, 추가 요금 없음
  • 다양한 언어 지원: Python, Java, Node.js 등 인기 있는 플랫폼 지원

Elastic Beanstalk 사용하는 이유

  • 개발자가 인프라 설정 없이 코드에 집중할 수 있도록 지원
  • 배포 속도 증가 및 운영 비용 절감
  • 애플리케이션 규모 확장 시 자동 확장 기능 활용 가능

지금까지 AWS 컴퓨팅 서비스에 대해서 알아보았습니다. 이는 사용자의 요구 사항에 맞춰 유연하게 선택할 수 있으며, 클라우드 인프라의 복잡성을 줄이고 운영 효율성을 극대화하는 데 도움이 됩니다.

오늘도 하고픈걸 향해 떠나는 zooy였습니다.
감사합니다 :)

profile
하고픈걸 향해서

0개의 댓글

관련 채용 정보