[SK쉴더스 루키즈 24기] 클라우드 보안(1)

아굥·2025년 2월 14일
1

SK Shieldus Rookies

목록 보기
25/32

이론 설명

1. 클라우드 컴퓨팅 서비스

AWS / Azure / Google Cloud

  • AWS
    • 장점
      • 제품 많음
      • 제품 개발 비용 높음(최신 기술 적용)
      • 자체 반도체 생산
      • 기업 레퍼런스(검증)
      • 시장 독과점 리더
    • 단점
      • 타(Third-Party)와의 페더레이션 용이 X
      • 객단가 높음
      • 많음(MSP, 매니지드 서비스 프로바이더)
      • IaaS/PaaS 시장 지배력은 강하나 SaaS는 마켓 플레이스에 의존적
    • 큰 지사 설립, 동일한 DR 구성, 신규 서비스 단독 런칭 시 사용
  • Azure
    • 장점
      • MS 플랫폼(Window, 코파일럿, AD, IIS 등)와의 연동 효율적
      • B2B(기업용 조직적 기능)
      • 한국 문화적 정서 이해도 높음
      • 다양한 가격 할인 정책 제시
      • KT MOU
      • 하드웨어 통제 원활(MDM, Intune) / 커널 접근 권한 -> 제로 트러스트 만드려는 기업에선 가장 선호
    • 단점
      • 조직적 기능 세팅에 전문성 필요
      • 아키텍처 복잡
      • AWS에 비해 상대적으로 종류, 지원 엔지니어가 적음
    • 임직원 시스템 통제 시 사용
  • Google Cloud(GCP)
    • 장점
      • B2C(유튜브, 구글 검색 엔진, 안드로이드, 오픈소스, Go 등) -> 시장 지배력 Good
      • 다양한 컨텐츠
      • 속도, 성능, 품질 벤치마크 만족도 매우 높음
      • 앱의 통제(MAM, 코드 사이닝)
      • 객단가 낮음
    • 단점
      • 조직적 성격 미흡 -> B2C이므로
      • 마켓 플레이스 X
    • 머신러닝 / HPC / 오픈개발 / 연구 / 객체 분산 병렬에서 사용

=> 보통 멀티 클라우드 환경이 일반적임


2. 클라우드 컴퓨팅 활용

1) 클라우드 인프라가 유리한 경우

  • 유리한 경우: 트래픽 변동이 많은 시스템
    • 클라우드 시스템은 트래픽에 따라 자동으로 사이징 산출 + 인프라 증설해주는 오토 스케일링 기능 존재
      • 사이징(Sizing): 트래픽 양에 따라 서버의 사양이나 네트워크 대역을 가늠하는 것
        - 사이징을 크게 잡으면 -> 낭비, 적게 잡으면 -> 단기간에 증설 힘듦

2) 클라우드 활용시 고려사항

IT 의존도가 높고 기존 시스템 규모가 큰 경우 -> 매우 복잡함

  • 온프레미스와 클라우드 연결

    • 전체 레거시 시스템을 동시에 클라우드로 전환할 수 없음
    • 온프레미스 + 클라우드 환경이 공존하는 상태(=하이브리드 클라우드)에서 비즈니스 유지해야 함
      • 온프레미스 시스템과 클라우드 시스템에 적용할 대상 서비스 및 데이터를 분류
  • 워크로드 산정

    • 종량 과금제에 따라 엔터프라이즈급 리소스를 사용 가능 -> 처리 할 워크로드 정확히 예측 및 통제해야 함
    • 온프레미스 시스템에서 처리 가능한 워크로드를 어떻게 분배할 지 기준 수립 필요
    • 자원 낭비 요소 예방을 위해 성능 튜닝 필요
      • 사용하지 않는 자원 및 서비스는 중단하거나 해제
  • 라이선스 비용 산정

    • 인스턴스에 라이선스 소프트웨어를 설치하는 경우 -> 기존 계약에 포함된 경우 or 따로 구매
  • 클라우드 시스템 관리체계 수립

    • 클라우드에 계속 워크로드, 데이터를 추가 -> 관리 대상 증가 + 인프라 복잡성 증가
      • 서비스와 데이터를 추적하는 프로세스 수립 필요
    • 시스템에 리소스 추가 및 제거하는 기준과 권한 통제 필요

3. Cloud 아키텍처 유형

1) 퍼블릭 클라우드(Public Cloud)

  • 컴퓨팅 리소스를 클라우드 서비스 공급업체가 소유하고 운영 -> 공유 인프라 제공
  • 사용자가 필요한 만큼 리소스를 대여하여 사용 가능
  • 장점: 운영비용 절감, 손쉬운 확장, 유지보수 감소
  • 단점: 데이터 보안 우려, 커스터마이징 제한

2) 프라이빗 클라우드(Private Cloud)

  • 특정 기업이나 기관이 독립적으로 구축 및 운영
  • 자체 온프레미스 데이터 센터에서 별도의 소유 및 관리
  • 장점: 맞춤형 환경 구성 가능, 강력한 보안
  • 단점: 초기 구축 비용이 높고 유지보수 부담

3) 멀티 클라우드(Multi Cloud)

  • 여러 퍼블릭 클라우드 서비스를 조합하여 사용
  • 조직의 다양한 요구사항을 충족할 가능성이 높은 클라우드 서비스를 선택 -> 최적의 솔루션 활용 가능
  • 장점: 벤더 확인(Vendor Lock-in) 방지, 비용 최적화 가능
  • 단점: 여러 클라우드 간 연동 및 관리가 복잡

4) 하이브리드 클라우드 (Hybrid Cloud)

  • 퍼블릭 클라우드(운영 효율성) + 프라이빗 클라우드(데이터 보안)를 결합하여 사용
  • 장점: 보안과 비용 효율성을 모두 고려 가능
  • 단점: 운영 및 관리 복잡성 증가

4. 클라우드 컴퓨팅 특징

  • 요청 기반 자원 할당 및 관리(on-demand self service): 사용자가 직접 필요할 때마다 클라우드 자원 할당 및 관리 가능
  • 광범위한 네트워크 접근성(Broad network access): 인터넷이 연결된 모든 곳에서 사용 가능
  • 자원 공유(Resource pooling): 하나의 클라우드 인프라를 다수의 사용자(테넌트)가 공유하여 사용
  • 빠른 확장성(Repid elasticity): 트래픽 증가에 따라 자동으로 리소스 확장 및 축소 가능
  • 사용량 기반 과금(Measured service): 사용한 만큼만 비용 지불하는 과금 체계

5. 클라우드 서비스 모델

조직에서 클라우드를 사용하는 방식과 클라우드 환경에서 담당하고 있는 관리 수준

  • 사용자의 운영 부담을 줄이기 위해 만들어 짐 -> 일부 측면에 대한 책임은 지도록하여 사용자가 유연하게 클라우스 서비스를 사용할 수 있도록 함

IaaS(Infrastructure as a Service)

  • 사용자에게 인프라 리소스를 가상화된 형태로 제공
    • 기존의 온프레미스 컴퓨팅 리소스와 가장 유사함
    • 물리적 장비 X, 필요할 때만 리소스 확장 및 축소 가능
  • 필요한 모든 보안 구성과 관리 작업, 액세스 제어 구성을 사용자가 해야 함

ex. Amazon EC2, Google Compute Engine

PaaS(Platform as a Service)

  • 애플리케이션을 개발, 실행, 배포할 수 있는 플랫폼 제공
    • 인프라 및 운영체제 관리는 서비스 제공자가 담당
    • 서버 관리없이 개발에만 집중 가능

ex. Google App Engine, Microsoft Azure App Service 등

SaaS(Software as a service)

  • 완전한 애플리케이션을 클라우드 환경에서 서비스 형태로 제공
    • 웹 브라우저나 애플리케이션을 통해서 즉시 사용 가능

ex. 구글 드라이브, Microsoft365 등


6. 베어메탈, 가상화, 컨테이너

1) 베어메탈(Bare Metal)

하드웨어에 운영체제나 애플리케이션이 설치되지 않은 상태

  • 고객이 직접 설치
  • 가상화를 위한 하이퍼바이저 OS 없이 물리 서버를 그대로 제공 -> 하드웨어에 대한 직접 제어 및 OS 설정까지 가능

2) 가상화

가상의 컴퓨터 하드웨어를 만드는 기술

  • 현재 사용 중인 하드웨어에서 구동 할 수 있는 소프트웨어를 실행하기 위해서 사용
  • 베어메탈에 하나 이상의 가상 머신을 생성
  • 하나의 베어메탈을 여러 개의 컴퓨터로 보이게 해서 여러 개의 논리적 운영체제를 작동하게 하는게 목적

하이퍼바이저

  • 가상 머신들이 자신의 가상 운영체제(= 게스트 운영체제)를 실행하고 관리할 수 있게끔 돕는 역할
  • 호스트 머신에서 자원들을 가상 머신에 분배할 수 있도록 도와줌
  • 단일 서버에서 여러 개의 가상 머신 운영 가능

3) 컨테이너

특정 애플리케이션을 실행하기 위해 필요한 라이브러리와 실행 환경을 이미지로 패키징 -> 가상화 기술로 독립적인 실행

  • 별도의 애플리케이션 구동을 위해 운영체제를 부팅할 필요가 없음 -> 실행 환경이 패키징된 구동환경 제공
  • 필요로 하는 요소들만 한번에 묶어서 배포가 가능
  • 가상화와 다르게 호스트 OS의 커널을 공유

7. 서버리스

개발자가 서버를 관리할 필요없이 애플리케이션 빌드 및 실행할 수 있는 클라우드 모델

  • 클라우드 서비스 공급자가 서버를 관리 및 실행하며, 요청이나 특정 이벤트가 있을 때 클라우드의 서버를 이용하거나 서비스 할 어플리케이션을 동작
    • 서버 관리에서 완전히 자유
    • 사용자는 런타임 관리와 운영에 대해 시간을 소모하지 않고 핵심 제품에 집중
  • 동적으로 서버 자원 할당 -> 사용자 없으면 자원 할당 X, 요청 들어오면 자원 할당하여 처리
    • 대기 상태를 제외한 실제 사용 자원에 대해서만 청구

기타 설명

온프레미스(On-Premises)

조직이 자체적으로 보유한 데이터 센터나 서버실에 서버를 두고 직접 관리, 운영하는 방식

  • 서버, 네트워크 장비 등을 직접 구매하고 설치 및 유지보수 하는 부담이 존재함
  • 초기 투자 비용이 큼 -> 인프라 구성에 필요한 장비들은 대부분 고가이므로
  • 중간에 구성을 변경하거나 제거하기 어려움

컨소시엄

  • 특정 목적을 위해 여러 기업이나 기관이 협력하여 구성하는 단체
  • 장점: 공동 연구 개발, 비용 절감 및 리스크 분산, 시장 확장 및 영향력 강화

클라우드 관련 용어

  • 테넌트(Tenant): 서비스 제공자의 클라우드 자원을 대여해 서비스를 이용하는 주체
  • 리소스(Resource): CPU, 메모리, 스토리지, 네트워크 등 클라우드에서 제공하는 IT 자원
  • 인스턴스(Instance): 클라우드에서 실행되는 가상 머신이나 컨테이너
  • 워크로드(Workload): 클라우드에서 실행되는 애플리케이션 및 서비스의 총합

오토 스케일링

사용량이 급증할 때 자동으로 서버를 추가 배포하고, 트래픽이 줄면 서버를 축소하는 기능

  • 사용하는 경우
    • 예상하지 못하는 트래픽 과부하
    • 사이트 폭증이 예상되는 경우
profile
열심히 살아보아요

0개의 댓글