[CLOUD] AWS Services

Ryu whi young·2025년 11월 9일

Cloud

목록 보기
1/6

AWS는 많은 서비스를 제공한다.

AWS에서 가장 많이 사용하고, 인기있는 서비스 6종을 정리해 보았다.

Computing Services

EC2 (Elastic Compute Cloud)

AWS에서 가장 기본적인 인프라로 독립된 컴퓨터를 제공해주는 서비스이다.

초기 세팅 비용이 없다는 특징을 가지고 있다.

사용자가 필요한 용량만 사용할 수 있어 비용을 아낄 수 있다.

인터넷을 사용하여 바로 접속할 수 있고, AMI(이미지)기능도 사용할 수 있다.

이렇게 하드웨어 없이 쉽게 빠르게 애플리케이션을 배포할 수 있다.

EC2 특징 정리

  • 요구사항 변화에 따라 컴퓨팅 파워를 조정할 수 있다.
  • 사용한 만큼만 비용을 지불한다.
  • 리눅스, 윈도우 OS 사용할 수 있다.
  • 다양한 분야에서 최적화된 서버를 구성할 수 있다. (머신러닝, 웹서버 등)
  • 다른 AWS 서비스와 연동이 가능하다.
  • 가상 머신으로 제공되고, 인스턴스라고 불린다.

EC2 인스턴스

인스턴스 : 클라우드에서 사용하는 가상 컴퓨터로 연산을 위한 하드웨어 적인 부분을 담당한다.

컴퓨터 마다 사용하는 이유가 다른데 인스턴스 유형도 비슷하다.

인스턴스 유형 : 애플리케이션 종류, 목적에 따라 적합한 리소스 조합을 선택할 수 있는 유연성을 제공하는 서비스이다.

AMI

컴퓨터를 사용하면 파일 저장, 프로그램 설치 등 많은 변경 사항이 생기게 되는데 이 OS 상태를 그대로 저장하는 기능을 이미지 (AMI) 라고 한다.

운영체제 백업 설정이라고 생각하면 편하다.

이미지를 사용하면 기존 이미지에 저장된 상태와 같은 상태로 컴퓨터가 만들어져 빠르게 생성할 수 있다.

따라서 반복하는 설치 작업을 줄일 수 있다.

Auto Scaling

CPU, 메모리, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링 하여 서버 사이즈를 자동으로 조절하는 것을 말한다.

사용자는 예상하지 못한 부하에 효과적으로 대응할 수 있다.

최대한 저렴하게, 안정적으로 서버를 유지할 수 있다.

스케일링

오토 스케일링의 핵심 기술인 스케일링 기술은 인스턴스, 컴퓨팅 파워를 늘리는 것이다.

대표적으로 scale upscale out이 있다.

scale up

만약 인스턴스의 성능을 10배 늘려야 한다고 가정하자.

scale up은 무식하게 10배 더 큰 인스턴스를 사용하는 방법이다.

하지만 성능과 비용이 비례하지 않는다는 단점을 가지고 있다.

scale out

위 scale up의 물리적인 문제를 해결하기 위해 고안된 방법이다.

인스턴스의 규모를 10배 늘려 해결한다.

따라서 성능도 똑같이 10배 늘어나게 된다.

클라우드 환경에서는 scale out을 항상 염두해 두고, 유연하게 사용해야 한다.

scale in

scale out으로 늘린 인스턴스를 다시 줄이는 행위이다.

오토 스케일링

이러한 scale out, in 기술을 자동화한 서비스가 오토 스케일링이다.

application을 모니터링 하고 용량을 매트릭 값에 따라 자동을 조정하여 적은 비용으로 안정적이고, 에측 가능한 성능을 유지한다.

Lambda (Serverless Computing)

서버리스 컴퓨팅 FaaS 상품으로 개발자가 서버에 집중하지 않고, 로직에 집중할 수 있도록 클라우드 업체가 서버 인프라를 관리하는 서비스 이다.

서버리스 아키택쳐 : 서버를 직접 관리 하지 않아도 되는 아키택쳐를 말한다.

서버리스 원리

  1. 개발자가 개발한 함수는 평소에 휴면 상태에 들어간다.
  2. 사용자 요청이 들어온 순간 서버리스가 함수를 깨워 요청 작업을 수행하기 한다.
  3. 모든 요청이 완료되면 다시 함수를 휴면 상태로 돌려보낸다.

Lambda 특징

대기 상태에 있던 함수를 제외하고, 실제 사용되었던 자원에 대해 청구하기 때문에 경제적이다.

100만개의 함수를 실행 시켜도 280원 청구된다.

사용 유저가 늘어나면, 실행 함수를 늘려 동작 시키기 때문에 성능적인 부분에서 문제가 되지 않는다.

Networking Services

VPC

VPC는 보안적인 이유로 매우 많이 사용한다.

VPC를 사용하면, 외부에서 접근할 수 없는 private한 네트워크 환경을 만들 수 있다.

따라서 EC2, RDS 같은 컴퓨팅 리소스를 보안적으로 안전하게 사용할 수 있다.

예를 들어 하나의 EC2 인스턴스는 public(인터넷에 자유롭게 접근) 으로 하나의 인스턴스는 private(안전, 비공개) 으로 사용하고 싶을 때, VPC를 사용하여 구현할 수 있다.

특징

가상의 네트워크 공간을 의미하며, 컴퓨터끼리 서로 통신할 수 있게 하는 서비스 이다.

EC2, RDS가 서로 통신해야 한다면, VPC 위에 생성하여 세팅해야 한다.

현재는 자동적으로 기본적인 VPC를 생성해 준다.

VPC는 크기를 정할 수 있는데, IP 주소 범위 (CIDR 표기)로 정할 수 있다.

VPC를 생성하면, 여러 서비스를 IP주소에 따라 적용할 수 있다.

Storage Services

S3 (Simple Storage Service)

데이터를 온라인으로 오브젝트 형태로 저장해 두는 스토리지 서비스를 말한다.

특징

HTTP/HTTPS를 통한 API가 사용되기 때문에 데이터를 온라인에 저장할 수 있다.

때문에 개발자가 쉽게 웹 규모 컴퓨팅 작업을 수행할 수 있다.

EC2, EBS 보다 비용이 저렴하고, 저장할 수 있는 용량은 무한에 가깝다.

elastic (필요한 만큼 커지고 작아지는 성질) 한 성질 때문에 스토리지 확장, 축소를 하지 않아도 된다.

  • 오토 스케일링과 겹친다고 생각할 수 있는데 사실 맞다.
  • S3에는 오토 스케일링이 자동으로 내장되어 생성된다.

Auto Scaling과 Load Balancing에 신경쓰지 않아도 된다.

Laod Balancing : 서버 여러대가 있을 때, 사용자의 요청 (트래픽)을 분배하여 처리량, 안정성을 높이는 기술

  • 구조 : [사용자] → [로드 밸런서] → [서버1, 서버2, 서버3 ...]
  • AWS 대표적인 Load Balancer : ALB, NLB, GLB
profile
최적화를 사랑하는 클라우드 엔지니어 whi02입니다.

0개의 댓글