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 권장)
현재 서버 아키텍처는 서비스 목적이나 비즈니스 상황에 따라 크게 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) 기반 운영체제
- 오픈소스이기때문에 무료이고, 재배포가 가능
리눅스 간단 명령어
- passwd
- 기능: 암호 변경
- $ passwd <변경할 계정명>
- whoami
- 기능 : 현재 사용자의 계정명을 출력
- $ whoami
- pwd
- 기능 : 현재 디렉토리를 출력
- $ pwd
- history
- 기능 : 현재 까지 수행했던 명령어 출력
- $ history
- date
- 기능 : 현재 시각을 확인
- $ date
- cal
- 기능 : 달력을 출력
- $ cal 1 2023
- clear
- 기능 : 화면을 클리어
- $ clear
- 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
- 순서도, 구성도, 흐름도, 다이어그램, 조직도 등을 제작하는 데 사용하는 설계 소프트웨어
- 카테고리별 샘플 다이어그램을 확인하고 필요한 아이콘, 도식, 그래픽 들을 활용
고가용성(High Availability) 개요
- 가용성: 서버와 네트워크등 서비스가 정상적으로 사용 가능한 정도
- 서비스가 다운(장애)되지 않고 정상적으로 유지된 시간
- 주로 백분율화 하여 표기
이중화
- 시스템의 장애 대비 등 안전성 강화를 위해 같은 시스템을 2개 이상으로 구현하는 구조
- Stanby시스템을 이중화장치로 두고 Active시스템에 장애가 발생하면 바로 Standby시스템이 Active될 수 있도록 함
- 동일한 시스템을 구성해서 시스템 모두를 Active로 유지하는 구성
- 시스템 장애 발생시 Standby시스템이 Active시스템으로 승격되는 구성
728x90