푸르미르

클라우드 컴퓨팅이란? 본문

SECURITY/클라우드 보안

클라우드 컴퓨팅이란?

((•_•)) 2021. 7. 3. 18:55

클라우드 컴퓨팅 개념

  • 정보통신자원을 이용자의 요구나 수요 변화에 따라 정보통신망을 통하여 유동적으로 이용할 수 있도록 하는 정보처리체계
  • 이용자가 it자원을 필요한 만큼 빌려서 사용하고, 서비스 부하에 따라서 elasticity있게 회수 또는 할당하며 실시간 확장성을 지원받는다.
  • 가상화기술을 적용하여 다수의 가상머신 운용이 가능하기 때문에 물리적인 장치 구입 비용과 시간이 절감된다.
  • 하지만 데이터가 클라우드 서버로 집중되어있는 외부 위탁 구조로, 중앙 집중식 관리가 이루어 지기 때문에 클라우드 해킹 성공 시 피해가 클 수 있다.
  • IoT 기술과 연계하여 사용되면 시너지 효과가 날 수 있는 기술이다.
  • 멀티 tenant 환경으로 다수의 이용자가 하나의 서비스를 공유한다.

 

온프레미스 환경 구축 클라우드 환경 구축
높은 CAPEX & OPEX OPEX로 대체, 낮은 CAPEX
구매 & 설치 --> 시간 좀 많이 소요 신청 후 빠른 서비스 이용가능
지리적으로 한정O 지리적, 시간적 한정X
한정된 트래픽 처리 대규모 트래픽 수용 가능
고정 용량 및 정해진 자원 할당 유연한 용량 및 효율적인 자원 할당

 

클라우드 컴퓨팅 분류

1. 서비스 모델에 따른 분류

  • IaaS : 서버, 스토리지, 네트워크 등 인프라 자원을 사용량 기반으로 제공
  • PaaS : 개발자가 자신의 애플리케이션을 개발, 테스트, 실행 할 수 있는 컴퓨팅 플랫폼 제공
  • SaaS : 소프트웨어/애플리케이션을 제공하는 목적으로 만들어진 모델, 표준화된 애플리케이션 프로세스 제공

 

2. 배치 모델에 따른 분류

  • Private cloud: 회사 등 어떠한 공동체 안에 클라우드를 만들어 팀원, 회원 등 그룹 안의 사람들만 쓸 수 있게 한다. /장점: 사용기관에 맞는 personalized된 커스터마이징 가능하고 주요한 정보를 사내에 직접 위치시킬 수 있다. 외부로의 네트워크 연결에 대해 크게 고려하지 않는다., 단점: 초기 도입 비용이 비싸고 구축에도 시간이 걸림
  • Public cloud:클라우드 기업들(AWS )에 가입을 해서 사용 -> 구독Vendor lock- in 이 적다.클라우드 사업자가 클라우드 서비스와 사용자를 위한 접근제어 기능 제공/ 장점: CAPEX 적음. 유지보수 및 자원 관리가 쉽고 싸다. 중소기업, 개인이 사용 가능., 단점: 클라우드 환경 personal한 커스터마이징이 제한됨
  • Hybrid cloud: Private cloud와 Public cloud를 함께 사용 / 단점: 프라이빗한 데이터랑 퍼블릭한 데이터랑 두개를 나눌 수 있을 때만 하이브리드 클라우드의 의미가 있다.
공통 클라우드 정보보호 요구 사항
외부에서 내부(클라우드) 시스템 접속이 이루어져야 함에 따라 통신 구간 암호화, 내부 시스템 보호를 위한 방화벽, 침입방지 시스템 구축 등 주요 보호 조치가 필요!

 

클라우드 컴퓨팅 가상화 기술

1. virtualization이란?

  • 단일의 하드웨어 상에서 복수개의 논리적인 가상머신을 동시에 구동하도록 하능케 하는 기술 --> 하드웨어의 가동률을 높이기 위한 기술
  • 관리과정이 수분내에 이루어 질 수 있는 등 자원(resource)들의 설치 및 관리가 용이하도록 한다.
  • 전가상화 : full-virtualization -> 게스트os를 수정하지 않고 고대로 사용 -> 게스트 운영체제가 하드웨어에 접근해야 할 때 하드웨어의 cpu가 가상화 기능(vt기능)을 지원하는지 확인 후 지원하는 것이 확인된 경우, 하드웨어 제어 요구를 호스트 운영체제에 전송한다. 그러면 호스트 운영체제가 하드웨어에 접속하여 제어할 수 있도록 해줌. -> 반가상화보다 복잡한 이유는 cpu vt기능이 지원되는지 확인해야해서 그럼.
  • 반가상화 : para-virtualization -> 게스트os를 수정해야 함 -> 운영체제를 수정한다는 것은 반가상화는 사용될 수 있는 os가 한정적이라는 것. -> 수정된 게스트 운영체제가 하드웨어에 접근해야 할 때 vmm(hypervisor)을 통해 하드웨어에 접근

 

2. hypervisor란?

    • VMM(virtual machine monitor) -> 가상머신과 물리적 리소스에 대한 모니터링을 하고 가상 리소스(가상머신)와 물리적 리소스(하드웨어)를 중계함.
    • Type1 하이퍼바이저: bare-metal 타입/하드웨어 상에서 직접 동작, 이 하이퍼바이저 상부에 가상머신들이 동작 할 수 있는 환경을 제공/ 고성능의 가상화 제공
    • Type2 하이퍼바이저: hosted 타입/ 호스트 운영체제 위에 하이퍼바이저가 위치하는 구조로 동작/ 사용상의 편의성이 좋음

출처: 한국인터넷진흥원

 

3. container기술이란?

  • 필요배경 : 가상머신을 이용한 가상화 기술은 하이퍼바이저를 통해 다양한 os 환경을 구축할 수 있다는 이점이 있으나, 가상머신마다 os가 설치되기 때문에 하이퍼바이저와 os운영으로 인한 오버헤드가 발생하며 개발자는 운영체제 및 커널의 버전을 고려해 개발환경을 구축해야하는 부담이 있다.
  • 단일서버 및 호스트 위에서 독립적인 응용프로그램이 구동되도록 하는 기술이다! 운영체제에 대한 가상화(<->가상머신은 하드웨어에 대한 가상화) -> 컨테이너 엔진 위에서 app단위로 독립적임.

 

  • 도커: 컨테이너 기반 오픈소스 가상화 플렛폼/ 이미지와 컨테이너로 구성/ 이미지 = 서비스 운영에 필요한 프로그램, 라이브러리를 포함한 파일, 컨테이너 = 이미지를 실행한 상태/ 이미지 배포 가능 -> 하나의 이미지로 여러 개 컨테이너 생성 가능 -> 클라우드의 auto scaling과 시너지 효과 가능
  • 클라우드는 비용지불을 구동한 가상머신의 개수를 기준으로 한다. 그래서 컨테이너를 사용한다면 비용절감이 가능하다. 왜냐하면 한 가상머신에 여러 개의 컨테이너를 생성하여 서비스 환경을 구축하는 방법이 있기 때문이다.

 

4. Virtualization과 컨테이너의 차이

  • 가상화와 달리 컨테이너는 리눅스 커널의 기능인 cgroup namespace를 통해 서로 다른 어플리케이션 프로세스별 공간을 격리한다.
  • 컨테이너가 호스트 os 자원을 공유하기 때문에 격리된 공간마다 게스트 os를 설치할 필요가 없다. 따라서 가상머신 환경에 비해 오버헤드가 적으며, 가상하드 디스크 용량이 GB 단위인 가상머신에 비해 이미지 용량이 수백 MB로 작고 설치가 빠르다는 이점을 지닌다.

 

출처: 한국인터넷진흥원

 

 

 

 

[출처, 참고]한국인터넷진흥원