클라우드 컴퓨팅, 기본부터 정복해보자!
클라우드 컴퓨팅, 줄여서 클라우드라고 이야기하죠.
클라우드 서비스가 등장한지 어느덧 약 15년이 지났지만 여전히 사용하기 쉽지 않다고 합니다.
본 교육에서는 클라우드 컴퓨팅 기본 사항부터 접근해보고자 합니다.
개요 및 아키텍처, 주요 서비스 이해를 통해 클라우드를 보다 효율적으로 사용하기 위한 기본기를 확보하고,
이를 기반으로 클라우드를 안정적으로 활용하는 지식을 함양하고자 합니다.
본 내용은 Microsoft Learn에 무료로 공개된 다음 주요 모듈 내용을 기반으로 설명을 위해 강의/발표 형태로 재구성하였습니다:
- Microsoft Azure 기본 사항: 클라우드 개념 설명: https://learn.microsoft.com/ko-kr/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/
- 개발자를 위한 클라우드 컴퓨팅 기본 사항: https://learn.microsoft.com/ko-kr/training/paths/cmu-cloud-developer-basics/
4. 클라우드 컴퓨팅이란?
• 소프트웨어 실행에 필요한 성능과 기능을 클라우드 공급업체의 데이터 센터에
위치한 서비스를 선택하여 사용한 서비스에 대해서만 요금을 지불
• 혁신적인 기능을 더욱 빠르게 개발하고 리소스를 유동적으로 사용하는 동시에
요금 절약을 가능하게 함
5. 클라우드 컴퓨팅이란?
• 소프트웨어 실행에 필요한 성능과 기능을 클라우드 공급업체의 데이터 센터에
위치한 서비스를 선택하여 사용한 서비스에 대해서만 요금을 지불
• 혁신적인 기능을 더욱 빠르게 개발하고 리소스를 유동적으로 사용하는 동시에
요금 절약을 가능하게 함
Above the Clouds: A Berkeley View of Cloud Computing
6. 클라우드 컴퓨팅: 경제성 - 규모의 경제
• 소규모로 운영하는 것과 비교하여
대규모로 운영 할 때 비용이
적게 들고 효율적으로 작업
할 수 있는 능력
• Microsoft, Google 및
Amazon Web Services (AWS) 및 국내
클라우드를 제공하는 업체는 매우 큰
비즈니스이므로
규모의 경제 이점을 활용 한
이러한 혜택을 고객에게 전달할 수 있다.
• 국내외 규모있는 기업은 직접 클라우드를
별도로 구축하여 사용
7. 클라우드 컴퓨팅: 서비스
• 클라우드 공급자가 제공하는 주요
서비스
1. 연산을 위한 컴퓨팅 (계산) 리소스
2. 컴퓨팅 리소스와의 연결을 위한
네트워크
3. 저장 공간을 위한 스토리지
4. 안전한 리소스 접근을 위한 인증 및
보안
5. (AI, 머신 러닝)
6. …
8. 공동 책임 모델
• 클라우드 컴퓨팅에서는
물리적 호스트 및 데이터
센터 자원을 제공하므로
해당 책임을 클라우드
공급업체가 맡음
• 고객/사용자가 사용하는
장치(모바일, PC), 정보 및
데이터, 계정 ID 등에 대한
책임은 고객/사용자에게
있음
• 클라우드 컴퓨팅에서
제공하는 서비스 유형에
따라 책임이 달라짐
치즈
토핑
토마토 소스
피자 도우
불
오븐
전기/가스
콜라
식탁
치즈
토핑
토마토 소스
피자 도우
불
오븐
전기/가스
콜라
식탁
치즈
토핑
토마토 소스
피자 도우
불
오븐
전기/가스
콜라
식탁
치즈
토핑
토마토 소스
피자 도우
불
오븐
전기/가스
콜라
식탁
(피자를 서비스로 생각해 볼 때)
9. 공동 책임 모델
온-프레미스
Networking
Compute
Storage
Virtual Machine
Operating System
Applications
Data & Access
Runtime
고객/사용자
관리
영역
인프라
(IaaS)
Networking
Compute
Storage
Virtual Machine
Operating System
Applications
Data & Access
Runtime
공급업체에서
관리하는
물리적
패브릭
고객/사용자
관리
영역
플랫폼
(PaaS)
공급업체
관리
영역
고객/사용자
관리
영역
Networking
Compute
Storage
Virtual Machine
Operating System
Data & Access
Runtime
Applications
소프트웨어
(SaaS)
공급업체
관리
영역
Networking
Compute
Virtual Machine
Operating System
Data & Access
Runtime
Applications
Storage
클라우드
공급업체가
제공하는
서비스
고객/사용자
관리
영역
호스트 개발 소비
10. 공동 책임 모델
• 고객/사용자
✓ 클라우드에 저장된 정보 및 데이터
✓ 클라우드에 연결할 수 있는 디바이스 (휴대폰, PC 등)
✓ 조직 내 사용자, 서비스 및 디바이스 계정 및 ID
• 클라우드 제공업체
✓ 물리적 데이터 센터
✓ 물리적 네트워크
✓ 물리적 호스트
• 서비스 모델에 따라 달라지는 책임
✓ 운영체제
✓ 네트워크 제어
✓ 애플리케이션
✓ 인증 관리 및 인프라
Exercise: 다음 서비스에
대해 생각해봅시다
11. 클라우드 모델 종류
공용 클라우드
사설 클라우드
하이브리드 클라우드
호스팅된
응용 프로그램/앱
개발 도구, 데이터베이스
관리, 비즈니스 분석
운영 체제 서버 및 저장소 네트워크
방화벽/보안
데이터 센터
물리적 공간/건물
IaaS: Infrastructure as a Service
PaaS: Platform as a Service
SaaS: Software as a Service
12. 클라우드 모델: 온 프레미스와 상생 / 멀티 클라우드
개발
서비스 A
보안 및 관리
서비스 A
데이터베이스
서비스 A
인증 체계
on Cloud A
개발
서비스 B
보안 및 관리
서비스 B
데이터베이스
서비스 B
인증 체계
on Cloud B
통합
개발
보안 및
관리
데이터
플랫폼
인증
체계
13. 사용량 기반 과금 및 관리
• 클라우드 리소스를 사용한 만큼 비용을 지불
✓ 더 정확한 비용 예측 가능
✓ 개별 리소스와 서비스 가격 제공
✓ 실제 사용량을 기준으로 금액 청구
21. 사용자 입장에서의 클라우드 – 아키텍처/관리
• 몇 가지 참고할만한 관점
✓ 기존 애플리케이션 아키텍처가 어떻게 되는가?
✓ 새로 클라우드를 사용하고자 하는가, 이미
클라우드를 사용하고 있는가?
✓ 어떤 공급업체를 사용하고자 하는가?
✓ 해당 공급업체에서 어떤 서비스를 사용하고자
하는가?
✓ 해당 클라우드 서비스에 적용되었을 때
애플리케이션 아키텍처가 어떻게 되는가?
✓ 예상 비용이 어떻게 되는가?
✓ 해당 아키텍처가 성능 및 비용 측면에서 최적인가?
✓ 보다 효율적인 성능 및 비용, 그리고 현실적인 면을
고려하였을 때 어떤 아키텍처가 최적인가?
✓ … 아키텍처 예시 (from Rightscale)
22. 진화하는 클라우드 컴퓨팅 서비스에 따른
고객/사용자 적용 전략
SaaS
Cloud-native
Rehost Refactor Rearchitect Rebuild/New Replace
Migration & Modernization
On-premises
App
Data
Infrastructure
Security and Management
App, Data, & AI Services
Virtual Machines Containers
DevOps
1. Lift & Shift 2. Refactoring
3. Rearchitecting 4. Rebuild/New
23. 사용자 입장에서의 클라우드 – 사용
• 몇 가지 참고할만한 관점
✓ 사용하고자 하는 클라우드 컴퓨팅 서비스 배우기
✓ 클라우드 공급업체가 제공하는 포털/CLI로 자원 생성/관리
✓ API를 통한 사용
✓ 리소스를 코드로 관리하기 (Terraform, …)
✓ …
Cloud Product Homepage Cloud Documentation page
24. 클라우드 컴퓨팅: 서비스
• 클라우드 공급자가 제공하는 주요
서비스
1. 연산을 위한 컴퓨팅 (계산) 리소스
2. 컴퓨팅 리소스와의 연결을 위한
네트워크
3. 저장 공간을 위한 스토리지
4. 안전한 리소스 접근을 위한 인증 및
보안
5. (AI, 머신 러닝)
6. …
28. 컴퓨팅 – 가상 머신 (Virtual Machine) 서비스
• 하이퍼바이저 기술을 기반으로 클라우드 환경에서 “가상 머신”을 서비스화
Hypervisors
OS
Apps
Hardware
BIOS
Host OS
Bin / Libs
Apps
Hypervisor
Guest OS #1 Guest OS #2
Bin / Libs
Apps
Bin / Libs
Apps
VM #1 VM #2
Hardware
BIOS
Bin / Libs
Apps
Hypervisor
Guest OS #1 Guest OS #2
Bin / Libs
Apps
Workstations at Data Center
Hypervisors
(Traditional Virtualization)
(클라우드 가상화)
주요 공용 (Public) 클라우드
가상 머신 서비스
29. 컴퓨팅 – 가상 머신 (Virtual Machine) 서비스
• 클라우드에서 가상 머신 서비스를 사용할 때 고려할 점
✓ CPU, 메모리, GPU, 스토리지 스펙 정하기
➢ 클라우드 환경에서는 정해진 가상 머신 유형 (type, flavor)을
선택하여 사용
➢ 모든 데이터 센터 / 리전에서 모든 가상 머신 유형을 지원하지
않을 수도 있음
✓ 가격 계산 / 예측을 잘 할 것
➢ 해당 가상 머신을 정말 24시간, 365일 사용할 예정인지?
➢ 비용을 절약하기 위한 제공업체 추가 서비스 (예: 스팟 인스턴스,
예약 인스턴스 등)
✓ 사용 관리/유지 보수
➢ 패치, 운영체제 업데이트, 가상 머신 내 소프트웨어 관리 주기
✓ 가용성 (Availability)
➢ 고가용성을 위해서는 (예: 99.9% → 99.99%) 가용성 영역
뿐만 아니라 제공업체에서 지원하는 관련 추가 서비스를 사용할
필요도 있음
30. 컴퓨팅 –확장/스케일을 위해 클라우드에서 고려할 점
• 고성능 컴퓨팅 (High Performance Computing) 관점
✓ 몇 대의 가상 서버를 동시에 활용할 것인가 (예: 24, 96, 128,
256 등)
✓ CPU/GPU/메모리/스토리지 중 병목 (bottleneck)이 되는
부분이 어디인가
• 대용량 어플리케이션 (Large-scale Applications) 관점
✓ 인프라 뿐만 아니라 실제 실행이 되는 어플리케이션 (응용
프로그램) 아키텍처도 고려해야 함
➢ 예: Map-Reduce, MSA (Micro-Service Architecture)
✓ 동시 접속자 수 및 빠른 응답 속도, 처리 용량
➢ 예: Google objective – 0.5 second response time for a
search
• 관련 대표 서비스: 컨테이너를 위한 서비스, 네트워크 서비스
31. 주요 공용 (Public) 클라우드
가상 머신 서비스
컴퓨팅 – 컨테이너 (쿠버네티스) 서비스
• 컨테이너(운영체제 내 격리 지원 기술)를 관리하는 “쿠버네티스”를 서비스화
가상 머신 vs. 컨테이너 쿠버네티스를 활용한 컨테이너 관리/오케스트레이션
주요 공용 (Public) 클라우드에서 직접 관리하여 지원하는 (Managed) 쿠버네티스 서비스
32. 네트워킹 서비스
• 1. 클라우드 내에서 구성하는 네트워크 서비스 (예: 서브넷, VPC 등)
33. 네트워킹 서비스
• 2. 안정적인 외부 사용자와의 통신을 위한 네트워크 서비스 (예: 로드밸런서, CDN)
34. 네트워킹 서비스
• 3. 클라우드와 외부 망/데이터센터와의 안정적인 네트워크 (예: VPN)
클라우드
온-프레미스 데이터센터
클라우드 플랫
폼
시스템
37. 파일(File) 스토리지 vs. 블록(Block) 스토리지
vs. 오브젝트(Object) 스토리지
• 파일(File) 스토리지
✓ 단일 파일로의 관리를 지원하는 스토리지
• 블록(Block) 스토리지
✓ 하드디스크 파이션과 같은 개념으로,
볼륨(Volume) 단위로 관리가 이루어짐
➢ 네트워크를 통해 연결
➢ 통상 파일시스템 (예: NTFS, FAT, ext4)을
통해 액세스
✓ 동적으로 ‘가상 머신’ 서비스에 연결 또는 연결
해제
➢ 컴퓨팅 서비스가 있어야 액세스 가능
• 오브젝트(Object) 스토리지
✓ 정적인 파일을 ‘오브젝트’ 단위로 저장
➢ WORM: Write-Once-Read-Many
✓ 컴퓨팅 서비스가 없더라도 직접 파일 액세스
가능
REST-based API
Data distributed
evenly throughout system Scalable to multiple
petabytes, billions of
objects
Account/Container/Object structure
(not file system, no nesting) plus
Replication (N copies of accounts,
containers, objects)
No central database
Hardware agnostic: standard
hardware, RAID not required
(오브젝트 스토리지)
38. 주요 클라우드 회사 스토리지 서비스
AWS Azure Google Cloud
파일
스토리지
Elastic File System
페타스케일 NFS 서비스, 멀티 가용 영
역 지원
Files
선택적인 스냅샷과 메타데이터 백업
지원
Filestore
관리 NFS 서비스로, HDD, SSD, High-
scale SSD 티어 지원
블록
스토리지
Elastic Block Store
SSD 및 HDD 블록 장치로, 다양한
IOPS 및 latency 성능을 보여줌
Managed Disks
Ultra, Premium, Standard SSD 및
HDD 티어에 따라 VM에 장착/해제
Persistent Disk
성능과 안정성에 따라 zone, region 옵
션 및 8개 티어 제공
오브젝트
스토리지
S3
여러 tier에 따른 다양한 성능 및 가격
정책에 따라 제공
Blob Storage
Premium, hot, cool, archive 성능 티
어 제공
Cloud Storage
Standard, Nearline, Coldline, Archive
티어 제공
39. 스토리지 이중화 / 다중화
가용성 요구 사항에 기반한 다양한 복제 (Replication) 옵션 활용 필요
ZRS(영역 중복 스토리지)
주 리전의 3개 가용성 영역에 배포
ZRS
99.9999999999% (12)
GRS(지역 중복 스토리지)
주 및 보조 리전의 단일 데이터 센터
GRS
99.99999999999999% (16)
Zone 2 Zone 3
Zone 1
Availability
Availability
Availability
LRS(로컬 중복 스토리지)
주 리전의 단일 데이터 센터에 배포
LRS
99.999999999% (11)
Storage
40. Storage 액세스 계층 - 예시
클라우드 서비스에 따라 해당 액세스 계층 간 전환이 필요할 수 있음
핫 쿨 보관
자주 액세스하는 데이터
저장용으로 최적화된 계
층입니다.
자주 액세스하지 않으며
최소 30일 이상 저장하는
데이터 저장용으로 최적
화된 계층입니다.
거의 액세스하지 않으며
최소 180일 이상 저장하는
데이터 저장용으로 최적
화된 계층입니다. 이 계층
에는 유동적인 대기 시간
요구 사항이 적용됩니다.
43. 전통적인 정의: 해킹과 보안
창과 방패 (출처: 위키피디아)
Hacker의 정의
• The Hacker’s Dictionary (by Raymond, et.al.)
Hacker : 1. A person who enjoys learning the details of computer
systems & how to stretch their capabilities – as opposed to most users who
prefer to learn only the minimum. 2. One who programs enthusiastically or
who enjoys programming rather than just theorizing about it.
• R. Stallman – who is excellent and somewhat compulsive programmers
크래커/해킹
• 사회적 통념을 포함한 해커의 정의 :
a person exceptionally talented with computers who often misuses
that skill.
• 일반적으로 criminals, crackers, intruders, vandals 등과 동의어로 사용됨.
• Hacking : 숙달된 컴퓨터의 기술을 사용하여 타인/타기관에게 불이익을
끼치는 행위
44. 전통적인 정의: 해킹과 보안
창과 방패 (출처: 위키피디아)
컴퓨터 보안
• “A computer is secure if one can depend on it, i.e. if it behaves as
expected.” – to be trusted
• cracked system 자연재해로 망가진 시스템
• Threats : 실수, SW bugs, HW faults , 불법사용, …
• 각종 위협으로부터 computer를 믿고 사용할 수 있을 만한 것으로 만드는
것을 전산보안이라 함
클라우드와 보안 (아래 표는 Berkeley View of Cloud Computing)
• 1
45. 인증/권한관리
Identity & access
Data 보호
Apps & data security
네트워크 보안
Network security
위협방어
Threat protection
보안관리
Security Management
Built-in Controls
악성코드 방지 클라우드 로그 분석
클라우드 보안 센터
가상네트워크보안 VNET, VPN, NSG
클라우드 방화벽, WAF
DDoS 공격 차단
전용선 ExpressRoute
암호화 (Disks, Storage, SQL)
키 비밀 관리 (Key Vault)
VM 메모리 보호
(Confidential Computing)
클라우드 인증 체계를 활
다단계 인증 (MFA)
역활기반 접근 통제
IAM 인증 (인증 보호)
▪ 데이터센터 물리적 출입통제 [출입카드, 생체인식, CCTV, 보안관제 等]
▪ ISO27001, ISMS 인증에 물리적 보안 관련 상세 Guide 포함
물리적 보안
Physical Security
* VNET : Virtual Network
* VPN : Virtual Private Network
▪ Data 보호를 위한 다양한 보안 강화 방안 제시
▪ Data 암호화 및 고객전용 암호화 Key 관리 (HSM*)
* NSG : Network Security Group
* DDoS : Distributed Denial of Service
* HSM : Hardware Security Module
* WAF : Web Application Firewall
* MFA : Multi-Factor Authentication
* IAM : Identity and Authentication Mgmt.
46. 인증 체계
보통 IAM (Identity & Authentication Management)으로 불리며,
Azure에서는 AAD(Azure Active Directory) 제품 이름으로도 불리고 있습니다.
• 인증(직원이 리소스에 액세스하기 위해 로그인).
• SSO (Single-Sign-On).
• 애플리케이션 관리.
• B2B (비즈니스 대 비즈니스).
• B2C (비즈니스 대 고객) ID 서비스.
• 디바이스 관리.
50. 심층 방어
• 컴퓨터 시스템 보안에 대한 계층화된 접
근 방식입니다.
• 여러 수준의 보호를 제공합니다.
• 한 계층에 대한 공격은 후속 계층에서 격
리됩니다.
물리적 보안
ID 및 액세스
경계
네트워크
Compute
애플리케이션
데이터
51. 예시: Microsoft Defender for Cloud
• 클라우드용 Microsoft Defender는 Azure와 온-프레미스 데이터 센터에 대한 위협을
방지하는 모니터링 서비스입니다.
• 보안 관련 권장 사항 제공
• 맬웨어 검색 및 차단
• 잠재적 공격을 분석 및 식별
• JIT (Just-In-Time) 방식 포트 액
세스 제어