네트워크보안 2주차

CDH·2024년 9월 13일

▶클라우드 서비스

클라우드(IaaS/PaaS) 제공 대표 서비스

가상서버

• CPU, 메모리, 스토리지 같은 하드웨어 자원을 소프트웨어로 논리적으로 나누어 사용
• 가상 CPU의 성능과 메모리 용량을 사용 용도와 시스템 규모에 맞게 선택

• 클라우드 서비스를 구성하는 가장 기본 요소 → 시간 단위로 과금
• 하드웨어 리소스를 논리적으로 구성
• 물리 서버 한 대의 리소스를 여러 개의 가상 서버로 나누거나
• 다수의 물리 서버의 리소스를 한 대의 가상 서버로 통합해서 사용
• 가상서버는 하드웨어를 에뮬레이션하기 때문에,
가상화 하지 않은 서버(베어메탈 서버)에 비해 성능이 떨어짐


로드 밸런서

- 이중화 : 서버의 장애(문제)를 대비해서 같은 서버를 두 개로 만듦 (둘다 실행 or 문제시 실행)

- 부하 분산 : 트래픽이 한쪽으로 모이지 않도록 해줌

• 가상 서버를 이중화 하거나 부하 분산
• 오토스케일링
• 접속량 및 통신량에 따라 가상 서버의 개수를 자동으로 늘리거나 줄임

- 시스템의 이중화 및 분산 처리 지원

• 리전(Region) : 지리적으로 떨어진 독립된 지역 (예) 서울, 도쿄, 미국 등
• 존(Zone) : 같은 지역 내의 독립적인(빌딩 등 물리적으로 격리된) 지역

- L4 & L7 로드밸런서

• L4 : 전송계층(Transport Layer)에서 동작, IP/Port 기반으로 트래픽 분산
• L7 : 응용계층(Application Layer)에서 동작, 웹 어플리케이션에 따라 트래픽 분산

- 알고리즘

• 라운드 로빈 : 트래픽을 순서대로 배분
• 가중 라운드 로빈 : 각 서버에 가중치를 부여하여 가중치 높은 서버에 우선 배분
• 최소 연결 : 현재 연결되어 있는 클라이언트 수가 적은 순으로 배분
• 최소 응답시간 : 가장 빠른 응답시간을 가진 서버에 배분
• 최소 부하 : 서버들의 현재 부하 상태를 고려해 가장 적은 부하를 가진 서버에 배분


스토리지 (컴퓨터의 하드디스크와 같은 역할)

• 데이터, 콘텐츠 아카이브(보관), 백업(보호), 파일 서버의 사용, 시스템의 재해 대책(DisasterRecovery) 등 다양한 용도로 사용


가상서버 예시) Amazon EC2


베어메탈(Bare Metal) 서버

• 가상화 방식과 다르게 하드웨어의 모든 성능을 사용할 수 있는 서버
• 즉, 하나의 물리적 하드웨어에 하나의 서버가 설치되는 것
• 높은 성능이 필요한 경우 사용


※가용성 : 시스템이나 서비스가 언제든지 사용 가능하고 정상적으로 작동할 수 있는 능력

-가용성이 높다 = 언제든 쓸 수 있음
-가용성 낮다 = 특정 상황에서만 사용 가능


오토스케일링(Auto Scaling)

- 부하에 따라 컴퓨팅 자원(CPU, 메모리, 네워크 등)을 유연하게 증감시키는 기능

• 시시각각 변하는 부하에 즉각 대응 및 효율적 운영
• 서비스 성능 및 가용성 보장
• 초기 구축 시 서버 사양을 적게 시작하여 비용 절감

- 동작 방식

• 스케일 업/다운 : 서버의 CPU, 메모리 등을 업그레이드, 다운그레이드 방식(예) DB
• 스케일 인/아웃 : 동일 규격 서버의 수량을 증감하여 부하 분산하는 방식


백업(스냅샷)

- 정기적 백업 수행

• 수동 혹은 사용자 설정 시간(매주, 매월 등)에 자동으로 백업 수행

- 재해 대책(Disaster Recovery, DR)

• 천재지변, 테러 등으로 서비스 중단 시 데이터를 보존하고 자동 복구하는 대책
• 재해 복구 수준에 따라
• 미러 사이트(즉시), 핫 사이트(24시간 이내 복구), 웜 사이트(일/주), 콜드 사이트(주/달)

- 비즈니스 연속성 계획(Business Continuity Plan, BCP)

• 자연 재해, 테러 등으로 자산이 손상되더라도 피해를 최소화하고, 사업 활동을 재개할 수
있는 수단과 방법을 계획하는 것
• 서버 및 데이터베이스 스냅샷을 백업 사이트에 저장 → 복구 시 활용
• (예) 하이브리드 클라우드(온프레미스 + 클라우드)로 백업 체제 구축


스토리지 서비스

  • 데이터 아카이브(보관) 및 백업(보호), 파일 서버, 재해 대책(DR) 등의 용도로 사용
  • 빅데이터 분석을 위한 데이터 공유 /저장 용도로 많이 사용
    예) Dropbox, OneDrive, Box 등

-Amazon Web Service(AWS)의 대표 스토리지 서비스

  • S3(Amazon Simple Storage Service)
    -데이터를 파일 단위로 저장/검색/삭제 하는 저장소
    -뛰어난 견고성, 내구성 보장으로 데이터의 영구적인 저장에 적합
    -사용한 용량 만큼 요금 부과

  • Amazon S3 Glacier : 빈번하게 읽을 필요가 없는 장기 보존용 데이터

  • EBS(Amazon Elastic Block Store) : 엄격한 응답이 요구되는 DB 용도

  • EFS(Amazon Elastic File System) : 기업의 파일 서버로 사용


네트워크 서비스

VPC(Virtual Private Cloud)

-가상 네트워크를 만들어, 개인 클라우드처럼 사용할 수 있는 서비스
-임의의 사설 IP 주소 설정(10.0.0.0/16) ▶ 여기서 16은 16비트를 의미
-서브넷에 가상 서버(인스턴스) 배치

보안 기능 (네트워크 관련)

-통신 사업자의 VPN 망 직접 연결
-VPN 게이트웨이와 IPsec 암호화 통신
-필터링을 통한 통신 차단(방화벽 기능)
-보안 그룹 정책


데이터베이스 서비스(AWS)

Amazon RDSAmazon DynamoDB
- RDBMS(관계형 데이터베이스 서비스)- NoSQL 서비스
- MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server,
Aurora, MariaDB 등 6종의 데이터베이스 엔진 지원
- 비관계형, 빠르고 가용성이 높음
- 데이터베이스 용량을 자동 확장 가능
Amazon ElastiCacheAmazon Redshift
- 인 메모리 캐시 서비스- 데이터웨어하우스 서비스
- 데이터베이스에 전송한 쿼리의 결과를 캐시하는 용도로 사용
하여, 웹 시스템의 고속화를 실현
- 분석용 데이터 처리에 특화
- 캐시 엔진으로는 Memcached, Redis를 지원- 페타바이트급의 데이터를 처리할 수 있음
- 빠른 속도와 빈틈없는 관리

클라우드 이전

- 리프트 앤 시프트(Lift and Shift)

• 온프레미스 시스템과의 호환성을 위해 기존 시스템을 변경하지 않고 그대로 들어서
클라우드로 옮기고(Lift), 수시로 클라우드에 최적화(Shift) 하는 전략

• 온프레미스 시스템을 클라우드 서비스로 이전할 때, 애플리케이션 단위는 쉬우나 시스템은 구성이 바뀌어야 하는 문제 발생

• 대부분 기업에서 VMware를 활용함에 따라 클라우드 사업자가 호환 서비스 제공하고 있음
    •VMware Cloud on AWS
    •VMware on IBM Cloud

개념설명
클라우드 네이티브 시프트클라우드의 기능을 전제로 시스템을 쇄신하고, 클라우드 환경에 맞춘 개발 및 운영 방식을 채택
기존 IT 시스템과 클라우드 네이티브의 공존기존 온프레미스 시스템을 클라우드로 마이그레이션하고 일부 클라우드 기능을 채택하여 표준화 및 자동화 도모
리프트 앤 시프트시스템 구성을 거의 바꾸지 않고 온프레미스 시스템을 클라우드로 전환하며, 필요할 때 개선 (VMware가 이 방식을 많이 지원)
애플리케이션 단위의 시프트전체 시스템에 영향을 적게 미치는 애플리케이션만 클라우드로 옮기며, 점진적으로 클라우드로 전환


클라우드 기타 서비스(예시)

데이터 분석 서비스(Google Cloud Platform)

   - BigQuery : 대용량 데이터를 빠르게 분석할 수 있는 데이터웨어하우스 서비스
  - Cloud Data flow : 배치 데이터와 스트리밍 데이터를 실시간으로 취득/변환/분석/분류
  - Cloud Dataprep : 분석용 데이터를 간단하게 가공

IoT 서비스(AWS)

   - AWS IoT SiteWise : 수집
  - Amazon Timestream : 시계열 데이터베이스 저장
  - AWS IoT Events : 이상 감지 등 모니터링

AI/기계학습 서비스

   - 라이브러리를 이용해 사용자 스스로 기계학습 진행
  - 미리 대량의 데이터로 학습한 모델을 제공


클라우드 시스템 구축

-클라우드 서비스가 제공하는 표준화된 서비스(기능)를 조합하는 개념

-클라우드는 자유도가 낮지만, 시스템 구축의 노하우가 공유되고 있음

→ 클라우드 사업자의 노하우를 모방하여, 안전하고 효과적인 클라우드 환경을 빠르
게 구축

- 클라우드를 이용한 대표적인 사고방식

• 로드 밸런서와 오토 스케일 기능으로 시스템을 확장할 수 있도록 만듦
• 하나의 존에서 장애가 발생하더라도 문제가 없도록 멀티 존으로 구성
• 서버 등의 다운을 모니터링하고 자동으로 복구하도록 구성
• 시스템을 자동으로 복사하여, 백업할 수 있도록 함
• API를 통해 다른 서비스와 연계시키는 환경을 유지
• 온프레미스 및 기타 클라우드 서비스로 이전할 가능성도 고려함


클라우드 관리 플랫폼(CMP)

- 필요성

• 서버의 이용 증가
• 여러 개의 클라우드 서비스 이용
• 서버 환경 구축의 자동화
• 여러 클라우드의 통합 관리

- 주요 관리 기능

• 구성 관리 : 서버, 네트워크 등의 구성 및 관리 기능
• 성능 관리 : 시스템 및 서버 환경의 CPU, 메모리 등 모니터링
• 운영 관리 : 정기적인 작업(백업, 리소스 모니터링 등)을 운영, 관리
• 멀티 클라우드 관리 : 클라우드 서비스 별 통합 관리
• 사용자 관리 : 소속 및 직위에 따른 접근 권한 설정

- VMware, IBM Cloud Orchestrator, Flexera Rightscale, datadog, 와탭랩스, 엑셈, 제니퍼, 오픈마루 등




▶클라우드를 실현하는 기술


가상화 기술

- 가상화

• 하드웨어 리소스(CPU, 메모리, 스토리지)를 논리적으로 다루는 기술
• 서버 가상화, 네트워크 가상화, 스토리지 가상화

- 서버 가상화 장점

• 물리 서버 하나의 라소스를 여러 개의 서버 환경으로 할당 → 각각 OS 및 app 실행
• 물리 서버 수를 줄여 공간 절약 및 비용 절감
• 가상 서버 중 하나가 장애(바이러스 등)가 발생하더라도 다른 가상 서버에 영향 X

- 서버 가상화 기술

컨테이너 기술

  • 애플리케이션의 실행 영역(유저영역 = 컨테이너)을 여러 개로 나누어 사용
    • 각 컨테이너는 독립적으로 애플리케이션 실행 가능
    • 호스트 OS 입장에서는 하나의 프로세스(실행 중인 프로그램)
  • 컨테이너는 애플리케이션의 실행 환경을 가상화
    • cf. 서버 가상화는 하드웨어 환경을 통째로 가상화
  • 가상 서버보다 가상화 오버헤드가 적어 빠르게 기동/정지 가능
  • 하드웨어 리소스 사용이 적어 1대의 물리 서버에 많은 컨테이너 동작 가능
  • 컨테이너 단위로 패키징 되어 클라우드 간 복제 및 이식성 우수
  • 대표 컨테이너 타입 가상화 소프트웨어 = Docker
  • 컨테이너 타입 가상화 소프트웨어 운영 관리 도구 = Kubernetes(K8S)

하이퍼바이저 형 vs 컨테이너 형

장점장점
- 가상 서버마다 OS 선택 가능
- 가상 서버들이 완전히 분리
- 하나의 가상 서버가 사이버 공격을 받
아도 다른 가상 서버에게 피해가 미치지
못함
- 다른 컨테이너에 복사하거나 마이그레이션 하기 쉽다
- 가상화 환경 위에서 별도의 OS를 동작시킬 필요가 없어
하드웨어 리소스 적고 부팅이 빠름
단점단점
- 가상 서버마다 OS가 필요하므로 CPU,
메모리, 스토리지 등의 하드웨어 리소스
사용량 많음

- 가상 서버의 부팅 시간이 많이 걸림
- 호스트 OS와 컨테이너는 커널을 공유
(Linux 커널에서 window 컨테이너 동작 불가능)
- 하나의 호스트 OS가 여러 개의 컨테이너를
동작시키므로 한 컨테이너가 사이버 공격을 받으면 다른
컨테이너도 위험에 노출

스토리지 기술

- 블록 스토리지

• 일정한 크기의 블록으로 나뉜 스토리지의 논리 볼륨을 블록 단위로 액세스
• 서버, 스토리지 간 데이터 교환의 오버헤드가 적어 빠른 데이터 전송 가능
• 낮은 레이터시가 요구되는 데이터베이스로 사용

- 파일 스토리지

• 파일 그대로 읽고 쓸 수 있으며, 공유할 수 있는 스토리지
• SMB, NFS, NAS

- 오브젝트(객체) 스토리지

• 데이터를 오브젝트(객체) 단위로 처리
• 오브젝트는 데이터 및 메타 데이터로 구성되며, 고유한 ID(URI)가 부여됨
• 대규모 비정형 데이터에 낮은 빈도로 접근하는 환경에서 사용
• HTTP 프로토콜 기반의 REST 형식의 API 사용

※ REST API : 명시된 자원(URI)에 대해 CRUD를 적용(POST(생성)/GET(조회)/PUT(수정)/DELETE(삭제))


네트워크 가상화 기술

- VLAN(Virtual LAN)

• 하나의 물리적인 네트워크를 여러 개의 논리적인 네트워크로 분할하는 기술
• 물리적 배선을 변경하지 않고, 설정을 통해 네트워크를 나눔
• 논리적으로 분할된 네트워크들은 라우터를 거치지 않으면 통신 안됨
• 클라우드 서비스와 데이터 센터 사이에 VLAN 구축을 통해 프라이빗 환경 구축

- VPN(Virtual Private Network)

• 가상으로 전용선과 같은 사설망을 연결하는 기술
• 암호화와 인증을 추가한 IPsec 프로토콜 사용

- NFV(Network Functions Virtualization)

• 네트워크 기능을 소프트웨어 구현하여 가상 서버 위에 구축하는 기술
• 네트워크 장비(라우터, 게이트웨이, 방화벽, 로드 밸런서 등)의 기능을 소프트웨어로 구현
• 네트워크 장비의 수요 및 구성 변경 등에도 유연하게 대응


SDN(Software Defined Networking)

- 서버 가상화, 클라우드 발전에 따라 시스템 통합관리, 운영 자동화 진행,

But, 네트워크는 기존과 같은 방식으로 하드웨어 별 운영/관리되고 있는 실정

- 서버 가상화 및 클라우드는 네트워크 트래픽의 급속한 증감 및 경로 변경 초래

- 이에, 네트워크 가상화를 통해 네트워크 구성과 기능 설정을 소프트웨어로 구현

- SDN

   • 통신의 전송기능(데이터 플레인)과 제어 기능(컨트롤 플레인)을 분리
   • 제어 기능을 컨트롤러에 할당하고 데이터의 흐름을 소프트웨어로 정의함
   • 네트워크 가동 상황/운영에 맞추어 소프트웨어로 유연하게 데이터 전송 경로를 변경

데이터베이스 기술

- RDB(Relational Database)

• 여러 개의 데이터를 행과 열이 있는 표 형식으로 표현
• 복잡한 데이터의 관계를 처리할 수 있도록 만든 데이터베이스
• Oracle Database, MySQL, Microsoft SQL Server, PostgreSQL

- NoSQL(Not only SQL)

  • RDB와 같은 관계형 데이터베이스가 아닌 데이터베이스
  • 대량의 데이터를 분산시켜 고속으로 처리하는 분산 데이터베이스 → IoT, 빅데이터 활용
  • 매우 단순한 쿼리만 지원
  • 어떤 쿼리 결과가 필요한지 정의한 후 그 결과에 맞는 테이블 디자인
  • 종류
      •문서 지향 형 : 복잡한 데이터를 문서에 저장하고 문서 데이터로 데이터 저장 및 관리
      •키 밸류 형 : 모든 데이터는 인덱싱 된 값으로 구성, 데이터 읽기 속도 빠름
      •그래프 형 : 데이터 간의 관계를 그래프로 형성
      •컬럼 지향 형 : 컬럼(열) 단위로 데이터 보관, 데이터 쓰기 속도 빠름

분산 처리 기술

- 데이터를 여러 개의 서버에 나누어 병렬로 처리

- 클러스터링 : 대량의 데이터를 분산처리하기 위해 여러 개의 서버를 결합하여 하나의 컴퓨터로 보이게 만듦

   • 일부 서버가 장애가 발생해도 나머지 서버에서 자동으로 작업을 할당해 작업 수행

- Apache Hadoop

• 1대의 마스터 서버가 여러 개의 슬레이브 서버를 관리
• 마스터 서버 : 제어, 슬레이브 서버 : 연산
• 처리 능력은 슬레이브 서버의 대수에 비례(데이터 처리 양)

- Apache Spark

• 메모리 안에서 대용량 데이터의 병렬 분산 처리 실행
• 메모리 안에서 실행하므로 속도가 매우 빠름
• 대용량 데이터 처리는 적합하지 않음
• 기계학습과 같은 데이터를 반복하는 고급 데이터 분석 수행에 적합


엣지 컴퓨팅(1)

• 서버를 말단 디바이스에 가까운 영역에 분산 배치하여 데이터를 처리

• 클라우드 컴퓨팅은 서버를 한곳에 모아 집중처리
  But, 엣지 컴퓨팅은 말단에서 분산 처리

• 디지털 데이터의 폭발적 증가와 낮은 지연(실시간)이 요구되는 애플리케이션 증가
• 실시간 데이터 처리와 높은 신뢰성 보장
• 디바이스 고도화/소형화/저전력화/비용 절감에 따른 엣지 컴퓨팅 보급 가속화
• CPU/GPU 탑재된 엣지 컴퓨팅 디바이스 등장

엣지 컴퓨팅(2)

• 데이터를 클라우드에서 처리할 경우 문제점
• 통신 데이터 증가에 따른 네트워크 대역폭을 많이 소모
• 회선 이용료 등의 비용 증가
• 클라우드 서버와 거리가 멀 경우 응답 시간이 지연
• 네트워크 장애로 데이터 처리 불가한 경우 있음
• (보안 정책이나 국가 및 지역의 사정에 따라) 클라우드로 데이터 전송 불가할 수 있음


하이퍼 컨버지드 인프라스트럭처

- 컨버지드 인프라

• 서버, 네트워크, 스토리지, 소프트웨어(하이퍼바이저 및 운영 관리 도구) 등을 하나의
패키지에 통합한 제품
• 제조사가 사전에 호환성 검증 및 최적화된 구성으로 출하
• 정형화된 구축 방법이 문서화 되어 있어 단기간에 안정적인 운용 가능
• 하나의 패키지이므로 문의 창구가 일원화

- 하이퍼 컨버지드 인프라

• 클라우드 서비스의 기본 기능을 패키지로 제공하는 제품
• 소프트웨어(가상화) 기반의 서버, 네트워크, 스토리지 등의 구성요소가 통합
• 인프라는 서버, 네트워크, 스토리지를 모듈 단위로 구성
• 소프트웨어로 전체 시스템의 구성 설정 및 구성 방법 변경
• 하나의 벤더로 부터 지원 받아 전체를 하나의 시스템으로 관리


GPU(Graphics Processing Unit)

  • 단순하고 방대한 연산 처리가 필요한 컴퓨터 그래픽과 딥러닝에서 많이 사용
  • GPGPU(General Purpose computing on GPU)
    • 기계학습, 딥러닝(심층학습) 등장에 따라, 기존 GPU를 보완해 CPU의 기능을 추가해
    연산 속도 향상

- CPU vs GPU


데이터 센터

• 지진, 해일 등 자연 재해 위험 적은 곳
• 지반이 딱딱한 장소
• 대규모 지진에 대비한 내진 설계
• 출입 관리 엄격
• 냉난방 시설, 전력 및 통신 다중화
• 전기 요금 증가 및 에너지 절약을 위해 자연 환경 적극 활용
https://datacenters.microsoft.com/globe/explore/datacenter/


서버리스 아키텍처(1)

- 서버리스 : 클라우드 사업자가 서버의 운영과 관리를 모두 담당해 사용자는 서버의 존재를 의식하지 않아도 된다는 의미

- 마이크로 서비스 아키텍처(MSA)

• 하나의 애플리케이션을 작은 서비스의 집합체로 구축하며, API로 연계
• 클라우드 사업자는 서버, 스토리지, DB, 네트워크 등 독립적인 컴포넌트를
제공하지만 서로 느슨한 결합을 통해 전체 기능을 구현

- 서버리스 아키텍처

• MSA로 구성된 각 컴포넌트를 조합하고, 클라우드 사업자가 모두 관리하는 경우
사용자는 서버의 존재를 의식하지 않은 상태에서 애플리케이션을 동작할 수 있음

장점단점
• 실제 사용량에 대해서만 비용 청구• 서버가 항상 대기하고 있지 않아 IaaS, PaaS 보다 느림
• 인프라에 신경 쓸 필요 없음• 애플리케이션의 구조 자체를 바꿔야 해 다른 플랫폼으로 이전이 어려움
(예: AWS → Google Cloud로 이전)
• 요청이 들어올 때만 실행• 단순 작업은 적합하나 긴 시간을 요하는 작업은 비효율
• 동적으로 자원을 할당해 가용성 높음• 함수 호출 시 사용할 수 있는 메모리 및 시간 제한

서버리스 아키텍처(2)

- FaaS(Function as a Service)

• 이벤트에 따라 동작하는 함수로 구성
• 작성한 코드를 서버리스 서버에 업로드하면, 서버는 업로드한 코드를 함수 단위로 쪼갬
• 요청이 들어오면 서버가 대기상태로 두었던 함수를 실행
• 작업을 마치면 다시 대기 상태로 만듦
• 비용은 함수 호출 횟수, 걸리는 시간에 따라 청구
• AWS Lambda, MS Azure Function, Google Cloud Function

- BaaS(Backend as a Service)

• 백엔드 개발에 필요한 여러 기능을 API로 제공하는 서비스
• SNS 연동, DB와 같이 백엔드에 필요한 기능을 API로 기능을 구현할 수 있게 해 줌
• 클라우드 사업자가 백엔드 개발 환경을 제공한다는 의미
• 복잡한 백엔드 기능을 개발자가 직접 개발하지 않고, 클라우드 사업자의 서비스를
이용해 쉽고 안정적으로 구현
• Google Firebase


마이크로 서비스 아키텍처(MSA)

- 기존(Monolithic)의 한계

• 전체 시스템 구조 파악 문제
• 빌드 시간 및 테스트, 배포 시간의 급증
• 서비스의 특정 부분만 Scale-out하기 어려움
• 부분 장애가 전체 서비스의 장애로 이어짐

- MSA의 장점

• 배포: 서비스 별 개별 배포 가능
• 확장성: 특정 서비스에 대해 Scale-out 가능
• 장애 해결: 부분 장애에 대해 격리해서 확장 되지 않음

- MSA의 단점

• 서비스 간 API 호출 시 통신 비용이나 레이턴시 이슈
• 서비스가 분리되어 있어 테스트 등 복잡도 증가
• 데이터가 분산되어 있어 조회 및 관리 어려움


▶ 기타용어

CSP / MSP

- CSP(Cloud Service Provider)

• 클라우드 인프라 제공
• 자체 데이터 센터에서 가상화한 서버, 네트워크, 스토리지 등을 제공

- MSP(Managed Service Provider)

• CSP와 고객을 연결하는 역할
• 클라우드 도입에 필요한 컨설팅, 아키텍처 구축, 모니터링, 보안 등 제공
• 국내 업체: 삼성 SDS, SK C&C, LG CNS 등

- MSP를 통해 최적화된 클라우드 아키텍처를 설계, 운영함으로써 비즈니스의

비용절감, 비즈니스 연속성 수행


프로비저닝

- 사용자가 요청한 IT 자원을 사용할 수 있는 상태로 준비하는 것

- 서버 자원 프로비저닝

• CPU, 메모리, IO 등과 같은 실제 서버의 자원을 할당해주고 운영할 수 있게 제공해 주는 것

- OS 프로비저닝

• OS를 서버에 설치하고 구성 작업을 해서 사용할 수 있도록 제공하는 것

- 소프트웨어 프로비저닝

• WAS, DBMS 등의 소프트웨어를 설치하고 세팅하여 실행할 수 있도록 제공하는 것

- 스토리지 프로비저닝

• 데이터를 저장하고 관리할 수 있는 스토리지를 제공하는 것
• 클라우드에서는 스토리지 종류와 용도에 따라 다양한 방식으로 제공됨

- 계정 프로비저닝

• 접근 권한을 가진 계정을 제공해 주는 것
• 클라우드에서 관리자가 변경될 경우 권한의 인계를 계정 프로비저닝을 통해 진행함


탄력적 컴퓨팅

• Elastic Computing(cf. AWS의 EC2)

• 피크 사용에 대한 용량 계획 및 엔지니어링에 대한 걱정 없이 변화하는
요구사항을 충족하도록 컴퓨터 자원을 신속히 확장/축소하는 기능

• 일반적으로, 시스템 모니터링 도구로 제어

• 진행중인 작업을 중단시키지 않고 실제로 필요한 리소스 양에 따라 자동 조절
  → 불필요한 속도 저하, 서비스 중단을 피함

• 회사가 사용하지 않는 용량이나 유휴 리소스에 대한 비용 절감

데브옵스(DevOps)

- 목표 : 개발/운영의 협업으로 빠른 소프트웨어 릴리즈 및 서비스 제공, 이슈 해결 등

- 소프트웨어의 개발(Dev)와 운영(Ops)를 연계하는 방법론, 개발팀과 운영팀의

협업 강조

- 데브옵스 실천법

  • 지속적인 통합(CI)
    • 개발자들이 자주(하루 한번이상) 코드를 공유 리포지토리에 병합하는 프로세스, 이를 통해 코드 변경 사항의 충돌을 최소화 하고, 문제를 빠르게 발견, 해결함

  • 지속적인 배포(CD)
    • 개발된 소프트웨어를 자동으로 프로덕션 환경으로 배포하는 프로세스, 신규 버전의
    애플리케이션을 사용자에게 빠르게 제공할 수 있음

  • 자동화
    • 테스트, 배포, 모니터링 등과 같은 반복적인 작업을 자동화하여 시간 절약 및 오류를 줄임

  • 협업과 공유
    • 개발자와 운영팀 간의 긴밀한 협업과 서로의 작업에 대해 이해하여 전체 소프트웨어 개발, 배포 프로세스 개선


클라우드 네이티브

- 클라우드 환경에서 가장 효과적으로 동작하는 애플리케이션 개발 및 운영 방식

- 주요기술

• 마이크로서비스 아키텍처(MSA)
• 컨테이너 기술
• 데브옵스(DevOps)
• 지속적인 통합과 지속적인 배포(CI/CD)

- 애플리케이션이 하나의 큰 Monolith가 아닌 여러 개의 독립적인 마이크로서비스로 분할하어 개발

- 각각의 서비스는 독립적으로 개발, 테스트, 배포, 확장 될 수 있음

- 컨테이너 기술로 패키징하여 어떤 클라우드 환경에서도 동일하게 실행되도록 함


IAM(Identity and Access Management)

- 사용자가 누구인지, 어떤 권한을 갖는지, 어떤 리소스에 접근할 수 있는지 관리

- 인증요소

• 사용자가 아는 것 : ID+PW와 같이 사용자만 알고 있는 것
• 사용자가 갖고 있는 것: 물리적 토큰(전자 열쇠, USB, 스마트폰 등)
• 사용자 자신: 신체 속성(지문, 망막 등)

- 클라우드 환경에서 사용자의 액세스 관리는 네트워크 경계가 아닌 ID가 중요

- 액세스 관리는 시스템 내 사용자 마다 각각의 권한을 부여하고 관리

0개의 댓글