데이터 베이스(Datavase)

: 다양한 데이터 저장 및 관리 방법 제공

 

1. 데이터와 정보

  • 데이터: 문자, 숫자, 이미지, 영상 등 원시 자료
  • 정보 (information): 데이터를 가공해서 의미와 가치를 부여한 것

2. 데이터 베이스

  • 정의: 필요에 의해 데이터를 특정 공간에 지속적으로 모아놓은 것
  • DBMS(Database Management System): 데이터베이스를 관리하는 시스템, Oracle, MySQL, Microsoft SQL Server, PostgreSQL, MongoDB, Redis, IBM DB2 등이 포함됨.

(1. Oracle: 기업용 데이터 베이스, 강력한 성능과 보안 기능 제공

 2. MySQL: 오픈 관계형 데이터 베이스, 주로 웹 애플리케이션에 사용

 3.Microsoft SQL Server: 마이크로소프트에서 개발한 관계형 데이터베이스

 4. PostgreSQL: 오픈 소스 객체 관계형 데이터베이스

 5. MongoDB: 오픈 소스 NoSQL데이터베이스, 문서 지향 데이터 모델 사용

 6.Redis: 인메모리 데이터 구조 저장소, 주로 캐시나 세션 저장소로 사용

 7. IBM DB2: IBM에서 개발한 관계형 데이터베이스)

 

3. SQL(Structured Query Language)

  • 정의: 데이터베이스에서 데이터를 조작하는 데 사용하는 언어.
  • 사용예: 데이터 검색, 삽입, 업데이트 및 삭제 작업에 사용됨.

 

4. 데이터베이스 모델 유형

  • 계층형 데이터베이스: 1:N의 트리 구조로, 데이터 구조 변경에 유연함이 부족한 1970년대 시스템.
  • 네트워크형 데이터베이스: 초기 데이터베이스 모델로, 복잡한 1:N, 1:1, N:N 구조를 가짐.
  • 관계형 데이터베이스: 현재 가장 많이 사용되는 모델로, 데이터를 열과 행의 형태로 구성하며 논리적 관계를 활용. 예시로는 MySQL, PostgreSQL, Oracle 등이 있음.
  • 객체지향형 데이터베이스: 객체 단위(데이터+메소드)로 구성되며, OOP(Object-Oriented Programming, 객체 지향 프로그래밍)와 함께 발전한 모델.
  • NoSQL 데이터베이스비관계형 데이터베이스로, 구조가 정해져 있지 않아 유연성 및 확장성이 뛰어남. 온라인 게임이나 전자상거래 앱 등에 주로 사용.

5. 관계형 vs 비관계형 데이터베이스

  • 관계형 데이터베이스:
    -데이터는 행과 열로 구성된 테이블에 저장됨.
    -규칙에 따라 데이터를 입력하고 SQL을 통해 조작.
    -트랜잭션 관리를 위해 ACID(원자성, 일관성, 격리성, 내구성) 속성을 따름.
  • 비관계형 데이터베이스 (NoSQL):
    -데이터는 컬렉션 또는 문서의 형식으로 저장됨.
    -정해진 형식이 없고 유연성을 제공, JOIN 및 복잡한 쿼리 지원 불가.
    -대량 데이터 처리에 수평적 확장 가능.

 

6. SQL과 NoSQL의 비교

 

 

 

7. 정형, 비정형, 반정형 데이터

  • 정형 데이터: 미리 정해진 형식과 구조를 가진 데이터 (ex: RDBMS)
  • 비정형 데이터: 구조 없이 저장된 동영상, 이미지 등 (ex: NoSQL)
  • 반정형 데이터: 데이터 구조 정보가 데이터와 함께 제공되는 형태 (ex: XML, JSON)

NoSQL 데이터베이스 유형

1. Key-Value 데이터베이스

  • 특징:
    간단한 구조로, 데이터는 키와 값 쌍으로 저장됨
    높은 확장성과 성능을 제공
    대량의 데이터와 높은 트래픽을 처리하는 데 적합
  • 예시 서비스:
    -AWS DynamoDB: 완전 관리형 Key-Value 데이터베이스 서비스로, 자동으로 데이터의 분산과 복제를 관리
    -Redis: 인메모리 데이터 구조 저장소로, 키-값 쌍을 빠르게 저장하고 검색할 수 있음


2. Graph 데이터베이스

 

  • 특징:
    데이터 간의 복잡한 관계를 관리하기 위해 설계됨
    노드와 엣지의 형태로 데이터가 저장되어 개체 간의 관계를 표현
    소셜 네트워크 및 추천 시스템과 같은 복잡한 데이터 관계 분석에 유용
  • 예시 서비스:
    Amazon Neptune: 관계형 데이터를 그래프로 저장하여 빠른 쿼리 성능을 제공


3. Document 데이터베이스

  • 특징:
    JSON과 유사한 형식으로 비정형 또는 반정형 데이터를 저장
    사전 정의된 스키마가 없어 유연하게 데이터 모델링 가능
  • 예시 서비스:
    MongoDB: 데이터가 JSON과 유사한 문서 형태로 저장되어 유연한 데이터 구조 제공
    Amazon DocumentDB: MongoDB와 호환되는 완전 관리형 문서 데이터베이스


4. Column 데이터베이스

  • 특징:
    고정된 스키마가 없는 컬럼 중심의 데이터 저장 방식
    대량의 데이터를 효과적으로 관리
  • 예시 서비스:
    Apache Cassandra: 고성능 및 확장성을 제공하는 분산형 Column 스토리지 시스템

  • 관계형 데이터베이스: Amazon RDS, Amazon Aurora
  • 비관계형 데이터베이스: Amazon DynamoDB
  • 인메모리 데이터베이스: Amazon ElastiCache
  • 데이터 웨어하우스: Amazon Redshift

 

Amazon RDS (Relational Database Service)

  • 개요:  AWS에서 관계형 데이터베이스를 쉽게 설정하고 운영할 수 있는 서비스, 다양한 데이터베이스 엔진을 지원하며, 필요한 리소스에 따라 확장이 가능
  • 특징
    -선택 가능한 데이터베이스 엔진: Aurora, PostgreSQL, MySQL, MariaDB, Microsoft SQL Server, Oracle, IBM Db2
    -자동화된 백업 및 소프트웨어 관리
    -장애 감지 및 복구 기능 제공
    -사용자가 직접 데이터베이스를 제어할 수는 없지만, 백업 스냅샷 생성 및 복원 가능
    -읽기 전용 복제본(Read Replica) 기능으로 읽기 확장 가능
    -AWS IAM을 통한 접근 제어
    -가상 사설 클라우드(VPC)에서 데이터베이스 배치 가능

Amazon RDS 관련관리모델

  • 온프레미스배포

           •사용자가직접관리

           •장비운영, OS 설치및운영, 데이터베이스솔루션설치및운영까지모두담당

 

  • AmazonEC2배포

            • AWS EC2 서버에 데이터베이스 솔루션을 설치하고 운영

            •장비운영, OS 설치및운영은AWS가담당하고, 데이터베이스솔루션의설치및운영은사용자담당

 

 

 


인스턴스 클래스

  1. 인스턴스 유형:

    -EC2와 유사하게 다양한 크기 제공: micro, small, medium, large, xlarge, 2xlarge, 4xlarge, 8xlarge, 16xlarge.
  2. 범용(General Purpose) 인스턴스:

    -시리즈: db.t4g, db.t3, db.m6g, db.m5.
    -균형 잡힌 컴퓨팅, 메모리, 네트워크 리소스 제공.
    -일반적인 데이터베이스 워크로드에 적합.
  3. 메모리 최적화(Memory Optimized) 인스턴스:

    -시리즈: db.r6g, db.r5.
    -메모리 집약적 워크로드에 고성능 제공.
    -대규모 인메모리 처리 애플리케이션에 적합.
  4. 성능 최적화(Performance Optimized) 인스턴스:

    -시리즈: db.x2g, db.z1d.
    -고성능 데이터베이스 워크로드에 최적화.
    -높은 처리량이 요구되는 엔터프라이즈 애플리케이션에 적합.

RDS 배포

  1.  Read Replica (읽기 전용 복제본)
    -목적: 읽기 작업을 더 많이 처리하기 위해 사용.
    -특징:
        -최대 5개의 Read Replica 생성 가능. 
        -쓰기는 메인 데이터베이스에서만 가능.
        -비동기 복제로 인해 정합성 문제 발생 가능.
        -부하 분산 및 데이터 백업 기능 제공.
  2.  Multi-AZ (다중 가용 영역)
    -목적: 고가용성을 위한 장애 복구.
    -특징:
        -여러 가용 영역에 복제본을 구성하여 동기식 복제를 수행.
        -메인 데이터베이스에 장애가 발생하면 복제본 데이터베이스로 자동 복구 (Failover).
        -복제본 데이터베이스는 장애 발생 전까지는 액세스할 수 없음.
  3.  Multi-Region (다중 지역)
    -목적: 전 세계 여러 지역에 DB 인스턴스를 생성하여 지연 시간 축소 및 재해 복구(DR) 지원.
    -특징: 각 리전에 배포된 데이터베이스를 활용하여 애플리케이션 성능 향상.

 

 

Amazon Aurora

  • AWS 관계형 데이터베이스: AWS에 최적화된 관계형 데이터베이스.
  • 엔진 선택: MySQL 또는 PostgreSQL 중 선택 가능.
  • 자동 용량 확장: 스토리지가 10GB 단위로 자동 확장되며, 최대 128TB까지 지원.
  • 읽기 전용 복제본: 최대 15개의 읽기 전용 복제본 제공 (RDS는 최대 5개).
  • 성능:
    RDS MySQL에 비해 최대 5배 성능 향상.
    RDS PostgreSQL에 비해 최대 3배 성능 향상.
  • 비용: RDS보다 약 20% 비쌈 (프리티어 없음).
  • 효율성: 성능과 효율성 측면에서 RDS보다 Aurora 선택 가능.
  • 호환성: MySQL 및 PostgreSQL로 쉽게 이전 가능하며, 기존 SQL 문 사용 가능.

DynamoDB

  • 비관계형 데이터베이스: 키-값 데이터베이스 (NoSQL).
  • 데이터 저장 방식: 서로 연결되지 않는 개별 형태로 저장, 복잡하고 비구조화된 데이터에 적합.
  • 고가용성: 완전 관리형 데이터베이스로, 3개의 가용 영역(AZ)에 복제본 운영.
  • 빠른 처리 성능: 구조가 단순하여 대규모 환경에서도 일관되게 10ms 미만의 낮은 지연 시간(low latency) 제공.
  • 서버리스: 별도의 서버 구축이 필요 없으며, 서버 프로비저닝, 패치, 소프트웨어 설치 불필요.
  • 자동 용량 조정: 테이블이 자동으로 확장 및 축소됨.
  • 테이블 클래스 선택: 워크로드 및 접속 빈도에 따라 Standard 및 Standard-IA 테이블 클래스 선택 가능.

Amazon ElastiCache

  • 인메모리 데이터베이스: 데이터를 메모리에 저장하여 빠르게 처리.
  • 용도: 주로 실시간 애플리케이션의 데이터베이스 처리 지원.
  • 두 가지 버전:
    -ElastiCache for Memcached: 자주 접근하는 데이터를 메모리에 저장하고 빠르게 처리하는 캐싱 시스템.
    -ElastiCache for Redis: 데이터베이스, 캐시, 메시지 브로커 및 대기열 용도로 사용되는 인메모리 데이터베이스로, 1ms 미만의 지연으로 빠른 데이터 처리 가능.


Amazon Redshift

  • 데이터 웨어하우스 서비스: PostgreSQL 기반의 관리형 데이터 웨어하우스.
  • 특화: OLAP(Online Analytical Processing)에 적합하며, 분석 쿼리에 최적화된 열 기반 스토리지 사용.
  • 대량 병렬 처리(MPP): 빠르고 비용 효율적인 비즈니스 의사결정 지원.
  • 통합: 다른 AWS 서비스와 쉽게 통합 가능.


Amazon Athena

  • 서버리스 쿼리 서비스: Amazon S3에 저장된 데이터를 SQL 쿼리로 분석.
  • 지원하는 데이터 형식: CSV, JSON, ORC, Avro, Parquet.
  • 요금: 스캔한 데이터 TB당 5달러.
  • 제약사항: 동시 실행 쿼리 수 최대 5개, S3 버킷 생성 최대 100개, 데이터베이스 생성 최대 10,000개.


DMS (Database Migration Service)

  • 데이터베이스 마이그레이션 서비스: 데이터베이스 간의 쉽고 빠른 마이그레이션 지원.
  • 마이그레이션 유형:
    -Homogeneous migration: 같은 데이터베이스로 마이그레이션.
    -Heterogeneous migration: 다른 데이터베이스로 마이그레이션 (자동 변환 수행).
  • 다운타임 최소화: 마이그레이션 중에도 원본 데이터베이스 사용 가능.

 

 

 

 

 

 

출처: 공준익 교수님 수업자료 

'네트워크 보안' 카테고리의 다른 글

클라우드 기타 용어 간단 정리  (0) 2024.11.25
클라우드를 실현하는 기술  (0) 2024.11.25
클라우드 서비스  (0) 2024.11.25
클라우드 기초  (0) 2024.09.10

CSP (Cloud Service Provider)

  • 정의: 클라우드 인프라를 제공하는 업체.
  • 제공 서비스: 가상화된 서버, 네트워크, 스토리지 등.


MSP (Managed Service Provider)

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


프로비저닝

  • 정의: IT 자원을 사용 가능한 상태로 준비하는 과정.
  • 유형:
    -서버 자원 프로비저닝: CPU, 메모리 등 할당.
    -OS 프로비저닝: 운영 체제 설치 및 구성.
    -소프트웨어 프로비저닝: 애플리케이션 설치 및 설정.
    -스토리지 프로비저닝: 데이터 저장 및 관리 공간 제공.
    -계정 프로비저닝: 접근 권한 계정 제공.


탄력적 컴퓨팅 (Elastic Computing)

  • 정의: 필요에 따라 컴퓨팅 자원을 신속하게 확장/축소하는 기능.
  • 특징:
    -시스템 모니터링 도구로 제어.
    -작업 중단 없이 자원 조절.
    -유휴 리소스에 대한 비용 절감.


데브옵스 (DevOps)

  • 목표: 개발과 운영의 협업을 통해 빠른 소프트웨어 릴리즈 및 서비스 제공.
  • 실천법:
    -지속적인 통합 (CI): 코드 변경 사항을 자주 병합.
    -지속적인 배포 (CD): 자동으로 프로덕션 환경으로 배포.
    -자동화: 반복 작업 자동화.
    -협업과 공유: 개발자와 운영팀 간의 긴밀한 협력.


클라우드 네이티브

  • 정의: 클라우드 환경에서 최적화된 애플리케이션 개발 및 운영 방식.
  • 주요 기술:
    -마이크로서비스 아키텍처 (MSA)
    -컨테이너 기술
    -데브옵스 (CI/CD)


IAM (Identity and Access Management)

  • 정의: 사용자의 신원 및 접근 권한을 관리.
  • 인증 요소:
    -사용자가 아는 것: ID와 비밀번호.
    -사용자가 가진 것: 물리적 토큰.
    -사용자 자신: 생체 정보 (지문, 망막 등).
  • 특징: 클라우드 환경에서 ID 기반의 접근 관리 중요.

 

 

 

 

 

출처: 공준익 교수님 수업 자료 참고

'네트워크 보안' 카테고리의 다른 글

데이터베이스 서비스  (0) 2024.12.15
클라우드를 실현하는 기술  (0) 2024.11.25
클라우드 서비스  (0) 2024.11.25
클라우드 기초  (0) 2024.09.10

가상화 기술

  • 가상화: 하드웨어 리소스(CPU, 메모리, 스토리지)를 논리적으로 관리하는 기술
  • 종류: 

              -서버 가상화

              -네트워크 가상화

              -스토리지 가상화

 

  • 장점: 

             -한 물리 서버의 리소스를 여러 개의 가상 서버 환경으로 나누어 각각의 운영체제와 애플리케이션 실행 가능.
             -물리 서버 수 감소로 공간 및 비용 절감.
             -하나의 가상 서버에서 장애가 발생하더라도 다른 가상 서버에 영향 없음.

 

가상화 기술 구성

  • 하이퍼바이저 기반 가상화:
    하드웨어 위에 하이퍼바이저가 설치되고, 그 위에 여러 개의 게스트 OS와 애플리케이션이 실행됨.
  • 컨테이너 기반 가상화:
    호스트 OS에서 여러 개의 컨테이너가 독립적으로 애플리케이션을 실행.
    컨테이너는 애플리케이션 실행 환경을 가상화하며, 호스트 OS에서 하나의 프로세스처럼 동작.

컨테이너 기술의 장점

  • 가상화 오버헤드가 적어 빠른 기동 및 정지 가능.
  • 하드웨어 리소스 사용이 적어 물리 서버에 많은 컨테이너 실행 가능.
  • 클라우드 간 복제 및 이식성이 우수함.
  • 대표적인 컨테이너 소프트웨어: Docker
  • 운영 관리 도구: Kubernetes (K8S)


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

  • 하이퍼바이저형:
    장점: 각 가상 서버마다 OS 선택 가능, 완전한 분리, 사이버 공격으로부터의 안전성.
    단점: 리소스 사용량 많음, 부팅 시간 길음.
  • 컨테이너형:
    장점: 빠른 부팅, 하드웨어 리소스 적게 사용, 복사 및 마이그레이션 용이.
    단점: 커널 공유로 인한 보안 위험, 사이버 공격 시 다른 컨테이너도 위험에 노출.

 

 

스토리지 기술

  1. 블록 스토리지

    -데이터를 일정한 크기의 블록으로 나누어 저장.
    -블록 단위로 액세스 가능, 오버헤드가 적어 빠른 데이터 전송.
    -낮은 레이턴시가 요구되는 데이터베이스에 적합.
  2. 파일 스토리지

    -파일 그대로 읽고 쓸 수 있으며 공유 가능.
    -SMB, NFS, NAS 프로토콜을 사용.
  3. 오브젝트(객체) 스토리지

    -데이터를 오브젝트 단위로 처리.
    -오브젝트는 데이터와 메타데이터로 구성되며, 고유한 ID(URI)가 부여됨.
    -대규모 비정형 데이터에 낮은 빈도로 접근하는 환경에서 사용.
    -HTTP 프로토콜 기반의 REST API 사용 (CRUD: 생성, 조회, 수정, 삭제).


네트워크 가상화 기술

  1. VLAN (Virtual LAN)

    -하나의 물리 네트워크를 여러 개의 논리 네트워크로 분할.
    -물리적 배선 변경 없이 설정을 통해 네트워크 나눔.
    -논리적으로 분할된 네트워크는 라우터를 거쳐야 통신 가능.
    -클라우드 서비스와 데이터 센터 간 프라이빗 환경 구축에 활용.
  2. VPN (Virtual Private Network)

    -가상으로 전용선과 같은 사설망을 연결하는 기술.
    -암호화와 인증을 포함한 IPsec 프로토콜 사용.
  3. NFV (Network Functions Virtualization)

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

SDN (Software Defined Networking)

  • 배경: 서버 가상화와 클라우드의 발전으로 네트워크 관리가 하드웨어 중심으로 운영되고 있음.
  • 문제점: 네트워크 트래픽의 급격한 변화와 경로 변경에 어려움.
  • SDN의 개념:
    -데이터 플레인(전송기능)과 컨트롤 플레인(제어 기능)을 분리.
    -제어 기능을 중앙 집중식 컨트롤러에 할당하여 소프트웨어로 데이터 흐름을 정의.
    -네트워크 상황에 맞춰 유연하게 데이터 전송 경로를 변경 가능.


데이터베이스 기술

  1. RDB (Relational Database):

    -데이터를 행과 열로 구성된 표 형태로 표현.
    -복잡한 데이터 간의 관계를 처리.
    -예: Oracle Database, MySQL, Microsoft SQL Server, PostgreSQL.
  2. NoSQL (Not only SQL):

    -관계형 데이터베이스가 아닌 대규모 데이터를 처리하는 분산 데이터베이스.
    -단순한 쿼리만 지원하며, IoT와 빅데이터 활용에 적합.
    -종류:
          -문서 지향형: 문서로 데이터를 저장.
           -키-밸류형: 인덱싱된 값으로 구성된 데이터.
           -그래프형: 데이터 간의 관계를 그래프로 표현.
           -컬럼 지향형: 열 단위로 데이터 저장.


분산 처리 기술

  • 목적: 데이터를 여러 서버에 나누어 병렬 처리.
  • 클러스터링: 여러 서버를 결합하여 하나의 컴퓨터처럼 동작하게 함.
  • Apache Hadoop: 마스터 서버가 슬레이브 서버를 관리하여 대량 데이터 처리.
  • Apache Spark: 메모리 내에서 대용량 데이터의 병렬 분산 처리, 속도가 빠름.

엣지 컴퓨팅

  • 개념: 서버를 말단 디바이스에 가까운 곳에 분산 배치하여 데이터 처리.
  • 장점:
    -실시간 데이터 처리 가능.
    -네트워크 대역폭 소모 감소.
    -응답 시간 단축.
    -보안 및 지역 규제에 따른 데이터 전송 문제 해결.


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

  • 컨버지드 인프라: 서버, 네트워크, 스토리지, 소프트웨어를 통합한 제품.
  • 하이퍼 컨버지드 인프라: 소프트웨어 기반으로 서버, 네트워크, 스토리지 통합.
    -모듈 단위로 구성하고 소프트웨어로 시스템 구성 변경.
    -일원화된 지원으로 관리 용이.


GPU (Graphics Processing Unit)

  • 용도: 컴퓨터 그래픽과 딥러닝에서 대량의 연산 처리에 사용.
  • GPGPU (General Purpose computing on GPU): 기존 GPU에 CPU 기능을 추가하여 연산 속도 향상.
  • CPU vs GPU:
    -CPU: 적은 수의 강력한 코어로 복잡한 프로그램 처리에 적합.
    -GPU: 수백에서 수천 개의 코어로 대량의 간단한 계산에 적합.

데이터 센터의 안전 및 설계

  • 자연 재해 대응 안전성:

    -지진, 해일 등 자연재해 위험이 적은 지역에 데이터 센터를 설치.
    -대규모 지진에 대비한 내진 설계를 통합 
  • 물리적 안전과 보안:

    -출입 관리가 엄격하게 이루어지며 고도로 보호된 주변 환경.
    -고급 보안 perimeter fence와 체크포인트가 설치되어 있습니다.
  • 시설의 최적화:

    -지반이 튼튼한 지역에 위치하여 하드웨어 안정성 확보.
    -냉난방 시설, 전력 및 통신의 다중화로 운영 안정성 강화.
  • 에너지 관리:

    -잔여 비용 절감 및 에너지 절약을 위한 자연 환경의 적극적인 활용 전략 채택.


서버리스 아키텍처의 이해

  • 서버리스 정의:

    -사용자는 서버를 의식하지 않고 클라우드 사업자가 서버 운영과 관리를 전담.
    -각 애플리케이션이 작은 서비스 단위로 수립된 마이크로 서비스 아키텍처(MSA)와 결합.
  • 장점:

    -실제 사용량에 기반한 비용 청구, 인프라 관리 불필요, 요청 발생 시 자원 동적 할당으로 높은 가용성 2.
  • 단점:

    -IaaS나 PaaS에 비해 속도가 느릴 수 있음.
    -장기 작업의 처리 효율이 떨어질 수 있으며, 메모리 및 실행 시간에 제한이 있는 과정이 있다.


서버리스 아키텍처의 구성 요소

  • FaaS(Function as a Service):

    -이벤트 기반으로 작동하며 함수 단위로 코드가 실행.
    -AWS Lambda, MS Azure Functions와 같은 여러 플랫폼이 지원.
  • BaaS(Backend as a Service):

    -SNS 연동과 DB와 같은 백엔드 기능을 API로 제공.
    -개발자가 복잡한 백엔드 기능을 직접 개발할 필요 없이 클라우드 서비스를 이용하여 구현 가능. Google Firebase가 대표적.


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

  • 기존 모놀리식 아키텍처의 한계:

    -시스템 구조의 이해도 저하, 빌드 및 배포 시간 증가, 특정 서비스만 확장하는 데 어려움.
  • 장점:

    -서비스 별로 독립적인 배포 및 확장이 가능하여 부분 장애의 영향을 최소화.
  • 단점:

    -서비스 간 API 호출 시 통신 비용과 레이턴시 이슈 발생, 데이터의 분산으로 인한 관리 복잡성.

 

 

 

 

 

 

출처: 공준익 교수님 수업자료 참고

 

 

 

 

 

 

'네트워크 보안' 카테고리의 다른 글

데이터베이스 서비스  (0) 2024.12.15
클라우드 기타 용어 간단 정리  (0) 2024.11.25
클라우드 서비스  (0) 2024.11.25
클라우드 기초  (0) 2024.09.10

가상서버

  • 기본 요소: 클라우드 서비스를 구성하는 핵심 요소.
  • 자원 분할: 하드웨어 자원을 소프트웨어적으로 논리적으로 나누어 사용.
  • 성능 조정: 가상 CPU 성능과 메모리 용량을 용도와 시스템 규모에 맞게 설정.
  • 과금 방식: 시간 단위로 요금이 부과됨.
  • 리소스 구성: 하드웨어 리소스를 논리적으로 구성하여 사용.
  • 리소스 분할: 하나의 물리 서버의 리소스를 여러 가상 서버로 나누거나, 여러 물리 서버의 리소스를 하나의 가상 서버로 통합 가능.
  • 성능 차이: 하드웨어 에뮬레이션으로 인해 물리 서버(베어메탈 서버)보다 성능이 떨어질 수 있음.

베어메탈(Bare Metal) 서버

  • 전용 하드웨어: 가상화 없이 모든 하드웨어 성능을 직접 사용할 수 있는 서버.
  • 물리적 서버: 하나의 물리적 하드웨어에 하나의 서버가 설치됨.
  • 고성능: 높은 성능이 필요한 경우에 적합.

로드 밸런서  

  • 기능: 시스템의 이중화 및 분산 처리 지원.
  • 리전(Region): 지리적으로 떨어진 독립된 지역 (예: 서울, 도쿄, 미국 등).
  • 존(Zone): 같은 리전 내의 독립적인 물리적 지역 (예: 빌딩 등).
  • 로드밸런서 유형:
    • L4 로드밸런서: 전송계층에서 IP/Port 기반으로 트래픽 분산.
    • L7 로드밸런서: 응용계층에서 웹 어플리케이션에 따라 트래픽 분산.
  • 로드밸런싱 알고리즘:
    • 라운드 로빈: 트래픽을 순서대로 배분. *
    • 가중 라운드 로빈: 각 서버에 가중치를 부여하여 가중치 높은 서버에 우선 배분.
    • 최소 연결: 현재 연결 수가 적은 서버에 배분.
    • 최소 응답시간: 가장 빠른 응답시간을 가진 서버에 배분.
    • 최소 부하: 서버의 현재 부하 상태를 고려해 가장 적은 부하를 가진 서버에 배분.

 

오토스케일링

  • 기능: 부하에 따라 컴퓨팅 자원(CPU, 메모리, 네트워크 등)을 유연하게 늘리거나 줄이는 기능.
  • 즉각 대응: 시시각각 변하는 부하에 신속하게 대응하여 효율적으로 운영.
  • 성능 및 가용성 보장: 서비스의 성능과 가용성을 유지.
  • 비용 절감: 초기 구축 시 서버 사양을 적게 시작하여 비용을 절감.
  • 동작 방식:
    • 스케일 업/다운: 서버의 CPU, 메모리 등을 업그레이드하거나 다운그레이드하는 방식 (예: 데이터베이스).
    • 스케일 인/아웃: 동일한 규격의 서버 수를 늘리거나 줄여서 부하를 분산하는 방식.( 스케일 아웃: 서버를 추가해, 부하를 나눔/ 스케일 인: 필요없는 서버를 줄임)

 

백업(스냅샷)

  • 정기적 백업: 정해진 시간(매주, 매월 등)에 수동 또는 자동으로 백업 수행.
  • 재해 대책(Disaster Recovery, DR): 천재지변이나 테러 등으로 서비스가 중단될 때 데이터를 보존하고 자동으로 복구하는 방법.
    • 재해 복구 수준:
      • 미러 사이트: 즉시 복구.
      • 핫 사이트: 24시간 이내 복구.
      • 웜 사이트: 하루 또는 일주일 내 복구.
      • 콜드 사이트: 주 또는 월 단위 복구.
  • 비즈니스 연속성 계획(Business Continuity Plan, BCP): 자연 재해나 테러로 자산이 손상되더라도 피해를 최소화하고 비즈니스를 재개할 방법을 계획하는 것.
  • 백업 방법: 서버 및 데이터베이스의 스냅샷을 백업 사이트에 저장하여 복구 시 활용.
    • 예시: 하이브리드 클라우드(온프레미스 + 클라우드)를 활용한 백업 체제 구축.

스토리지 서비스

  • 용도: 데이터 아카이브, 백업, 파일 서버, 재해 대책(DR), 빅데이터 분석을 위한 데이터 공유/저장.
  • 예시: Dropbox, OneDrive, Box 등.

Amazon Web Services (AWS) 스토리지 서비스

  • S3 (Amazon Simple Storage Service):
    • 파일 단위로 저장, 검색, 삭제.
    • 뛰어난 견고성과 내구성으로 영구 저장에 적합.
    • 사용한 용량만큼 요금 부과.
  • Amazon S3 Glacier:
    • 빈번하게 읽지 않는 장기 보존용 데이터.
  • EBS (Amazon Elastic Block Store):
    • 엄격한 응답이 요구되는 데이터베이스 용도.
  • EFS (Amazon Elastic File System):
    • 기업의 파일 서버로 사용.

 

네트워크 서비스 

VPC (Virtual Private Cloud)

  • 개요: 가상 네트워크를 생성하여 개인 클라우드처럼 사용할 수 있는 서비스.
  • 주요 기능:
    • 임의의 사설 IP 주소 설정 (예: 10.0.0.0/16).
    • 서브넷에 가상 서버(인스턴스) 배치.
    • 보안 기능 포함:
      • VPN 망 직접 연결.
      • VPN 게이트웨이와 IPsec 암호화 통신.
      • 방화벽 기능을 통한 통신 차단 (필터링).
      • 보안 그룹 정책 설정.

 

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

1. Amazon RDS

  • 관계형 데이터베이스 서비스 (RDBMS).
  • 지원 엔진: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, Aurora, MariaDB 등 6종.

2. Amazon DynamoDB

  • NoSQL 서비스.
  • 비관계형 데이터베이스로, 빠르고 높은 가용성 제공.
  • 데이터베이스 용량 자동 확장 가능.

3. Amazon Redshift

  • 데이터 웨어하우스 서비스.
  • 분석용 데이터 처리에 특화.
  • 페타바이트급 데이터 처리 가능, 빠른 속도와 빈틈없는 관리 제공.

4. Amazon ElastiCache

  • 인메모리 캐시 서비스.
  • 데이터베이스 쿼리 결과를 캐시하여 웹 시스템의 속도 향상.
  • 지원하는 캐시 엔진: Memcached, Redis.

데이터 웨어하우스 특징

  • 주제별 구성, 논리적 통합, 삭제나 업데이트 없음, 시계열 특성.

 

클라우드 이전

  • 리프트 앤 시프트 (Lift and Shift):
    • 기존 온프레미스 시스템을 변경 없이 클라우드로 옮기고(이동), 클라우드에 최적화(조정)하는 전략.
    • VMware를 활용하여 클라우드 사업자가 호환 서비스 제공 (예: VMware Cloud on AWS, VMware on IBM Cloud).

클라우드 기타 서비스 예시

  • 데이터 분석 서비스 (Google Cloud Platform):
    • BigQuery: 대용량 데이터 분석.
    • Cloud Dataflow: 실시간 데이터 처리 및 분석.
    • Cloud Dataprep: 데이터 가공.
  • IoT 서비스 (AWS):
    • AWS IoT SiteWise: 데이터 수집.
    • Amazon Timestream: 시계열 데이터베이스.
    • AWS IoT Events: 이상 감지 모니터링.
  • AI/기계학습 서비스:
    • 사용자 스스로 기계학습 진행.
    • 미리 학습된 모델 제공.

클라우드 시스템 구축

  • 개념: 클라우드 서비스의 표준화된 기능을 조합하여 시스템 구축.
  • 사고 방식:
    • 로드 밸런서 및 오토 스케일로 시스템 확장.
    • 멀티존 구성으로 장애 대비.
    • 자동 모니터링 및 복구 시스템.
    • 자동 백업 및 API 연계 환경 유지.
    • 온프레미스 및 기타 클라우드 서비스 이전 고려.

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

  • 필요성:
    • 서버 이용 증가, 여러 클라우드 서비스 사용, 자동화 필요.
  • 주요 관리 기능:
    • 구성 관리: 서버 및 네트워크 구성.
    • 성능 관리: CPU, 메모리 모니터링.
    • 운영 관리: 정기적 작업 운영.
    • 멀티 클라우드 관리: 통합 관리.
    • 사용자 관리: 접근 권한 설정.
  • 예시 도구: VMware, IBM Cloud Orchestrator, Flexera Rightscale, Datadog, 와탭랩스, 엑셈, 제니퍼, 오픈마루.






    출처: 공준익 교수님 수업자료 참고

'네트워크 보안' 카테고리의 다른 글

데이터베이스 서비스  (0) 2024.12.15
클라우드 기타 용어 간단 정리  (0) 2024.11.25
클라우드를 실현하는 기술  (0) 2024.11.25
클라우드 기초  (0) 2024.09.10

클라우드 컴퓨팅

-인터넷을 통해 여러 컴퓨터 자원(서버, 저장공간, 프로그램 등)을 나눠서 사용할 수 있게 해주는 방법

-필요한 만큼 빠르게 자원을 받을 수 있어서, 복잡한 절차 없이 편리하게 사용할 수 있음

-클라우드 컴퓨팅 ≒ 은행 예금

    ->은행에 돈을 예금해 두면 언제든지 필요할 때 찾아 쓸 수 있듯이, 클라우드 컴퓨팅도 필요한 파일이나 프로그램을 클           라우드에 저장해 두면, 언제 어디서나 인터넷만 있으면 꺼내 쓸 수 있음

 

특징

-주문형 셀프 서비스: 사용자가 필요할 때 자원 요청, 관리 가능

-광범위한 네트워크 접속: 인터넷이 연결된 모든 장치에서 클라우드 서비스에 접근 가능

-리소스의 공유: 여러 사용자가 동일한 자원을 공유해 효율성을 높이고 비용을 절감

-신속한 확장형: 수요에 따라 자원을 쉽게 추가하거나 줄일 수 있음

-측정 가능한 서비스: 사용자가 소비한 자원을 정량적으로 측정해 요금이 청구됨

 

 

정보처리 시스템 발전 과정

-메인 프레임(1970~80년대)

: 대형 컴퓨터, 중앙에서 모든 데이터를 처리하고 여러 사용자들이 터미널을 통해 접속하여 작업하는 방식,

클라이언트 단말기는 특별한 기능 없이 입출력 기능 수행

 

-클라이언트 서버(1990년대)

: 사용자의 컴퓨터(클라이언트)와 서버가 연결되어 데이터를 요청하고 받는 구조,여러 사용자가 동시에 서비스를 이용할 수 있게 해줌 /집중처리 방식(서버 중심)-> 분산 처리 방식(단말 중심)

 

-웹 기반의 네트워크 컴퓨팅(2000년대)

: 인터넷을 통해 소프트웨어와 데이터를 제공받는 방식, 사용자는 브라우저를 통해 언제 어디서나 서비스에 접근할 수 있음

/분산환경-> 서버 중심 중앙 컴퓨팅 환경

 

클라우드 서비스 모델

-IaaS(Infrastructure as a Service)

-CPU와 하드웨어를 네트워크를 통해 서비스로 제공

-대표서비스: 가상서버, 온라인 스토리지

-하드웨어 자원을 소프트웨어적으로 나누어 자유롭게 확장, 축소 가능

-ex) Amazon Elastic Compute Cloud(EC2): 사용자가 클라우드에서 갓강 서버를 쉽게 생성하고 관리할 수 있도록 해주는 서비스

 

-PaaS(Platform as a Service)

-개발자들이 애플리케이션을 개발, 테스트, 배포할 수 있는 플렛폼을 제공

-서버 및 미들웨어의 상세 설정은 불가능

-컨테이너화된 애플리케이션을 자동으로 배포하고, 관리하며, 확장하는 오픈소스 플랫폼

 

-SaaS(Software as a Service)

- 사용자가 인터넷을 통해 소프트웨어를 직접 사용하고 관리할 필요 없이 클라우드에서 제공

- 멀티 테넌트 방식: 하나의 서버를 여러 기업에서 공유

-다양한 기기로 접속 가능

-ex) google workspace

 

온프레미스(on_premise)

-회사 내에 자체적으로 데이터 센터를 보유하고 시스템 구축에서 운용까지 직접 수행하는 상태

 

온프레미스 VS 클라우드

 

1.경제성

-클라우드: 초기비용 낮음, 운영 비용 유연

-온프레미스: 초기 하드웨어 및 소프트웨어 구매에 높은 비용 필요, 유지보수 비용도 지속적으로 발생

 

2. 유연성

-클라우드: 필요에 따라 자원을 쉽게 확장, 축소 가능, 변화하는 요구에 빠르게 대응 가능함

-온프레미스: 자원 확장 어렵고, 유연성이 제한적

 

3.가용성

-클라우드: 여러 지역에 분산된 데이터 센터를 활용하여 높은 가용성을 제공하며, 서비스 중단 시 빠른 복구가 가능

-온프레미스: 가용성을 높이기 위해 추가적인 장비와 이중화 시스템이 필요하지만 초기 투자와 관리가 복잡

4.빠른 구축 속도

-클라우드: 몇 분 내로 인프라를 설정하고 배포 할 수 있어, 빠른 시작 가능

-온프레미스: 하드웨어 설치와 설정에 시간이 걸리며, 구축 속도가 느림

 

퍼블릭 클라우드(Public Cloud)

: 인터넷을 통해 불특정 다수에게 서비스 제공, 클라우드 사업자가 시스템 구축, 데이터 센터를 보유하지 않아 초기 투자 부담 적음

 

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

  • 전용 데이터센터: 클라우드 서비스 제공자가 기업 전용의 데이터센터 환경을 구축합니다.
  • 보안 및 맞춤화: 보안이 용이하며, 독자적인 기능이나 서비스 추가가 쉽습니다.
  • 주요 사용처: 공공기관 및 금융기관에서 많이 사용됩니다.

유형

  1. 온프레미스 프라이빗 클라우드: 자사 전용 클라우드 환경을 구축하고 운영하며, 강력한 자체 보안 정책을 적용합니다.
  2. 호스티드 프라이빗 클라우드: 클라우드 사업자가 사용자별로 클라우드 환경을 제공하며, 단기간에 전용 환경을 구축할 수 있습니다. 월 비용을 지불하고 전용선이나 VPN을 통해 높은 보안 환경을 제공합니다.

 

기타 

커뮤니티클라우드(Community Cloud)

• 비슷한목적을가진기업들끼리클라우드시스템을형성해데이터센터를공동운영

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

• 클라우드서비스들과온프레미스시스템을연계시켜활용

 

비용 비교

  • 온프레미스 시스템:
    • 초기 도입 비용: 하드웨어 및 소프트웨어 조달비용.
    • 운영 비용: 시설 관리비, 하드웨어 리스비, 임대비, 유지보수비, 회선비, 인건비.
  • 클라우드:
    • 유연한 서버 자원 사용으로 비용 최적화.
    • 클라우드 사업자가 운영해 인건비 최소화.
    • 단, 장기간 이용 시 또는 대규모 시스템 구축/운용 시 온프레미스가 저렴할 수 있습니다.

클라우드 서비스의 책임 분계선

  • 책임 분담 명확화: 클라우드 사업자와 이용자 간의 책임을 명확히 확인해야 합니다.
  • 사용자 환경의 손해: 사용자의 환경에서 발생한 손해는 클라우드 사업자가 부담하지 않음을 규정합니다.
  • 접속 환경 장애: 이용자의 접속 환경 문제에 대해 클라우드 사업자는 책임을 지지 않습니다.
  • 이용 모델에 따른 차이: 클라우드 서비스 이용 모델에 따라 책임 분계선이 달라집니다.
  • 보험 상품 가입 검토: 장애 발생 시 손실 및 손해배상 비용을 보장하는 보험 상품 가입을 고려해야 합니다.
  • 보안 사고 대응: 사고 발생 시 클라우드 사업자가 정보를 어떻게 제공하는지와 지원 체계 확인이 필요합니다.
  • 커뮤니케이션 체계 구축: 클라우드 사업자와 원활한 커뮤니케이션 체계를 마련해야 하며, 24시간 365일 지원 가능 여부가 중요합니다.

 

 

 

출처: 공준익 교수님 자료 참고

'네트워크 보안' 카테고리의 다른 글

데이터베이스 서비스  (0) 2024.12.15
클라우드 기타 용어 간단 정리  (0) 2024.11.25
클라우드를 실현하는 기술  (0) 2024.11.25
클라우드 서비스  (0) 2024.11.25

+ Recent posts