IaaS 구성요소

이태곤·2023년 9월 16일
0

Cloud

목록 보기
3/8
post-thumbnail

1. 가상화란?

  • 컴퓨터의 물리적인 하드웨어를 논리적 객체로 만들어, 컴퓨터에서 가상머신이라는 논리적인 컴퓨터를 여러 대 실행할 수 있는 기술

  • 가상화를 하는 이유 : 실제로 하나의 애플리케이션은 서버의 성능 중 일부만을 사용한다.
    따라서, 하나의 물리 서버에 여러 개의 가상 서버를 두어 자원의 효율성을 극대화하기 위해 사용된다.

  • 클라우드와 가상화 : 가상화 환경이 서비스로 발전 → 클라우드
    → 클라우드는 가상화라는 기술을 이용해서 물리 자원을 여러 개의 가상 머신이 같이 사용할 수 있도록 제공하여 자원을 효율적으로 사용할 수 있게 한다.

  • 가상화의 종류

    • 호스트 OS 가상화 : 호스트 OS 위에 가상화 SW 설치하여 가상 머신 구동하며 모든 하드웨어는 애뮬레이션되어 제공
      → 가상 머신 마다 하드웨어가 애뮬레이션되기 때문에, 제약이 없고 설치 및 운영이 간단하지만 성능이 느리다.
    • 하이퍼바이저 가상화 : 하이퍼바이저는 가상 머신을 생성하고 구동하는 소프트웨어로 호스트 OS 없이 하드웨어 위에서 직접 구동 된다.
      → 애뮬레이션 되는 부분이 적어 리소스를 효율적으로 사용할 수 있지만, 하이퍼바이저를 자체적으로 관리할 수 있는 도구가 없다는 단점이 있다.
      • 전가상화 : 하드웨어 전체가 가상화 되어, 가상 머신이 하이퍼바이저를 직접제어
      • 반가상화 : 하드웨어 일부가 가상화 되어, 가상 머신이 하이퍼바이저에게 요청 후 하이퍼바이저는 하드웨어에게 작업을 위임

2. IaaS 구성요소

  1. 인스턴스(Instance)

    • 클라우드 컴퓨팅은 물리 서버를 가상화하여 논리적 서버인 가상 머신을 사용자에게 제공하는데, 이를 인스턴스라고 부른다.
    • 인스턴스 타입 : 인스턴스에서 사용할 CPU, 메모리 등 자원의 양을 결정해야하며, 타입에 따라 각기 다른 가격 정책을 가지고 있다.
  2. 컨테이너(Container)

    • 소프트웨어 서비스를 실행하는 데 필요한 특정 버전의 언어 런타임 및 라이브러리와 같은 의존성들과 애플리케이션 코드를 포함하는 경량 패키지
    • Instance VS Container
      • Instance : 하이퍼바이저 위에 가상화된 서버로, 하드웨어 외에는 모두 독립적으로 자원을 사용한다.
        → OS를 포함하므로 용량이 크며, 시작 실행시간 시간이 느리다
      • Container : 물리서버 또는 인스턴스 위에 구동될 수 있으며, '격리'라는 개념으로 동작한다.
        → 애플리케이션 및 라이브러리만을 가지고 있기 때문에 가벼우며, 이로 인해 실행시간이 빠르다.
        또한, 필요한 의존성이 이미지 형태로 관리되며, 개발과 운영 환경을 일관되게 유지하고 이미지로 빠르게 컨테이너를 만들어 배포가 가능하다.

  3. 리전과 가용성

    • 리전(Region) : 클라우드 서비스가 구축된 물리적 위치

    • 사용자는 원하는 위치에 해당하는 리전을 선택하여 서비스를 받을 수 있다.

    • 가용성 영역(Availability Zone) : Region 안에 구성된 물리적으로 독립된 구역이며, 한 개의 리전에는 두 개 이상의 가용성 영역이 있다.

    • 리전과 가용성 영역을 통해 다양한 재난 및 재해에 대응할 수 있다.
      → 하나의 가용성 영역에 있는 서버가 가용 불가 상태가 되면, 같은 리전 내의 다른 가용성 영역에 있는 서버가 영속성을 유지할 수 있게 해준다.
  4. 정형 데이터 & 비정형 데이터

    • 정형 데이터 : 데이터가 정해진 형식을 갖는 것
      → 정해진 규격(컬럼 등)에 따른 검색만이 가능
    • 비정형 데이터 : 사진, 문서 등 정형화되지 않은 모든 데이터
      → 메타데이터를 포함하며, 정형 데이터에 비해 많은 공간을 차지
  5. 스토리지

    • 블록 스토리지 : 정보가 없는 일정한 크기로 나뉘어진 데이터 덩어리
      • 하나의 파일은 여러개의 블록으로 나뉘어져 저장되며, 파일 시스템에서 재조립하여 사용되어진다.
      • 수십억 개의 파일을 처리하기에 용량이 부족하다.
      • 폭발적으로 증가하는 비정형 데이터를 다루기에도 적합하지 않다.
      • 활용 예시 : SSD/HDD, 클라우드 인스턴스 내에 디스크
        → OS 내에 있는 파일시스템을 통해 블록 디바이스를 사용

    • 오브젝트 스토리지 : 파일(데이터)과 메타 데이터의 묶음
      • 파일과 같이 계층구조 없이 평면으로 저장되어, 확장성과 접근에 용이하다.
      • 파일시스템이 아닌, HTTP 프로토콜을 사용해서 접근할 수 있다.
      • 무제한의 저장 공간을 가진다.
      • 활용 예시 : 클라우드 드라이브 서비스 → 사용자의 파일을 오브젝트 스토리지에 저장
  6. VPC(Virtual Private Cloud)

    • 클라우드에서 제공하는 가상 네트워크를 부르는 말로, 물리 네트워크를 가상화하여 사용자마다 독립된 네트워크를 제공한다.

    • CIDR : IP주소 영역을 여러 네트워크로 나누기 위해 범위를 나누는 방식
      • IP주소 : 000.000.000.0 → CIDR표기 : 000.000.000.0/24
    • VPC는 사설 네트워크 대역 사용
    • VPC는 여러개의 서브네트워크를 가진다.
  7. 로드밸런서

    • 서비스로 들어오는 트래픽을 분산하기 위한 장치
      → 로드밸런서와 오토스케일링 기능을 통해 클라우드의 장점을 적극적으로 활용할 수 있다.
  8. 클라우드 보안

    • 클라우드 서비스 공급자는 높은 수준의 인프라와 플랫폼 및 서비스를 제공한다.

    • IAM(Identify & Access Management) : 클라우드에서 신원관리(인증, 인가)및 권한을 관리한다.

    • 감사로그(Audit Log) : 클라우드 환경에서 발생하는 모든 활동을 기록한다.
      • 로그인, 액세스, 구성 변경, 시스템 이벤트, 보안 이벤트

    • 시큐리티 그룹 : 인스턴스에 적용하는 가상 방화벽으로 프토토콜, 포트, SA/DA IP 등을 설정할 수 있다.
      • 인바운드 규칙 : 외부에서 인스턴스로 들어오는 트래픽을 제어
        → SSH 접속을 위한 22포트, HTTP 접속을 위한 80포트 등
      • 아웃바운드 규칙 : 인스터스에서 외부로 나가는 트래픽을 제어

    • 클라우드 보안을 통한 장점
      • 넓은 가시성 : 모니터링, 로깅 등을 통해 현재 상황을 정확하게 파악할 수 있다.
      • 중앙 관리형 보안 : 소프트웨어를 통해 중앙 집중식으로 보안을 관리할 수 있다.
      • 비용 절감 : 서비스 사용자는 보안에 대한 하드웨어 기기 구입 및 구성 등의 신경을 쓰지 않고 공급자에게 위임하게 된다.
      • 규정 준수 : 클라우드 보안에 대한 국제 표준을 자동적으로 준수할 수 있게 된다.

0개의 댓글