비관리형 · 관리형 · 서버리스 컴퓨팅
AWS는 다양한 수준의 제어와 책임을 제공하는 컴퓨팅 서비스를 제공한다.
비관리형 서비스는 높은 제어를 제공하지만 관리 책임이 크고, 관리형 및 서버리스 서비스는 인프라 관리 부담을 줄여 애플리케이션 개발에 집중할 수 있게 한다.
1. 핵심 전제: 제어 수준이 높을수록 책임도 커진다
AWS 컴퓨팅 서비스는 다음 3단계로 구분할 수 있다.
- 비관리형(Unmanaged)
- 관리형(Managed)
- 서버리스(Serverless, 완전관리형)
이 구분의 기준은 누가 무엇을 관리하는가이다.
2. 비관리형 컴퓨팅 서비스 (예: Amazon EC2)
개념
- 사용자가 가상 머신을 직접 프로비저닝하고 운영
- 높은 수준의 제어 제공
AWS의 책임
- 물리적 데이터 센터
- 하드웨어
- 네트워크 인프라
- 가상화 계층
고객의 책임
- 운영 체제 패치
- 보안 구성
- 네트워크 설정
- 애플리케이션 설치 및 관리
- 스케일링 전략 수립
특징
- 유연성 높음
- 맞춤 설정 가능
- 운영 부담 큼
3. 관리형 컴퓨팅 서비스
개념
- 인프라 운영의 상당 부분을 AWS가 관리
- 사용자는 구성 및 애플리케이션에 집중
예시
- Elastic Load Balancing
- Amazon SNS
- Amazon SQS
- AWS Elastic Beanstalk
- Amazon ECS
- Amazon EKS
특징
- 서버 관리 부담 감소
- 운영 오버헤드 축소
- 일부 구성 책임은 사용자에게 남음
장점
- 유지 관리, 패치, 확장성 관리 자동화
- 애플리케이션 개발 집중 가능
4. 서버리스 컴퓨팅(Serverless)
개념
- 사용자가 서버를 직접 보거나 관리하지 않음
- 프로비저닝, 스케일링, 고가용성 자동 처리
대표 서비스
- AWS Lambda
AWS의 책임
- 인프라 관리
- 자동 스케일링
- 가용성 확보
- 실행 환경 유지
고객의 책임
- 애플리케이션 코드
- 코드 보안
- 접근 제어(IAM)
- 데이터 보호
특징
- 서버 관리 불필요
- 이벤트 기반 실행
- 사용량 기반 과금
5. 서버리스와 공동 책임 모델
서버리스 환경에서도 공동 책임 모델은 유지된다.
- AWS 책임:
- 인프라
- 실행 환경
- 스케일링
- 고객 책임:
- 코드 취약점
- 권한 설정
- 데이터 암호화 및 접근 제어
서버리스는 “책임이 없다”가 아니라 “인프라 책임이 줄어든 것”이다.
6. 제어와 편의성의 균형
컴퓨팅 서비스 선택은 다음 질문에 달려 있다.
- 인프라를 세밀하게 제어해야 하는가?
- 운영 부담을 줄이는 것이 더 중요한가?
- 빠른 개발과 배포가 목표인가?
- 특정 라이선스나 커스터마이징이 필요한가?
7. 비교
비관리형
- 제어: 매우 높음
- 책임: 많음
- 예: EC2
관리형
- 제어: 중간
- 책임: 일부 감소
- 예: ELB, SNS, SQS, ECS, EKS, Elastic Beanstalk
서버리스
- 제어: 인프라 수준에서는 낮음
- 책임: 코드 중심
- 예: AWS Lambda
8. 선택 기준
- OS 수준 제어 필요 → EC2
- 컨테이너 기반 관리 자동화 필요 → ECS 또는 EKS
- 인프라 관리 없이 코드 실행 → Lambda
- 빠른 애플리케이션 배포 및 운영 단순화 → Elastic Beanstalk
AWS 컴퓨팅 서비스는 비관리형(EC2)에서 서버리스(Lambda)까지 제어와 책임의 수준이 다르며, 요구 사항에 따라 인프라 제어와 운영 편의성의 균형을 선택하는 것이 핵심이다.
AWS Lambda
AWS Lambda는 서버를 직접 프로비저닝하거나 관리하지 않고 이벤트에 응답해 코드를 실행하는 서버리스 컴퓨팅 서비스이다.
인프라 관리, 스케일링, 가용성은 AWS가 처리하며, 사용자는 코드와 설정에 집중한다.
1. 핵심 전제: Lambda는 서버를 보지 않고 코드를 실행한다
- 서버 프로비저닝 불필요
- 요청 볼륨에 따라 자동 스케일링
- 실행 시간(밀리초 단위) 기준 과금
- 인프라, 스케일링, 가용성은 AWS가 관리
Lambda는 “서버가 없는 것”이 아니라 “서버 관리를 사용자가 하지 않는 것”이다.
2. Lambda의 핵심 구성 요소
2-1. 함수(Function)
- 실행되는 코드 단위
- 특정 런타임 환경에서 동작
- 예: Node.js, Python, Java 등
- 이벤트를 입력으로 받아 처리 후 결과 반환
2-2. 트리거(Trigger)
- Lambda 함수를 실행시키는 이벤트 소스
- 예:
- SQS 메시지
- 파일 업로드
- HTTP 요청
- 사용자 작업
이벤트 발생 → Lambda 자동 실행
2-3. 이벤트(Event)
- 함수 실행의 입력 데이터
- JSON 형식으로 전달되는 경우가 일반적
- 이벤트 데이터가 함수의 실행 컨텍스트를 결정
2-4. 스케일링
- 트래픽 증가 시 자동으로 동시 실행 인스턴스 증가
- 트래픽 감소 시 자동 축소
- 사용자는 스케일링 정책을 직접 설정할 필요 없음
3. Lambda 작동 방식
1단계: 코드 업로드
- 함수 형태로 업로드
2단계: 이벤트 소스 연결
- 특정 서비스 또는 요청과 연결
3단계: 이벤트 발생 시 실행
- Lambda 런타임이 코드 실행
- 인프라 관리 자동 처리
4단계: 사용한 컴퓨팅 시간만 과금
- 밀리초 단위로 계산
- 할당한 메모리 크기에 따라 비용 결정
4. Lambda와 공동 책임 모델
AWS 책임
- 실행 환경
- 인프라 관리
- 자동 확장
- 가용성 확보
고객 책임
- 함수 코드
- IAM 권한 설정
- 데이터 보호
- 애플리케이션 로직 보안
서버리스라고 해서 보안 책임이 사라지는 것은 아니다.
5. SQS와 Lambda 연계 아키텍처
구조
SQS → Lambda 트리거 → 함수 실행 → 메시지 처리
동작 흐름
- 메시지가 SQS 대기열에 추가됨
- Lambda가 자동으로 트리거됨
- 메시지를 읽어 처리
- 처리 완료 후 메시지 제거
중요 포인트
- Lambda가 SQS에 접근하려면 적절한 IAM 실행 역할 필요
- CloudWatch를 통해 로그 및 실행 상태 모니터링 가능
6. Lambda 사용 사례
6-1. 실시간 이미지 처리
- 파일 업로드 시 자동 실행
- 이미지 리사이징, 필터 적용
- 업로드량에 따라 자동 확장
6-2. 개인화 콘텐츠 처리
- 사용자 요청 시 실행
- 사용자 선호도 기반 로직 처리
- 사용자가 요청할 때만 실행 → 비용 효율
6-3. 실시간 이벤트 처리
- 게임 이벤트
- 상태 업데이트
- 실시간 점수 계산
피크 시간대에도 자동 확장
7. Lambda의 장점
- 서버 관리 불필요
- 자동 스케일링
- 이벤트 기반 실행
- 사용한 만큼만 과금
- 운영 오버헤드 최소화
8. Lambda 선택 기준
- 인프라 관리 없이 코드 실행 필요 → Lambda
- 이벤트 기반 아키텍처 → Lambda
- 비동기 처리와 결합(SQS, SNS, EventBridge) → Lambda
- 짧고 독립적인 작업 단위 처리 → Lambda
AWS Lambda는 이벤트에 의해 자동 실행되고 자동으로 확장되는 서버리스 컴퓨팅 서비스로, 인프라 관리는 AWS가 담당하고 사용자는 코드와 권한 설정에 집중한다.
컨테이너 및 AWS 컨테이너 서비스
컨테이너는 애플리케이션을 일관성 있고 이식 가능한 형태로 패키징하는 기술이며, AWS는 이를 배포·확장·관리하기 위한 오케스트레이션, 레지스트리, 서버리스 실행 환경을 제공한다.
1. 컨테이너의 핵심 개념
1) 컨테이너란 무엇인가
컨테이너는 다음 요소를 하나로 패키징한다.
- 애플리케이션 코드
- 런타임
- 라이브러리
- 종속성
- 구성 파일
이로 인해 어떤 환경에서 실행하든 동일하게 동작한다.
“내 컴퓨터에서는 작동해요” 문제 해결
2) 컨테이너 vs 가상 머신(VM)
가상 머신 (VM)
- 하이퍼바이저 기반
- 각 VM이 별도 OS 포함
- 무겁고 시작 시간 김
컨테이너
- 호스트 OS 공유
- 가볍고 빠른 시작
- 리소스 효율적
시험 포인트:
컨테이너는 VM보다 가볍고 빠르다.
2. 컨테이너 오케스트레이션이 필요한 이유
컨테이너 수가 많아지면 다음이 필요하다.
- 자동 배포
- 자동 복구
- 자동 확장
- 네트워크 관리
- 상태 모니터링
- 롤링 업데이트
이를 자동화하는 것이 컨테이너 오케스트레이션 서비스이다.
3. AWS 컨테이너 아키텍처 전체 구조
AWS 컨테이너 구조는 3계층으로 이해하면 쉽다.
- 레지스트리 → ECR
- 오케스트레이션 → ECS / EKS
- 실행 환경 → EC2 또는 Fargate
4. Amazon ECR (Elastic Container Registry)
역할
- 컨테이너 이미지 저장소
- 완전관리형 레지스트리
특징
- OCI 표준 지원
- 이미지 푸시 / 풀 가능
- 버전 관리 가능
- IAM 기반 접근 제어
흐름
이미지 빌드 → ECR에 업로드 → ECS/EKS가 가져와 배포
ECR은 “이미지 저장소”이다.
5. Amazon ECS (Elastic Container Service)
개념
AWS 자체 컨테이너 오케스트레이션 서비스
특징
- AWS 통합 용이
- 비교적 단순한 구조
- Docker 기반
ECS 실행 방식 (Launch Type)
1) ECS + EC2
- EC2 인스턴스 직접 관리
- 인프라 제어 가능
- 서버 관리 필요
2) ECS + Fargate
- 서버리스
- EC2 관리 불필요
- 컨테이너만 신경 쓰면 됨
Fargate는 서버 관리 불필요.
6. Amazon EKS (Elastic Kubernetes Service)
개념
- Kubernetes 기반 오케스트레이션
- 완전관리형 Kubernetes 제어 플레인 제공
특징
- 오픈소스 Kubernetes 사용
- 대규모 / 하이브리드 환경에 적합
- 높은 유연성과 제어
EKS 실행 방식
1) EKS + EC2
- 노드 직접 관리
- 높은 커스터마이징
2) EKS + Fargate
- 서버 관리 불필요
- Kubernetes + 서버리스 결합
EKS는 Kubernetes를 관리형으로 제공한다.
7. AWS Fargate
개념
컨테이너용 서버리스 컴퓨팅 엔진
역할
- ECS 또는 EKS에서 실행
- 컨테이너 실행 환경 제공
특징
- 서버 프로비저닝 불필요
- 자동 확장
- 사용량 기반 과금
주의: Fargate는 오케스트레이션 서비스가 아니라 “컨테이너 실행 플랫폼”이다.
8. 전체 조합 정리
컨테이너 배포 흐름:
- 이미지 생성
- ECR 업로드
- ECS 또는 EKS 선택
- EC2 또는 Fargate 선택
- 자동 확장 및 배포
9. 서비스 선택 기준
- 단순하고 AWS 통합 중심 → ECS
- Kubernetes 기반 표준 환경 필요 → EKS
- 서버 관리 원치 않음 → Fargate
- 인프라 완전 제어 필요 → EC2 기반 실행
10. 비교 정리
| ECR | 이미지 저장 |
| ECS | AWS 전용 오케스트레이션 |
| EKS | Kubernetes 오케스트레이션 |
| Fargate | 서버리스 컨테이너 실행 |
| EC2 | VM 기반 실행 |
컨테이너는 애플리케이션을 일관성 있게 배포하기 위한 패키징 기술이며, AWS에서는 ECR(저장), ECS/EKS(오케스트레이션), EC2/Fargate(실행 환경)를 조합하여 확장 가능하고 관리 효율적인 컨테이너 아키텍처를 구성한다.
추가 컴퓨팅 서비스
AWS는 범용 컴퓨팅(EC2, Lambda, 컨테이너) 외에도 특정 사용 사례를 빠르게 해결하기 위한 목적별 서비스를 제공한다.
- Elastic Beanstalk
- AWS Batch
- Amazon Lightsail
- AWS Outposts
1. Elastic Beanstalk
1) 핵심 개념
코드만 업로드하면 EC2, 로드 밸런서, 오토 스케일링, 네트워크 등을 자동으로 구성해주는 PaaS 서비스
“인프라는 AWS가 구성해주고, 나는 코드만 올린다”
2) 무엇을 자동화해 주는가
- EC2 인스턴스 프로비저닝
- Auto Scaling 구성
- Elastic Load Balancer 설정
- 애플리케이션 상태 모니터링
- 배포 관리
3) 특징
- Java, .NET, Python, Node.js, Docker 지원
- 기본 리소스는 여전히 보이고 제어 가능
- 환경 구성을 저장하고 재배포 가능
4) 언제 쓰는가
- 웹 애플리케이션
- REST API
- 모바일 백엔드
- 마이크로서비스 배포
“웹 앱을 빠르게 배포하고 싶다 → Beanstalk”
2. AWS Batch
1) 핵심 개념
대규모 배치 작업을 자동으로 실행하는 완전관리형 서비스
2) 무엇을 자동화해 주는가
- 컴퓨팅 리소스 프로비저닝
- 작업 큐 관리
- 리소스 자동 스케일링
- 작업 분산 실행
3) 특징
- EC2 플릿 자동 구성
- 작업 요구 사항 기반 리소스 최적화
- 대량 병렬 처리에 적합
4) 대표 사용 사례
- 과학 계산
- 금융 리스크 분석
- 미디어 인코딩
- 빅데이터 처리
- ML 훈련
- 유전체 분석
“대량 병렬 연산, 긴 계산 작업 → AWS Batch”
3. Amazon Lightsail
1) 핵심 개념
단순하고 예측 가능한 요금의 VPS 서비스
2) 특징
- 월 정액 요금
- 간단한 콘솔 UI
- 서버 + 스토리지 + DB + 네트워크 포함
- 전체 AWS 콘솔보다 단순함
3) 적합한 경우
- 블로그
- 소규모 웹사이트
- 트래픽 낮은 앱
- 개발/테스트 환경
- 소규모 기업 웹 서비스
“간단하고 저렴하게 웹사이트 띄우기 → Lightsail”
4. AWS Outposts
1) 핵심 개념
AWS 인프라를 온프레미스 데이터센터로 확장하는 하이브리드 솔루션
2) 제공 기능
- 컴퓨팅
- 스토리지
- 네트워크
- AWS API와 동일한 경험
3) 언제 필요한가
- 짧은 지연 시간 요구
- 데이터 레지던시 규정 준수
- 온프레미스 유지 필요
- 하이브리드 아키텍처
“AWS를 내 데이터센터로 가져오고 싶다 → Outposts”
5. 서비스 비교 정리
| Elastic Beanstalk | 웹 앱 자동 배포 | 빠른 웹 배포 |
| AWS Batch | 대규모 배치 작업 | 병렬 계산 |
| Lightsail | 단순 VPS | 소규모 웹 서비스 |
| Outposts | 온프레미스 AWS 확장 | 하이브리드 |
6. 구분 포인트
- “코드만 올려서 웹 앱 배포” → Beanstalk
- “대규모 병렬 계산” → Batch
- “간단한 VPS, 월 정액” → Lightsail
- “AWS를 온프레미스로 확장” → Outposts
7. 전체 컴퓨팅 계층 정리
지금까지 배운 컴퓨팅 레벨을 계층으로 정리하면:
- EC2 → 가장 많은 제어
- ECS/EKS → 컨테이너 오케스트레이션
- Lambda → 서버리스
- Beanstalk → PaaS
- Lightsail → 단순 VPS
- Batch → 대규모 계산 특화
- Outposts → 하이브리드 확장
Elastic Beanstalk는 웹 애플리케이션 배포 자동화, AWS Batch는 대규모 병렬 작업 실행, Lightsail은 단순한 VPS 환경 제공, Outposts는 AWS를 온프레미스 환경으로 확장하는 하이브리드 솔루션이다.
| AWS 기반 컨테이너(opens in a new tab) | AWS 컨테이너 서비스 페이지에서는 컨테이너 이미지 스토리지, 오케스트레이션, 컴퓨팅을 위한 서비스를 비롯하여 AWS 컨테이너 제품의 개요를 제공합니다. 이러한 서비스는 컨테이너화된 애플리케이션의 배포 및 관리를 간소화하도록 설계되었습니다. |
| Amazon Elastic Container Registry(opens in a new tab) | Amazon ECR은 컨테이너 이미지를 대규모로 안전하게 저장, 관리, 배포하기 위한 완전관리형 서비스입니다. |
| Amazon Elastic Container Service(opens in a new tab) | Amazon ECS는 AWS에서 컨테이너화된 애플리케이션의 배포, 관리, 규모 조정을 간소화하는 완전관리형 서비스입니다. |
| Amazon Elastic Kubernetes Service(opens in a new tab) | Amazon EKS는 AWS 및 온프레미스에서 Kubernetes 클러스터를 효율적으로 실행하는 완전관리형 Kubernetes 서비스입니다. 이 서비스는 인프라 관리를 자동화하며 AWS 네트워킹, 보안, 스토리지 서비스와 통합됩니다. |
| AWS Fargate(opens in a new tab) | Fargate는 서버를 관리하지 않고도 컨테이너를 실행할 수 있는 서버리스 컴퓨팅 엔진입니다. 이 서비스는 Amazon ECS 및 Amazon EKS와 통합됩니다. |
| AWS Elastic Beanstalk(opens in a new tab) | Elastic Beanstalk은 인프라를 관리하지 않고도 웹 애플리케이션을 배포하고 규모를 조정할 수 있는 완전관리형 서비스입니다. |
| AWS Batch(opens in a new tab) | AWS Batch는 AWS에서 대규모 배치 컴퓨팅 작업을 효율적으로 실행하기 위한 완전관리형 서비스입니다. |
| Amazon Lightsail이란?(opens in a new tab) | Lightsail은 예측 가능한 요금으로 VPS, 컨테이너, 데이터베이스를 제공하는 간소화된 클라우드 플랫폼입니다. |
| AWS Outposts이란?(opens in a new tab) | AWS Outposts는 지연 시간이 짧은 로컬 데이터 처리를 위해 AWS 인프라 및 서비스를 온프레미스 위치로 확장합니다. |
| 현대적 애플리케이션 전략 선택(opens in a new tab) | 현대적 애플리케이션 전략을 위한 AWS 의사 결정 가이드는 조직이 운영 모델, 팀 구조, 워크로드 요구 사항에 따라 가장 적합한 개발 접근 방식(서버리스 또는 Kubernetes)을 결정하는 데 도움이 됩니다. |
'Deployment > Cloud Computing' 카테고리의 다른 글
| AWS Cloud Practitioner Essentials (Networking) (0) | 2026.03.14 |
|---|---|
| AWS Cloud Practitioner Essentials (Global) (0) | 2026.03.13 |
| AWS Cloud Practitioner Essentials (Compute) EC2 (0) | 2026.02.06 |
| AWS Cloud Practitioner Essentials (Introduction) (0) | 2026.02.02 |
| Azure 사용 방법 (0) | 2025.10.14 |