[KT AIVLE] DX트랙 IT 인프라(12주차) 복습(IT 인프라: 가상머신, 컨테이너, 리눅스, 보안)

728x90

IT 인프라 복습

서버와 스토리지

서버

  • 클라이언트에게 서비스를 제공하는 컴퓨터 또는 시스템
  • 서버의 전통적인 아키텍처
    • APP, OS, HardWare

 

Server Farm & DMZ


서버팜

  • 컴퓨터와 서버 등 운영에 필요한 시스템을 한 곳에 모아 놓은 곳
  • 외부에서 허가 되지 않은 접근은 접근 차단

DMZ(비무장지대) 

  • 보안 지역과 비보안 지역사이의 중립지역
  • 공개해도 되는 서버를 배치하여 서버팜으로의 직접적인 접근을 막아 보안강화

 

웹서비스 3Tier 아키텍처 요소

 

웹서버

  • 웹 브라우저(클라이언트)로부터 요청을 받아 정적인 컨텐츠(html, jpeg)는 직접 처리하고 동적인 컨텐츠는 WAS에 전달
    • Apache, Nginx, IIS 등

WAS (Web Application Server)

  • DB조회나 다양한 로직을 처리하는 동적인 컨텐츠 처리
    • Tomcat, JBoss 등

DBMS (Database Management System)

  • 데이터베이스를 운영하고 관리하는 소프트웨어
    • MySQL, MariaDB, Oracle 등

출처: https://reinvite.tistory.com/86

 

아키텍처 분류에 따라 1, 2, 3 Tier로 나뉨(3Tier 권장)

1 Tier, 2 Tier WEB + WAS / DB
2 Tier WEB / WAS + DB, 3 Tier

 

현재 서버 아키텍처는 서비스 목적이나 비즈니스 상황에 따라 크게 3가지 아키텍처 사용 중

  • Virtual Machines, Containers

 

가상머신과 컨테이너

서버 가상화(Virtualization)

  • 가상화는 하나의 물리적인 서버에서 가상의 컴퓨팅 환경을 통해 여러 개의 운영 체제를 동시에 시뮬레이션 할 수 있도록 하는 기술
  • 장점: 시스템 자원 활용 증대, 비용 절감, 유연성 및 확장성, 보안성

하이퍼바이저(Hypervisor)

  • 호스트 컴퓨터에서 다수의 운영 체제를 동시에 실행하기 위한 논리적 플랫폼(platform)

 

서버 컨테이너화 (Containerization)

  • OS 수준의 가상화 기술로 리눅스 커널을 공유하면서 프로세스를 격리된 환경에서 실행하는 가상화 기술
  • 가상머신은 개체마다 OS를 설치해야 했었기 때문에 여러 OS를 구동할수록 성능과 속도에 문제가 생김. 이에 컨테이너 기술은 OS까지 가상화를 해서 가상머신 보다 가볍고 생성, 복제 등이 쉽다는 장점이 있음

 

컨테이너 엔진

  • 컨테이너를 구동하고 컨테이너 이미지를 관리하는 도구
  • docker, podman, rkt 등

 

Docker

  • 컨테이너 기반 가상화 기술을 제공하는 플랫폼
  • 오픈소스 시스템
  • Dockerfile을 통해 이미지를 커스터마이징 제공
    • 예시
      FROM ubuntu:18.04
      RUN apt-get update && apt-get install -y vim apache2
      COPY index.html /var/www/html/
  • Dockerhub라는 컨테이너 이미지 저장소 제공

Docker Image url.

<Namespace>/<ImageName>:<Tag>
  • Namespace: 저장소, 생략가능(library)
  • Tag: 이미지의 버전 또는 라벨

Docker허브

  • 수많은 컨테이너 이미지들을 서버에 저장하고 관리
  • 공개 이미지를 무료로 관리
  • https://hub.docker.com/

 

컨테이너와 가상머신 비교

구분 가상머신 컨테이너
게스트OS Windows, Linux, MAC None
이미지 사이즈 수 GB ~ 수백 GB ~ 수백 MB
시작시간 수 분 수 초
자원 사용량  독립된 OS 사용으로 자원 사용량이 크다 OS 사용을 하지 않아 메모리와 디스크 사용량이 적다
보안 완전한 OS를 사용하므로 보안강화 호스트 OS의 커널을 공유하므로 보안상 취약

 

리눅스(Linux)

  • 유닉스(UNIX) 기반 운영체제
  • 오픈소스이기때문에 무료이고, 재배포가 가능

 

리눅스 간단 명령어

  1. passwd
    • 기능: 암호 변경
    • $ passwd <변경할 계정명>
  2. whoami
    • 기능 : 현재 사용자의 계정명을 출력
    • $ whoami
  3. pwd
    • 기능 : 현재 디렉토리를 출력
    • $ pwd
  4. history
    • 기능 : 현재 까지 수행했던 명령어 출력
    • $ history
  5. date
    • 기능 : 현재 시각을 확인
    • $ date
  6. cal
    • 기능 : 달력을 출력
    • $ cal 1 2023
  7. clear
    • 기능 : 화면을 클리어
    • $ clear
  8. echo
    • 기능 : 문자열을 다시 반환
    • $ echo hello linux

 

리눅스 파일

  • 일반 파일(Regular File)
  • 디렉토리
    • 리눅스에서는 디렉토리(폴더)도 파일로 취급
  • 특수 파일
    • 심벌릭 링크: 원본 파일을 대신하여 다른 이름으로 파일명을 지정한 것(Windows의 바로가기(.exe))
    • 장치파일: 리눅스에서는 하드디스크나 키보드 같은 각종 장치도 파일로 취급
  • file
    • 기능 : 파일의 종류를 확인
    • $ file .profile
    • $ file 다운로드

 

리눅스의 경로

  • 절대 경로
    • 항상 루트 디렉토리부터 시작하며 / 로 시작
    • 특정 위치를 가리키는 절대 경로명은 항상 동일
  • 상대 경로
    • 현재 디렉토리를 기준으로 시작하며 / 이외의 문자로 시작
    • 상대 경로명은 현재 디렉토리가 무엇인지에 따라 상이

 

스토리지

  • 컴퓨터, 서버 등의 데이터를 저장하는 저장소
  • 스토리지 유형: Tape, HDD, SSD, NVMe, Cloud storage

 

연결 방법에 따른 스토리지 유형

 

DAS(Direct Attached Storage)

  • 서버와 저장 장치를 직접 연결(케이블)하여 사용하는 방식
  • 연결하는 장치 수에 제한
  • 다른 장치나 사용자에게 공유하지 못하는 단점

 

NAS(Network Attached Storage)

  • 서버와 저장 장치를 이더넷 등 LAN 방식의 네트워크에 연결된 방식
  • 접속 트래픽이 증가할 경우 성능 저하  속도 저하가 발생
  • DAS와는 달리 다수의 서버나 스토리지를 연결하여 높은 확장성, 유연성 보유
  • 사용되는 프로토콜 : NFS, iSCSI

 

SAN(Storage Area Network)

  • 일반적으로 사용하는 LAN 대신에 광케이블(FC Cable)을 사용
  • SAN Switch 를 통해 여러 노드에게 할당 하여 사용 가능
  • 사용되는 케이블: FC(Fiber Channel)

 

스토리지 프로토콜

  • FC (Fiber Channel)
  • iSCSI (Internet SCSI)
  • FCoE(Fibre Channel over Ethernet)
  • NFS (Network File System)

 

보안 기본

 

IT 보안

  • 서버, 네트워크, 스토리지 등 IT 자산에 대한 무단 접근을 방지하여 데이터를 보호
  • 소프트웨어 또는 데이터의 도난, 손상, 서비스 중단 등으로부터 시스템을 보호

 

보안 유형

  • 네트워크 보안
    • 네트워크 내부로 권한이 없거나 악의적인 사용자가 접근하지 못하게 차단
  • 인터넷 보안 
    • 브라우저에서 주고 받는 정보를 보호
    • 웹 기반의 애플리케이션의 네트워크 보안
  • 엔드포인트 보안
    • 휴대폰, 태플릿, 노트북, 데스크탑 등 악성코드 방지
  • 클라우드 보안
    • 클라우드 아키텍처내 데이터와 정보를 보호
  • 애플리케이션 보안
    • 애플리케이션 내 데이터, 코드 등이 해킹에 의해 도난, 변질되는 것을 방지

 

방화벽(Firewall)

  • 서로 다른 네트워크를 지나는 데이터를 허용, 거부, 검열하는 기능을 갖춘 소프트웨어 또는 해당 소프트웨어를 구동하는 하드웨어 장비
  • 기능: 접근 통제, 로깅, 인증

 

백신 보안

  • 악성코드를 탐지하고 치료하는 소프트웨어
    • 바이러스트로이목마랜섬웨어애드웨어, 스파이웨어등으로부터 보호
  • Windows 백신
    • Norton, V3, McAfee, 알약, V3 등
  • Linux 백신
    • Comodo, ClamAV등

 

고가용성 IT 인프라

인프라 구성도 제작

draw.io

  • 순서도, 구성도, 흐름도, 다이어그램, 조직도 등을 제작하는 데 사용하는 설계 소프트웨어
  • 카테고리별 샘플 다이어그램을 확인하고 필요한 아이콘, 도식, 그래픽 들을 활용

출처: https://www.drawio.com/

 

고가용성(High Availability) 개요

  • 가용성: 서버와 네트워크등 서비스가 정상적으로 사용 가능한 정도
  • 서비스가 다운(장애)되지 않고 정상적으로 유지된 시간
  • 주로 백분율화 하여 표기

 

이중화

  • 시스템의 장애 대비 등 안전성 강화를 위해 같은 시스템을 2개 이상으로 구현하는 구조
  • Stanby시스템을 이중화장치로 두고 Active시스템에 장애가 발생하면 바로 Standby시스템이 Active될 수 있도록 함

 

  1. 동일한 시스템을 구성해서 시스템 모두를 Active로 유지하는 구성
  2. 시스템 장애 발생시 Standby시스템이 Active시스템으로 승격되는 구성

 

728x90