클라우드

JIWON·2025년 6월 10일

Cloud

목록 보기
3/6
post-thumbnail

1. 클라우드 기본 개념

1) 클라우드 배포 모델

구분퍼블릭 클라우드
(Public Cloud)
프라이빗 클라우드
(Private Cloud)
하이브리드 클라우드
(Hybrid Cloud)
커뮤니티 클라우드
(Community Cloud)
정의공개 인터넷을 통해 누구나 사용 가능특정 조직만을 위한 전용 클라우드퍼블릭 + 프라이빗 혼합 형태비슷한 요구의 조직이 공동 소유
소유 주체클라우드 서비스 제공업체 (예: AWS, Azure)기업/기관 내부 또는 전용 호스팅혼합 (조직 + 제공업체)참여 조직 공동
접근성인터넷 연결만 되면 누구나 접근 가능내부 네트워크를 통해 접근상황에 따라 선택적 접근참여 조직 내 접근
보안 수준서비스 제공자 의존높음 (기업 내부 보안 정책 적용)중간 (통제된 퍼블릭+프라이빗 통합)준수 (공동 정책 적용)
비용저렴, 사용량 기반 과금고비용 (인프라 자체 구축 필요)중간 (투자 + 유연성 고려)높음 (비용 분담)
확장성매우 뛰어남제한적유연함제한적
복원성중간매우 높음중상매우 높음
성능중하좋음매우 좋음좋음
예시AWS, Azure, Google Cloud기업 내 자체 구축 클라우드 (On-premise)Azure Stack, AWS Outposts정부기관 공동 시스템, 연구기관 간 협력 클라우드

2) 클라우드를 활용하는 이유

1️⃣ 인프라 규모 산정의 용의성

  • 컴퓨터 자원의 규모를 산정하는 것은 매우 어려운 일
  • 비즈니스 관점에서는 중요하게 고려해야 할 사항
  • IT 자원을 피크타임에 맞춰서 구축을 하게 돼서 자원 낭비가 심함

📌 자원낭비를 줄이는 방법

  • 단계적 확장

    • 수요를 예측해서 단계적으로 IT 자원을 확장하는 방법
    • 이전 데이터를 이용해서 분기별로 수요량을 예측해서 컴퓨팅 자원을 확보하는 방법
  • 피크타임 확장

    • 피크 타임이 될 때까지 기다린 후 피크시점에 IT 자원을 증설하는 방법
    • IT 자원 관점에서 보면 낭비 요소를 제거할 수 있지만 비즈니스 안정성은 확보되지 않는 단점이 있다.
  • 동적 확장

    • 자원이 필요할 때 필요한 만큼만 동적으로 자원을 확보하여 서비스에 할당하는 방법

2️⃣ 비용 절감

  • 자원을 동적으로 할당하게 되면 비용적인 측면에서도 효과적이다.
  • 구축 비용이 절감
  • 운용 비용이 절감 : 인력에 대한 비용 , 서비스의 테스트와 배포 같은 시간적 비용

3️⃣ 탄력성

  • 확장과 축소가 편리

4️⃣ 가용성

  • 시스템 유지보수와 같은 시스템 Shutdown 상태를 포함해서 실제 인프라가 임의의 시간에 활용 가능한 가를 측정
  • 가용성은 인프라의 런타임 예외 발생 상황에 대한 대처가 얼마나 잘 되고 있는지를 나타내는 지표

가용성(Availiability) = 운영시간 / 전체시간 = (전체시간-중지된시간) / 전체시간
신뢰도(Reliability) = 운영시간 / 가용시간 = (전체시간-중지된시간) / (전체시간-이미예측한중지시간)

5️⃣ 신속성

  • 가변적인 IT 서비스 자원 요청에 신속하게 대응

6️⃣ 투명한 사용량 측정

  • 사용자에게 실시간으로 클라우드 컴퓨팅 인프라를 사용한 사용량을 대시보드 형태로 제공

7️⃣ 복원성

  • 클라우드에서는 가상머신을 주로 이용하는데 가상머신을 통한 서비스에 장애가 발생한 경우 손쉽게 가상머신 파일을 이동하거나 공유 스토리지를 통해 클라우드 컴퓨팅 인프라에서 서비스를 복구할 수 있음
  • AWS의 경우는 대부분 메인 시스템에 문제가 발생해서 접근이 불가능할 경우 서브 시스템에 접근하도록 해서 서비스에 문제가 발생할 경우 서비스를 복원할 수 있도록 해줌


3) 클라우드 컴퓨팅에 영향을 준 기술

💠 클러스터링

여러 자원을 묶어 마치 하나의 거대한 자원으로 활용할 수 있는 기술

  • 자원 : 대부분 동일한 스팩의 자원을 네트워크로 연결
  • 네트워크 : 광대역 네트워크 보다는 동일한 물리적 공간에서 연결된 형태

  • 컴퓨팅 자원은 LAN(Local Area Network)을 이용해서 각 노드가 서로 통신을 하게 되고 컴퓨팅 자원을 통제하는 Master Node 가 존재하는데 마스터 노드는 별도의 컴퓨터로 분리될 수 도 있고 일반 컴퓨팅 자원에 마스터의 역할을 부여하기도 한다

  • 스토리지에 대한 접근 : LAN을 통해서 스토리지 접근도 가능하지만 SAN(Storage Area Network)을 통해서 컴퓨팅 자원이 스토리지 자원에 접근할 수 있게 됨

  • 네트워크를 통해 IT 자원을 거대한 하나의 자원으로 보이게 하는 클러스터링을 함으로써 부족한 컴퓨팅 자원을 늘릴 수 있고 상황에 따라서 자원과 분리해서 활용할 수 있게 한다.


워크로드 스케줄러(Workload Scheduler)

  • 네트워크를 통한 IT 자원을 연결한 후에는 반드시 이를 통합적으로 관리해주는 소프트웨어가 필요한데 이러한 특수 소프트웨어는 클러스터링의 목적에 맞게 인프라를 관리하고 운영할 수 있도록 해줌. HTConder, SUN Grid Engine, Univa 등이 있음

Executor Machine

  • 워커 노드의 역할을 수행하는 머신
  • 사용자는 작업을 클러스터에 제출하고 이 제출된 작업을 Submit Machine(Master Node)이 받아서 Queue(FIFO) System을 동작시킴
  • 사용가능한 워커 노드가 있을 경우 해당 작업이 워커 노드에 할당
  • 어떤 워커 노드가 작업을 할 지 결정하는 시스템이 Center Manager(중앙관리자)이고 이 시스템이 사용자로부터 제출된 작업과 이 작업을 수행하기에 가장 적절한 워커 노드를 매칭해주는 역할을 수행

  • 네트워크를 통해 클러스터링 한 후 HTConder 와 같은 클러스터링 소프트 웨어를 통해서 개별적으로 분산된 독립적인 하드웨어적 인프라를 하나의 시스템으로 통합하여 하나의 큰 IT 자원으로 활용


💠 그리드 컴퓨팅

분산된 이기종의 컴퓨팅 자원을 광대역 네트워크를 통해 하나의 단일 시스템으로 만들어 컴퓨팅 자원을 공유하는 시스템

  • 클라우드 컴퓨팅이 활성화되기 전, 유휴한 컴퓨팅 자원을 활용하기 위한 다양한 시도가 있었지만 그 중에서 대표적인 성공사례
  • 특히 고에너지 물리학, 천문학 등 기초 과학 분야에서 국제 협업을 통한 컴퓨팅 자원 확보 수단으로 주로 활용됨.

주요 특징

  • 데이터 센터들이 지리적으로 분산되어 있음

  • 매우 느슨한 연결 구조: 그리드에 속한 데이터 센터라도 자율성과 자치권 보장

  • 커뮤니티 클라우드와 유사: 특정 조직이 아닌 여러 커뮤니티가 공동 활용

  • 데이터 센터가 지원하는 작업을 처리할 때 작업에 대한 처리와 거부등은 데이터 센터가 결정


미들웨어

  • 대표 미들웨어 프로젝트:
    • 미국 : Open Science Grid
    • 유럽 : European Grid Initiative
  • 역할
    • 데이터 센터의 가용자원 파악
    • 작업이 그리드에 제출되면 가장 적절한 자원을 가진 센터에 자동분배
    • 경우에 따라 AWS 같은 클라우드 자원도 사용가능

💠 가상화(Virtualization)

물리적인 하드웨어 자원 (메모리와 하드디스크, OS 등 다양한 부품)을 소프트웨어로 대체하여 여러 개의 가상자원(서버, 네트워크 등)으로 분리, 운영하는 기술

주요개념

항목설명
기본 원리하나의 물리 서버 위에 **여러 가상 서버(게스트)**를 생성
가상 네트워크물리 배선 1개를 가상으로 분할하여 다른 네트워크와 유연하게 연결 가능
자원 확장성가상 서버에 할당된 메모리·스토리지자유롭게 조절 가능
배포 유연성물리 서버처럼 하드웨어를 증설할 필요 없이 소프트웨어적으로 서버 복제 가능

장점

  • 서버 자원 효율화: 하나의 물리 서버로 여러 서비스를 운영 가능

  • 유연한 확장성: CPU, 메모리, 스토리지 할당을 소프트웨어적으로 조정 가능

  • 빠른 배포/복제: 서버를 코드처럼 빠르게 생성하거나 복제 가능

  • 네트워크 유연성: 네트워크 연결을 가상으로 구성하여 빠르게 재구성 가능


한계점

항목설명
성능 한계가상 자원을 최대로 활용해도 **물리적인 한계(CPU 등)**는 존재함
부하 대응고부하 상황에서는 서버 대수 자체를 늘리지 않으면 대응 불가
물리 자원 증설 시 한계물리 서버 증설은 여전히 CPU, Mainboard, Storage 등 물리 장비 필요

가상화는 서버 자원을 유용하게 활용하고, 복제, 확장에 강한 기술이지만, 물리적 성능 한계는 여전히 존재한다


💠 분산처리와 로드밸런싱

분산처리 : 하나의 작업을 여러 대의 기기에 분산하여 처리하는 방법

  • 같은 기능이나 정보를 가진 서버 여러 대에 분배하여 처리하면 서버 1대의 부담을 줄이고 서버가 응답할 수 없거나 다운되는 사태를 막을 수 있음

로드밸런싱 : 클라이언트 요청을 여러 서버에 고르게 분산하는 기술

  • 로드밸런서는 여러 서버 상태를 확인하여 부하를 분산한다
  • 부하가 너무 높아진 서버를 분리하여 전체 안정성 유지

💠 이중화

시스템이나 서버에 문제가 생겨도 계속 가동할 수 있도록 조치하는 것

  • 백업을 하거나 여러 대를 운영하는 것이 일반적
  • 가상화나 분산처리방식은 이러한 이중화에도 크게 도움이 되는데 서버 여러 대를 구축한 것은 그것만으로도 백업이 되고 분산 처리를 해두면 서버 한대에 문제가 생겨도 다른 서버에 의해 기능이 유지됨

4) 클라우드 서비스 제공자의 역할

1️⃣ 쉬운 접근성과 높은 보안성 제공

  • 클라우드 서비스는 네트워크를 통해 접근하고 가상 자원을 사용하기 때문에 사용자가 네트워크를 통해 쉽게 접근하고 필요한 가상 자원을 쉽게 생성할 수 있어야 한다
  • 클라우드 컴퓨팅 서비스에는 네트워크 개입되고 사용자의 데이터가 네트워크를 통해서 클라우드 서비스 제공자의 인프라에 제공되고 저장한 후 관리되기 때문에 높은 보안성이 요구됨

2️⃣ 비즈니스에서 클라우드를 적용하는 이유에 대한 이해

  • IT 자원을 쉽게 확보하고 IT 자원을 자체 구축할 때 소모되는 투자 비용과 직접 관리로부터 발생하는 리스크를 제거할 수 있음

3️⃣ 약속된 성능 제공

  • 클라우드 서비스 사용자는 자신이 필요한 성능을 쉽게 확보하기 위해서 클라우드 서비스 제공자의 서비스를 이용
  • 클라우드 인프라를 통해 생성되는 가상머신의 성능은 충분히 예측 가능해야 함

4️⃣ 합리적인 비용

5️⃣ 온디맨드 기반의 서비스 제공

  • 언제든지 자신이 필요한 만큼의 자원을 확대하고 축소할 수 있어야 한다

6️⃣ 유지보수 부담 제거

IT 인프라를 구축하고 운영하는 데는 많은 유지보수 비용과 노련이 동반됨


4) 자원성능의 확장

💠 자원성능을 확장하는 방법

1️⃣ 수평적으로 확장(Horizontal Scaling) - Scale Out

  • 가상머신 A에 가상머신 B,C를 추가하여 성능을 개선하는 방식으로 가상머신의 개수를 온디맨드 방식에 따라 수평적으로 확장

  • 동일한 타입의 IT자원을 추가하여 확장

  • 장점

    • 가상머신의 수를 물리머신 풀에서 제공가능한 큐 만큼 확장하고 축소할 수 있음
    • 물리머신의 풀을 확장하는 것이 스케일 업 방식보다는 용이

2️⃣ 수직적으로 확장(Vertical Scaling) - Scale Up

  • 기존 가상머신의 하드웨어를 업그레이드
    ( 2CPU 가상머신 -> 4CPU 가상머신 )

  • 물리시스템의 자원 규모에 영향을 받음

    • 물리시스템에서 제공하는 자원의 한계를 가상 머신이 넘어 설 수 없기 때문에
    • 대규모의 IT 자원의 성능을 향상 시킬 때는 Scale Up 보다는 Scale Out 방식을 이용

📌 Scale Out vs Scale Up

Scale OutScale Up
서버저비용고비용(특화된 서버)
가용성IT 자원 즉시 이용IT 자원 즉시 이용 어려움
확장성자원 복제 및 자동 확장 수월추가 설정 필요
추가 서버추가 IT 서버 필요추가 IT 서버 필요 없음
용량 제한하드웨어 용량에 제한 받지 않음최대 하드웨어 용량에 제약을 받음
관리 비용관리 비용이 많이 듬관리 비용 절감
서버 관리복잡단순
데이터 일관성일관성 유지 어려움일관성 유지 쉬움

5) 클라우드를 사용할 때 고려할 사항

💠 데이터에 대한 보안 취약성

  • Public Cloud 인프라를 사용하게 되면 로컬에서 관리되던 데이터가 네트워크를 통해 클라우드 컴퓨팅 인프라로 전송되어 저장관리되어야 한다.

  • 기업 자체의 보안 정책을 적용받던 데이터가 제 3자가 관리하는 보안 정책 영역으로 이동됨에 따라 보안이 취약해질 수 있음

  • 데이터에 대한 외부 관리가 불허되는 환경이라면 데이터 이동이 필수적인 외부 클라우드를 활용하는 것보다는 Private Cloud 환경을 구축하는 것이 바람직함

💠 보안 정책의 상충

  • 독자적인 보안 정책을 적용받는 환경에서 서로 다른 보안 정책을 갖는 혼합된 형태인 경우 악의적인 내부 사용자에게 취약점이 노출될 수 있다.

💠 Admin 역할의 축소

  • 인프라 관리에 대한 부분이 클라우드 서비스 제공자의 통제를 받게 됨
  • On-Premise 로 구축된 시스템 대비 인프라에 대한 접근과 관리 권한이 축소됨

네트워크 의존성 증가

  • 외부 클라우드에 접속하기 위해서는 반드시 네트워크가 개입되어야 한다
  • 클라우드 인프라에 접근할 수 있는 배타적인 네트워크를 구축하지 않는이상 네트워크 회선은 외부의 사용자와 공유하는 자원
  • 네트워크는 기본적으로 신뢰성이 확보되지 않은 전송 인프라
  • 사용자 내부의 네트워크는 신뢰성이 확보된 네트워크이고 클라우드 서비스도 신뢰성이 확보된 네트워크인데 이를 연결하는 네트워크가 불안정하고 신뢰성이 없는 네트워크
  • 네트워크 회선은 end-to-end 로 물리적 회선으로 구성되지 않고 중간에 라우터가 개입되는 구조라서 얼마든지 네트워크를 통해서 전송되는 데이터는 복제가 가능하다
    • 구글을 가는데 13번의 라우터를 거친다
    • 전송 패킷이 많은 라우터를 거치게 되면 전송 과정 중에 패킷은 도청되어 복제될 수 있다
  • 라우터의 증가에 따른 홉 수의 증가는 네트워크의 응답성과도 관련있으면 잠재적 대역폭 제약이 발생할 수 도 있음
  • 지역적 이슈
    • 외부의 클라우드 컴퓨팅 인프라는 서비스 사용자의 국가나 지역과는 다른 곳에 위치할 수 있음
    • 따라서 사용자의 데이터는 네트워크를 통해서 어디서나 접근할 수 있지만 법적 분쟁이 발생하거나 데이터에 대한 접근이 완전히 보호되지 않을 수 있음을 인지해야 한다
    • 클라우드 서비스 제공자가 클라우드 컴퓨팅 인프라를 구축할 때 비용적인 측면을 고려해서 지역을 선택했을 것이지만 실제 사용자는 자신의 가상머신이 어느 지역에 위치한 데이터 센터에서 동작하는지 인지하지 못할 가능성이 크다
    • 사용자의 데이터가 법적인 보호를 받아야 하는 경우나 인프라가 위치한 국가의 정부 기관이 사용자의 데이터를 통제할 수 있다는 사실을 인지해야 한다
    • 영국은 영국 시민의 개인정보는 영국 내에 저장해야 한다
    • 미국의 경우도 클라우드법을 통해 미국 클라우드 서비스 제공자가 보유하고 관리하는 메일, 문서, 기타 통신 자료를 포함하여 가입자 정보 등에 대해서 미국 정부 기관은 실제 데이터가 저장되어 있는 위치에 상관없이 데이터를 요청할 수 있다
    • 우리나라에 구축된 미국 기업의 클라우드 서비스라고 하더라도 데이터가 미국 정부 기관에 제공될 수 있는 법적 근거가 마련됨

0개의 댓글