1. 클라우드를 알기전에 기본 개념 : 서버와 가상화, 리소스(자원)
먼저 관련 개념들부터 하나씩 알아보겠습니다.
서버

서버는 ‘컴퓨터 망에서 ‘클라이언트’ 라고 불리는 다른 컴퓨터에 정보를 제공하는 컴퓨터 라고 정의할 수 있을 것 같습니다.
가상화 (virtualization)
하나의 물리적 자원(서버, 스토리지, 네트워크)을 여러 개의 가상 자원처럼 나눠서 사용하는 기술
예: 물리 서버 1대를 가상 머신(VM) 5대처럼 보이게 만들어서 각기 다른 OS, 애플리케이션을 돌릴 수 있음.
리소스(Resource), 자원
사용될 수 있는 항목, 프로그램이 뭔가 일을 할 때 필요로 하는 모든 재료와 도구
2. 클라우드 , 클라우드 컴퓨팅, 클라우드 서비스
클라우드(Cloud)
광대한 네트워크를 통하여 접근할 수 있는 가상화된 서버를 통해 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT 환경
클라우드 컴퓨팅(Cloud Computing)
클라우드를 이용하여 컴퓨팅 자원을 사용하는 기술적인 방법
이는 서버, 스토리지, 네트워크 등의 자원을 가상화하여 사용자에게 제공하며, 필요에 따라 이를 확장하거나 축소할 수 있습니다.
클라우드 서비스(Cloud Service)
클라우드 컴퓨팅을 기반으로 제공되는 서비스 를 이야기 합니다. 클라우드 서비스는 다양한 형태로 제공될 수 있으며 대표적으로 SaaS, PaaS, IaaS 등이 있습니다.
좀 더 풀어서 말하자면, 클라우드 개념을 실제로 구현해 놓은 구체적인 상품이나 기능을 의미한다.
AWS에서 예를 들면, AWS S3(파일 저장), EC2(가상 서버), RDS(DB), Lambda(서버리스 함수) 가 있습니다.
| 개념 | 의미 |
| 클라우드 | 개념적인 측면에서의 인터넷을 통한 컴퓨팅 자원의 제공 |
| 클라우드 컴퓨팅 | 클라우드를 기술적인 측면에서 구현하는 기술 |
| 클라우드 서비스 | 클라우드 컴퓨팅을 기반으로 다양한 형태로 제공되는 서비스 |
(비유 : 클라우드 - 전기, 클라우드 서비스 - 전기세를 내고 쓰는 조명, 세탁기, 에어컨)
3. 클라우드 , 클라우드 컴퓨팅, 클라우드 서비스
앞서 클라우드 컴퓨팅은 ‘클라우드를 기술적인 측면에서 구현하는 기술’ 이라고 말했습니다. 그런데 여기서 클라우딩 컴퓨팅이 되기 위해서는 특정 기준 5가지를 충족해야 합니다.
<기준 5가지>
1. 온디맨드 셀프 서비스
2. 네트워크 액서스
3. 리소스 풀링
4. 탄력성
5. 리소스 사용 모니터링 및 요금 청구
1. 온디맨드 셀프 서비스(On-Demand Self-Service)
서비스가 필요할 때 서버, 데이터베이스, 네트워크, 스토리지 등의 컴퓨팅 기능을 온디맨드 방식으로 프로비저닝하는 기능.
이렇게만 말하면 정확히 무슨 뜻인지 잘 모르겠죠?

말이 어려우니 풀어서 설명해보겠습니다.
용어를 먼저 풀어보면,
- On-Demand : 필요한 순간에 즉시 자원 사용 가능
- Self-Service : IT 부서나 외부 도움 없이, 사용자가 직접 자원 생성/관리 가능
로, 필요한 IT 자원을 직접 즉시 생성·변경·삭제할 수 있는 기능 를 의미합니다.
프로비저닝(provisioning)
필요한 IT자원을 준비하고 설정해서 쓸 수 있는 상태로 만드는 과정
사람이 직접 서버실에 가서 케이블 꽂거나, IT팀에 부탁해서 장비 세팅해줄 때까지 기다릴 필요 없이, 시스템이 알아서 서버·저장공간 같은 자원을 만들어서 바로 쓸 수 있게 해줘야 한다는 뜻입니다.
AWS에는 콘솔, 명령줄(CLI), 애플리케이션 프로그래밍 인터페이스를 사용하여 할 수 있습니다. 올바른 권한이 있다면 다른 사람에게 요청하거나 부탁할 필요가 없이 빌드를 시작할 수 있습니다.
핵심은 클라우드에서는 자원(리소스) 준비가 셀프 서비스 + 자동화 라는 것이며, AWS 에서 EC2(가상 서버)를 하나 띄우는 것도 같은 맥락입니다.
2. 네트워크 액서스
클라우드 서비스를 쓰려면 인터넷(네트워크)에 연결해서 필요한 자원을 만들고 써야 한다
(= 클라우드 컴퓨팅이 네트워크에 연결하여 필요한 리소스를 사용하고 프로비저닝할 수 있어야 한다.)
AWS를 사용하면 AWS Management Console, 명령줄, HTTP, HTTPS, VPN, SSH 등을 사용하여 빌드할 수 있습니다.
3. 리소스 풀링(Resource Pooling)
(1) 리소스 풀링 : 서버·스토리지 같은 자원을 미리 확보해 두고, 필요할 때 사용자에게 나눠주는 방식. (풀(pool)처럼 한 곳에 모아둔 자원을 여러 사람이 나눠 씀)
(2) AWS에서의 적용
AWS는 수천 대의 서버·DB 등 풀링된 자원을 보유하고, 온디맨드 방식으로 고객에게 제공
(3) 장점
- AWS가 대규모로 자원을 구매·운영하므로, 고객은 규모의 경제 혜택을 받음
- 저렴한 비용으로 필요한 만큼의 확장성 확보 가능
(4) 연결 개념: 리소스 풀링 → 비용 절감 + 확장성 제공 → 탄력성(Elasticity) 기준과 직결됨
4. 탄력성
수요에 따라 크기를 조정할 수 있는 능력입니다. 수요가 증가하면 AWS 리소스를 확장하고, 수요가 감소하면 리소스를 다시 축소할 수 있습니다.
3. 리소스 사용 모니터링 및 요금 청구
AWS 계정의 리소스 사용량을 모니터링하고 요금을 청구할 수 있어야 합니다.
4. AWS
1) AWS란?
AWS ( Amazon Web Services)
AWS는 아마존이 제공하는 클라우드 서비스(Cloud Service)
cf. AWS 말고도 클라우드 서비스로는 구글 클라우드 플랫폼 (Google Cloud Platform, GCP),오라클 클라우드 (Oracle Cloud Infrastructure, OCI) , 네이버 클라우드 (Naver Cloud Platform, NCP) 등이 있다.

| 서비스 | 기능 |
| AWS S3 | 파일 저장 |
| AWS EC2 | 가상 서버 |
| AWS RDB | DB |
| AWS Lambda | 서버리스 함수 |
전 세계의 데이터 센터에서 200개가 넘는 모든 기능을 갖춘 서비스를 제공하는 전 세계에서 가장 포괄적이고 널리 채택되고 있는 클라우드입니다. 쉽게 말해, 전 세계 곳곳에 있는 데이터센터를 이용해서, 컴퓨터·저장공간·데이터베이스·AI 같은 여러 IT 서비스를 인터넷으로 빌려주는 거대한 가게다.
데이터 센터
데이터 센터는 컴퓨팅 시스템 및 관련 하드웨어 장비를 저장하는 물리적 위치입니다. 여기에는 서버, 데이터 스토리지 드라이브 및 네트워크 장비와 같이 IT 시스템에 필요한 컴퓨팅 인프라가 포함됩니다. 모든 회사의 디지털 데이터를 저장하는 물리적 시설입니다.
2) AWS의 가치
AWS는 인프라를 구동하고, 민첩성을 높이고 비용을 절감하는 방법을 제공합니다.
| 인프라 구동 | 필요한 서버나 저장공간, 네트워크 같은 인프라를 직접 사서 설치하지 않아도, 인터넷을 바로 빌려 쓸 수 있게 합니다. |
| 비용 절감 | 기업이나 개발자는 필요한 만큼만 쓰고, 쓰는 만큼 돈을 내서 불필요한 비용이 줄어듭니다. |
| 민첩성 향상 | 몇 분 만에 서버를 만들고 전 세계로 서비스를 배포할 수 있어 시장 변화에 민첩하게 대처할 수 있습니다. |
AWS는 빠르게 성장하는 스타트업, 가장 큰 규모의 기업, 주요 정부 기관을 포함하여 수백만 명의 고객이 사용하고 있습니다. 모두가 AWS를 사용하여 비용을 절감하고, 민첩성을 향상하고, 더 빠르게 혁신하고 있다.
3) AWS 의 글로벌 인프라

AWS는 글로벌 고속 네트워크로 연결된 작은 인프라 그룹 컬렉션인 글로벌 인프라를 제공합니다. 이 글로벌 인프라를 통해 복원력과 가용성이 우수한 시스템을 설계할 수 있습니다.
5. 고가용성, 내결함성, 재해 복구
클라우드에서는 고가용성, 내결함성, 재해 복구를 구현하기에 좋은 환경입니다.
그럼 고가용성, 내결함성, 재해 복구란 무엇일까요?

1) 고가용성

(1) 고가용성이란?
- 고가용성은 시스템이 가능한 한 오래, 멈추지 않고 가동되도록 설계하는 방법(=계속 가동 및 실행 상태로 유지하고 가능한 한 자주 서비스를 제공할 수 있는 기능을 갖추도록 시스템을 설계하는 방법) 입니다.
- 서버나 네트워크 장비에 장애가 생기면, 이를 빠르게 교체하거나 복구해 서비스 중단 시간을 최소화하는 것이 핵심입니다. 즉, 서비스의 온라인 시간을 최대화하는 설계 방식입니다.
(2) 고가용성의 한계
고가용성이 있다고 해서 장애 자체가 아예 사라지는 건 아닙니다.
- 장애는 여전히 발생할 수 있음
- 다만 장애가 발생하면 빠르게 대처하여 서비스 중단 시간을 줄임
- 완전히 ‘중단 없는 서비스’는 보장하지 않음
(3) 고가용성의 사례

예를 들어, AWS 내부의 단일 서버에서 애플리케이션이 실행 중이고, 직원들이 이 서버로 작업을 한다고 가정합니다.
- 단일 서버만 있는 경우 → 서버가 다운되면 모든 직원이 일을 멈춰야 함
- 고가용성 설계 적용 시 →
- 장애가 나면 새 서버를 즉시 가동하거나
- 활성 서버 1대 + 대기 서버 1대를 동시에 운영하여, 활성 서버가 다운되면 대기 서버로 즉시 전환
- 이 경우에도 로그인 재시도 등 아주 짧은 중단 시간은 발생할 수 있습니다.
(4) 고가용성의 목표
- 가동 중단을 최대한 줄이고 서비스를 계속 운영
- 자동 복구(Auto Recovery)가 가능하면 가장 이상적
- 다만 현실적으로 아주 짧은 가동 중단은 발생할 수 있음
2) 내결함성

(1) 내결함성이란?
내결함성은 장애가 발생해도 시스템이 멈추지 않고 계속 동작하는 기능입니다. 즉, 일부 구성 요소에 문제가 생겨도 서비스가 중단되지 않고 정상적으로 운영되도록 설계하는 방식입니다.
(2) 특징
- 고가용성과 비슷하지만, 실제 가동 중단이 거의 없다는 점이 차이
- 장애가 발생해도 이미 준비된 다른 구성 요소가 즉시 업무를 이어받음
- 사용자는 장애 발생 사실을 거의 느끼지 못함
(3) 사례

내결함성용으로 설계한다면 하나의 애플리케이션을 처리하는 두 개의 활성 서버가 있을 것입니다. 따라서 한 서버가 가동 중단되면 두 번째 서버가 이미 활성화되어 직원에게 계속 서비스를 제공하므로 실제로 가동 중단 시간이 없습니다. 내결함성 설계는 장애를 최소화하도록 작동하는 동시에 장애가 발생해도 계속 작동합니다. 그리고 이러한 시스템 설계는 일반적으로 고가용성 설계보다 비용이 더 많이 듭니다.
| 고가용성 설계 | 활성 서버 1대 + 대기 서버 1대 → 장애 시 대기 서버로 전환 (짧은 중단 가능) |
| 내결함성 설계 | 활성 서버 2대가 동시에 운영 → 한 서버가 장애를 일으켜도 다른 서버가 이미 활성 상태이므로 중단 시간 0 |
3) 재해 복구

재해 복구는 내결함성 및 고가용성과 약간 다릅니다. 내결함성 및 고가용성은 재해 발생 시에도 작동하도록 시스템을 설계하는 것이기 때문입니다.
(1) 재해 복구
자연재해나 인간의 행동(또는 실수)으로 인한 재해가 발생한 후 조직에서 IT 인프라에 대한 액세스 및 기능을 복원할 수 있는 기능을 말합니다.
(2) 재해복구 , 내결함성 & 고가용성 의 차이
고가용성(High Availability)과 내결함성(Fault Tolerance)은 재해가 발생해도 계속 운영되도록 설계
하는 개념이라면, 재해 복구(Disaster Recovery)는 이미 멈춘 서비스를 어떻게 최대한 빨리 되살릴지 에 초점이 있습니다.
- 고가용성(HA) → 장애나 문제 상황이 발생해도 가능한 한 서비스를 계속 운영하도록 설계 (약간의 중단은 있을 수 있음)
- 내결함성(FT) → 장애가 나도 중단 없이 서비스가 돌아가도록 설계
- 재해 복구(DR) → 이미 서비스가 멈춘 상황에서, 얼마나 빨리 복구할지와 그 절차에 초점
즉, HA·FT는 사전에 대비해서 멈추지 않게 만드는 설계, DR은 멈춘 뒤 복구하는 대응이 핵심 차이입니다.

재해 복구는 재해에 대비해 계획해야 할 것과 재해 발생 시 해야 할 일에 관한 것입니다. 그리고 재해 복구 계획을 세우는 것이 매우 중요합니다. 재해로부터 복구하는 최악의 시기는 해당 재해가 한창일 때이기 때문입니다. 재해 복구에는 사전 계획과 재해 복구 프로세스를 완료하기 위한 단계가 필요합니다. 따라서 재해가 발생할 때 최대한 신속하게 시스템을 복구할 계획이 이미 세워져 있어야 합니다.
(3) 특징
- 재해 발생 시, 복구 작업을 즉시 시작할 수 있도록 사전 계획 필요
- 재해 상황에서 새로운 복구 절차를 만들면 복구 속도가 느려지고 피해가 커짐
- 복구 절차는 단계별 프로세스로 문서화해 두어야 함
6. 탄력성
1) 탄력성이란?
탄력성은 시스템이 수요 변화에 맞춰 자동으로 용량을 늘리거나 줄이는 능력입니다.
서비스 이용자가 많아지면 서버를 자동으로 늘리고, 이용자가 줄면 서버를 자동으로 줄이는 능력입니다. 이렇게 하면 서버 과하게 사놓고 놀리는 일 없고, 반대로 몰릴 때 다운되는 일도 줄어듭니다.
2) 크기 조정 방법
AWS에서 용량을 조정하는 방법은 크게 수직적 크기 조정과 수평적 크기 조정이 있습니다.

(1) 수직적 크기 조정 (Vertical Scaling)
- 방식: 서버(인스턴스)의 사양을 업그레이드
- 예) T2.micro → T2.medium
- 장점: 애플리케이션 수정 없이 적용 가능, 대부분의 애플리케이션에서 사용 가능
- 단점:
- 재부팅 필요 → 약간의 중단 발생
- 사양 업그레이드 시 비용 증가
- 한계가 있음(물리적으로 더 이상 업그레이드 불가)
(2) 수평적 크기 조정 (Horizontal Scaling)
- 방식: 동일 사양의 인스턴스를 여러 개 추가하고, 로드 밸런서를 통해 트래픽 분산
https://erase-jeong.tistory.com/194
로드 밸런싱(Load Balancing)에 대하여 알아보기
1. 서버 한 대로는 부족할 때: 서버 확장과 로드밸런싱 전략서비스 초기에는 유저수가 적습니다. 그러다보니 서버 1대로 요청에 응답하는데 무리가 없습니다. 그러나 서비스가 커지고, 유저수(클
erase-jeong.tistory.com
- 장점:
- 더 작은 인스턴스를 여러 개 사용하므로 비용 효율적
- 무중단 확장이 가능
- 주의사항: 세션 관리 필요 → 서버 간 이동 시 세션이 끊기지 않도록 스티키 세션 등 설정 필요
스티키 세션
스티키 세션 기능을 사용하면 서버 간에 전환할 때 세션이 손실되지 않는다. 이 방법은 크기를 축소하거나 확장할 때에도 통합니다.


3) AWS에서 어떻게 쓰이는가
시작 구성(Launch Configuration) + 자동 크기 조정(Auto Scaling) 기능을 써서
- 수요 ↑ → 서버 자동 추가
- 수요 ↓ → 서버 자동 제거
- 이걸로 성능 유지 + 불필요한 비용 절약 가능
- AWS Well-Architected Framework에서도 비용 최적화 핵심 원칙 중 하나로 봄
<탄력성 부분 정리>
- 수직 크기 조정 → 더 큰 서버로 교체
- 수평 크기 조정 → 동일한 서버 여러 대 추가
- 탄력성 → 수평 크기 조정 + 자동화로 실시간 용량 조정
<정리>
- 클라우드 = 개념, 클라우드 컴퓨팅 = 구현 기술, 클라우드 서비스 = 구체적인 상품
- 클라우드 컴퓨팅은 5가지 기준(온디맨드·네트워크·풀링·탄력성·모니터링)을 충족
- AWS는 이를 전 세계 데이터센터와 200+ 서비스로 제공
- 서비스 품질 확보를 위해 고가용성·내결함성·재해 복구 설계
- 비용 최적화·성능 유지 핵심 기술이 탄력성
<문제>
1. 네트워크에서 다른 컴퓨터(클라이언트)에게 정보를 제공하는 컴퓨터를 무엇이라 하는가?
서버(Server)
2. 하나의 물리적 자원을 여러 개의 가상 자원처럼 나누어 사용하는 기술을 무엇이라 하는가?
가상화(Virtualization)
3. 클라우드, 클라우드 컴퓨팅, 클라우드 서비스의 관계를 간단히 설명하시오
클라우드 = 개념 / 클라우드 컴퓨팅 = 구현 기술 / 클라우드 서비스 = 구체적 상품·기능
4. 클라우드 컴퓨팅의 필수 기준 5가지
온디맨드 셀프 서비스, 네트워크 액세스, 리소스 풀링, 탄력성, 사용량 모니터링 및 요금 청구
5. IT 부서 승인 없이 사용자가 필요한 순간에 자원을 직접 생성·관리하는 기능을 무엇이라 하는가?
온디맨드 셀프 서비스(On-Demand Self-Service)
6. AWS란?
아마존에서 운영하는 클라우드 서비스
7.장애 시 빠르게 복구해 서비스 중단을 최소화하는 설계 방식을 무엇이라 하는가?
고가용성(High Availability, HA)
8.장애가 발생해도 중단 없이 서비스를 유지하는 설계 방식을 무엇이라 하는가?
내결함성(Fault Tolerance, FT)
9. 이미 멈춘 서비스를 얼마나 빨리 복구할지에 초점을 맞춘 대응 계획을 무엇이라 하는가?
재해 복구(Disaster Recovery, DR)
10. 동일 사양의 서버를 자동으로 늘리거나 줄이는 방식의 확장을 무엇이라 하는가?
수평적 크기 조정(Horizontal Scaling)
참고
AWS Skill Builder
skillbuilder.aws
클라우드 컴퓨팅의 정의
클라우드 컴퓨팅의 정의 NIST(미국 국립표준 기술 연구소)에 의하면 클라우드 컴퓨팅(Cloud Computing)은 최소한의 관리나 서비스 제공자의 상호 작용으로 신속하게 프로비저닝 및 출시할 수 있는 구
psyhm.tistory.com
https://www.samsungsds.com/kr/cloud-glossary/what-is-cloud.html
클라우드(Cloud)란? | 클라우드 용어집 | 삼성SDS
클라우드를 한마디로 정의하면 무엇인가요? 클라우드(Cloud)란, 광대한 네트워크를 통하여 접근할 수 있는 가상화된 서버와 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT 환경을 의
www.samsungsds.com
https://blog.pumpkin-raccoon.com/26
AWS란? 클라우드와 AWS의 기본 개념 알아보기
AWS의 기본 개념을 설명하기에 앞서 이번 포스트는 기본적으로 AWS가 아마존의 '클라우드 서비스'라는 것을 알고 클라우드 서비스가 어떤 것인지 안다는 것을 전제로 한다. [클라우드란] 그래도 AW
blog.pumpkin-raccoon.com
https://aws.amazon.com/ko/what-is/virtualization/
가상화란 무엇인가요? - 클라우드 컴퓨팅 가상화 설명 - AWS
클라우드 컴퓨팅은 사용량에 따른 요금으로 인터넷을 통해 온디맨드로 컴퓨팅 리소스를 제공하는 것을 말합니다. 물리적 데이터 센터를 구매, 소유 및 유지 관리하는 대신, 필요할 때 클라우드
aws.amazon.com
https://cloud.google.com/learn/what-is-disaster-recovery?hl=ko
https://cloud.google.com/learn/what-is-disaster-recovery?hl=ko
cloud.google.com
https://woo0doo.tistory.com/26
스티키 세션(Sticky Session), 세션 클러스터링(Session Clustering)이란? + 세션, 로드 밸런싱, Session Storage
세션 (Session) 세션을 사용하는 이유? HTTP프로토콜의 특징이자 약점을 보완하기 위해 사용된다. 1. Connectionless, Protocol 비연결지향 클라이언트가 서버에 요청했을 때, 그 요청에 맞는 응답을 보낸
woo0doo.tistory.com