[KT Aivle AI] 12주차 IT 인프라

hyowon·2024년 5월 11일
0

KtAivle

목록 보기
31/39

개요

  • 스프링 공부, ADSP 자격시험 준비하느라 계속 미뤄졌다. 조금씩이라도 꾸준히 정리해보자!
  • IT 인프라(개발 기본 이론 지식) 에 대해 공부하였다. 이전에 공부했던 것들을 복습한다고 생각하고 다시 정리해보자.

1. 서버

1) 서버와 클라이언트

서버 : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치
클라이언트 : 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치

2) 서버의 역할 및 종류

2-1) 서버의 종류

1) 웹 서버

  • 정적 콘텐츠를 클라이언트에 전달

2) 웹 애플리케이션 서버

  • 동적 콘텐츠를 클라이언트에 전달

3) DB 서버

  • 애플리케이션의 정보를 저장해서 운영, 관리할 수 있는 데이터를 구동하는 서버

4) 리버스 프록시 서버

  • 클라이언트의 요청을 처리할 수 있는 애플리케이션 서버 선택 후 전달

5) 캐시 서버

  • 미리 데이터를 저장해 뒀다가 요청이 오면 데이터 전달

2-2) 서버의 역할

  • 클라이언트의 요청을 수행하기 위해 다양한 서버들끼리 통신한 후 결과를 클라이언트에 전달

2. 네트워크

1) 네트워크 개념

  • Net + Work, 그물을 짜는 행위 -> 그물처럼 연결된 상태를 뜻함
  • 회선 교환 방식 : 데이터를 교환하기 위해 1:1로 연결된 데이터 통로(회선)을 만들고 데이터 교환이 완료될 때까지 회선을 계속 사용하는 방식
    • 연결된 동안 회선을 점유한다.
  • 패킷 교환 방식 : 데이터를 패킷이라는 작은 단위로 나누고, 헤더라는 정보를 붙여 데이터를 교환하는 방식
    • 헤더에는 송수신 포트번호, 패킷 순서 번호, 데이터 시작 위치, 한번에 전송할 수 있는 데이터의 양 등이 포함됨
    • 필요한 만큼만 회선을 이용하며 같은 회선을 다른 사용자도 함께 사용할 수 있음. 패킷이 손상될 경우 데이터 전체를 다시 보내지 않고 손상된 패킷만 보내면 됨

2) 네트워크 프로토콜과 계층

2-1) 네트워크 프로토콜

  • 프로토콜 : 패킷을 전송하기 위한 규칙, 정해진 규칙을 따르기 때문에 통신이 가능해짐
  • HTTP : 웹서버와 웹 브라우저가 패킷을 교환할 때 사용하는 프로토콜
  • 이 외에도 DNS, FTP, SSL/TLS, TCP, UDP, SNMP, IEEE, ARP 등 매우 많은 프로토콜이 존재함

2-2) 네트워크 계층

  • 계층 : 송신 기기과 수신 기기 사이에서 주고 받는 데이터는 각 계층 별로 처리됨
  • 계층 별로 처리 : 한 계층에서 처리가 완료되면 임무를 다음 계층으로 전달

  • 대표적인 2가지 계층 : TCP/IP 참조 모델, OSI 참조 모델
  • TCP/IP 참조 모델 : 4계층으로 구성
  • OSI 7 참조 모델 : 7계층으로 구성
    • 업계에서 주로 사용하는 계층은 5계층 모델

  • 네트워크 기기 : 계층 별로 존재하는 프로토콜에 따라 데이터를 전송하는 기기
  • 각 계층 별로 동작하는 네트워크 기기가 다름

L1 네트워크 기기

  • NIC : PC나 서버를 네트워크에 연결해주는 하드웨어
    • PC나 서버의 슬롯에 장착형, USB 포트형, 메인보드의 슬롯에 장착하거나 온보드로 부착된 형태가 있음.
  • 허브 : 전달받은 패킷의 복사본을 포트에 연결된 다른 모든 기기로 전송
    • 연결된 기기들이 네트워크 대역폭을 나눠서 쓰기 때문에 데이터 전송 성능이 떨어짐

  • AP(Access Point) : 패킷을 전파로 바꿔서 송출하는 기기, 무선과 유선 사이의 다리 역할

    • 무선 WIFI 네트워크 환경에 반드시 필요한 네트워크 기기(공유기)

L2 네트워크 기기

  • MAC address(Media Access Control Address) : 컴퓨터들이 서로 데이터를 전송하기 위해 사용하는 물리적 주소로 NIC에 내장되어 있음. 그 기기 만의 고유 번호, 식별번호 등 기기를 구분하기 위한 주소로 사용
  • 이더넷 : 네트워크 환경에서 데이터를 주고 받기 위한 가장 대표적인 기술 규격

    • UTP 케이블로 단말기와 네트워크 기기를 연결

  • L2 스위치 : 단말기가 보낸 패킷의 헤더에 있는 MAC Address를 보고 같은 네트워크의 다른 단말기로 패킷을 전송, 이더넷 규격을 사용하기에 이더넷 스위치라고 부름.

L3 네트워크 기기

  • IP Address : 서로 다른 네트워크에 연결되어 있는 컴퓨터들이 데이터를 전송하기 위해 사용하는 논리적 주소로 OS상에서 설정한 주소
  • Public IP Address : 공인 IP 주소, 네트워크와 외부의 네트워크가 통신하기 위해 사용(아파트 이름)
  • Private IP Address : 사설 IP 주소, 같은 네트워크 안에서 통신하기 위해 사용(아파트 동 호수)

  • 라우터 : 단말기가 보낸 패킷의 헤더에 있는 IP 주소를 보고 다른 네트워크의 다른 단말기로 패킷을 전송(라우팅)

L4 네트워크 기기

  • L4 스위치 : IP 주소와 포트 번호를 참조하여 트래픽을 분산해 서버로 전송하는 로드 밸런싱 기기
  • 로드 밸런싱 : 들어오는 트래픽을 둘 이상의 서버로 분산해서 전송하여 부하를 분산하는 것
  • 트래픽 : 서버와 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양
  • 방화벽 : IP주소와 포트 번호를 참조하여 통신을 허가하거나 차단하는 기기
  • 미리 정의된 보안 규칙에 따라 들어오고 나가는 트래픽을 제어할 수 있음

  • 수행할 작업(IP와 포트번호 참조)과 다른 통신 차단

L7 네트워크 기기

  • L7 스위치 : IP주소와 포트 번호 + 애플리케이션 콘텐츠 정보들을 참조해서 로드 밸런싱하는 기기
  • 애플리케이션 콘텐츠 정보 : URL, 파일명, 콘텐츠의 문자열 등
  • 웹방화벽(Web Application Firewall) : 웹 애플리케이션 서버를 안전하게 보호하는 기기
    • 클라이언트와 서버 사이에서 교환되는 데이터를 애플리케이션 레벨에서 상세히 검사하고 조치함
    • 블랙리스트, 화이트리스트, 웹 트래픽 분산 등 다양한 보안 기능 제공
      - 블랙리스트 : 리스트에 있는 IP를 제외하고 모두 통신 허용
      - 화이트리스트 : 리스트에 있는 IP만 통신 허용

3) 네트워크 형태

  • LAN(Local Area Network) : 근거리통신망, 가정이나 기업 내부등 한정된 범위의 네트워크
    • 클라이언트 기기와 L2 스위치로 구성
  • WAN : 원거리 통신망, 물리적으로 거리가 매우 떨어진 곳의 네트워크를 연결
    • 인터넷 : 모든 컴퓨터를 하나의 통신망 안에 연결하고자 하는 International Network
    • LAN 환경에 L3 스위치를 추가해서 구성
  • VPN : 인터넷 상에서 가상의 전용선을 만들어 통신할 수 있게 하는 기술
    • 특정 네트워크들만을 위한 전용 WAN으로 Peer to Peer, 1:1로 연결하고 이 구간의 통신은 암호화함
    • 기업 본사 LAN과 지사 LAN을 연결할 때 인터넷을 거치지 않고 이 두 네트워크만의 전용 WAN을 VPN으로 구성
  • DMZ : 비무장지대, 외부 네트워크(외부망)와 내부 네트워크(내부망)의 중간 지점
    • 내부망에는 존재하나 외부망에서 접근할 수 없는 영역
  • 일반적인 LAN, WAN, DMZ 구성도

3. 스토리지

1) 스토리지 개념 및 종류

  • 스토리지 : 저장장치를 다수 장착한 대용량 고속 저장 장비로 서버 및 클라이언트와 네트워크로 연결해서 사용
    • 스토리지는 데이터 저장 뿐만 아니라 데이터 공유 목적으로 주로 사용됨
    • 서버에 장착된 디스크 용량이 부족할 경우, 다수의 사람들과 데이터를 공유할 필요가 있을 경우 스토리지를 활용
    • 데이터 관리 및 보호를 위한 별도의 소프트웨어 탑재
  • 저장장치 : 컴퓨터의 데이터를 저장하기 위한 비 휘발성의 기억 장치
  • 스토리지 데이터 저장 방식: RAID, Redundant Array of Independent Disk
  • 여러 개의 디스크 중 일부에 데이터를 중복 저장하는 기술
  • 여러 개의 디스크를 하나의 디스크 모듈로 사용, 디스크 읽기/쓰기 성능 향상, 장애 발생 시 원활한 복구를 위해 사용

  • 대표적인 RAID 방식 #1 : RAID 0, RAID 1
  • RAID 0 : 데이터를 여러 디스크에 분산 저장하여 하나의 디스크처럼 사용, 성능이 좋지만 장애 시 데이터는 모두 손실
  • RAID 1 : 데이터를 다른 디스크에 동일하게 중복 저장, 최소 2개의 디스크 필요 = 필요한 용량의 2배 준비, 장애 대비에 유리하나 비용이 비쌈.

  • 대표적인 RAID 방식 #2 : RAID 5, RAID 6
  • RAID 5 : 디스크에 패러티 정보를 저장해 장애시 패러티를 토대로 복구할 수 있음, 일정수준의 성능과 안정성 확보
  • RAID 6 : RAID 5 방식에 패러티를 하나 더 추가하여 안정성을 더욱 향상시킨 방법

  • 대표적인 RAID 방식 #3 : RAID 1+0
  • RAID 1+0 : RAID 0의 높은 성능과 RAID 1의 뛰어난 안정성을 합친 형태

2) 백업 개념 및 종류

  • 백업(Backup) : 데이터를 임시로 다른 장치에 저장하여 문제가 있을 때 복구(Recovery)할 수 있도록 준비해 두는 것
  • Full Backup : 백업 주기 마다 데이터 전체를 백업
  • Incremental Backup : 첫째 날에 데이터 전체를 백업하고, 그 다음부터는 증가된 데이터만 백업
  • 스냅샷 : Snapshot, 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술
  • Copy-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 복제(Copy) 후 해당 복제본을 새로운 공간에 덮어씀
  • Redirect-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 새로운 공간으로 쓰기 위치를 재지정(Redirect)

4. 데이터베이스

1) 데이터베이스 개념 및 주요 용어

  • 데이터베이스 : 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합. 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음.
  • DBMS :Database Management System, 사용자들이 DB안에 있는 데이터를 접근할 수 있도록 해주는 소프트웨어

  • 관계형DBMS : Relational DBMS, RDBMS / 테이블이라는 최소 단위로 구성하며 이 테이블은 열과 행으로 이루어짐

5. 온프레미스

1) 온프레미스 개념과 3 Tier 아키텍처

  • 온프레미스 : 기업이 자체 시설에서 보유하고 직접 유지 관리하는 프라이빗 데이터 센터
  • 3 Tier 아키텍처: 애플리케이션 운영 환경이 컴퓨팅(서버), 네트워크, 스토리지로 구성된 전통적인 아키텍처

6. 클라우드

1) 클라우드 개념 및 종류

  • 클라우드 : IT 인프라 자원을 직접 보유해서 사용하는 것이 아닌, 다른 기업의 IT 인프라 자원을 빌려서 쓰는 것
  • 클라우드 비용 : 자원을 빌려 쓴 것 만큼의 사용료를 월 과금 형태로 지불
  • IaaS : Infra as a Service / IT인프라 자원 전체를 빌려다 씀, OS 및 각종 소프트웨어 설치 필요
  • PaaS : Platform as a Service / 이미 설치된 OS(플랫폼)을 빌려다씀, 애플리케이션 설치 필요
  • SaaS : Software as a Service / 소프트웨어를 빌려다씀

2) 클라우드 형태

  • 온프레미스 : 기업이 직접 IT인프라를 운영
  • 퍼블릭 클라우드 : 다른 기업의 IT인프라를 빌려다 씀
  • 프라이빗 클라우드 : 기업이 보유한 IT 인프라를 클라우드 서비스처럼 기업 내에서 활용

3) 개발자가 알아야 할 클라우드 기술 및 용어

  • 컨테이너 : 리눅스 기반 애플리케이션 운영을 위한 프로세스 격리 기술
  • 컨테이너 런타임 : 컨테이너를 다루는 도구
  • 도커 : 컨테이너 기술을 누구나 쉽게 사용할 수 있도록 만든 컨테이너 런타임 중 가장 유명한 오픈소스 프로젝트

컨테이너 vs 가상 머신 : 컨테이너는 앱 별로 가상화 VS VM은 OS 별로 가상화

쿠버네티스 : 다수의 컨테이너를 효율적으로 운영, 관리하기 위한 도구

profile
안녕하세요. 꾸준히 기록하는 hyowon입니다.

0개의 댓글