서버 및 운영/서버
서버 및 네트워크 시스템 작업 유의사항
일반 웹사이트나 은행을 접속할 때 서버작업으로 접속이 제한된 경험이 한번씩 있으실 겁니다. 이러한 작업은 내부 시스템 업데이트 및 기타 작업으로 인해 서비스 Down으로 인해 접속 제한이 되는 현상입니다. 서버작업은 단순히 서비스 재로드로 해결(순단)되는 경우가 있고 재부팅, 구성 변경이 필요한 작업이 있습니다. 작업에는 크게 아래와 같은 요인이 있습니다. 시스템 주요 작업요인 보안 업데이트로 인한 패치 작업 디스크 Mount 작업 마이그레이션 작업 에러로 인한 재부팅 작업 내부 시스템 구성 변경작업 etc.. 위와 같이 서버 및 네트워크 등 내부 시스템은 사용 간 서버 작업이 필요한 경우가 잦습니다. 시스템 관리자는 불필요한 Down은 지양해야하며 최소한의 Downtime 을 가져가는 것을 목표로 해야..
AWS 개인 서버 만들기
본인만의 웹사이트를 만들기위해서 서버가 필요 할 수 있고 서버 명령어 연습이나 기타 등등 서버가 필요한 경우가 많습니다. 일반인들이 직접 개인 물리서버를 만들기에는 돈과 시간(장비선정)이 많이 사용됩니다. 이에 물리서버가 아닌 가상서버로 1년 무료로 개인서버를 구축하는 방법을 알아봅시다. 저는 다양한 가상화 중 AWS(amazon web services)를 이용해서 가상화 클라우드 서버를 만드는 법을 알아보겠습니다. AWS 는 아마존 닷컴에서 개발한 클라우드 컴퓨팅 플랫폼입니다. 이는 네트워킹을 기반으로 가상 컴퓨터, 스토리지, 네트워크 인프라 등 다양한 서비스를 제공합니다. 우선 AWS의 경우 1년 무료입니다. AWS 에서 지원하는 가상 서버의 가격은 다양하게 구성되어있습니다. 이중 무료는 프리티어라..
dmesg 명령어
dmesg(diagnostic message)란 시스템 부팅 메세지를 확인하는 명령어입니다. 커널 부팅에 에러가 발생하였을 때 발생 원인을 확인하는 지표가 될 수 있습니다. 또 부팅 이후에도 사용자의 su 전환 실패, IO 장치 오류등 운영에 필요한 정보도 출력되므로 알아두는 것이 좋습니다. dmesg 명령어의 경우 출력되는 메세지가 많으므로 파이프, grep 으로 원하는 값을 출력하거나 more, less 를 이용하는 편이 좋습니다. dmesg 의 옵션은 아래와 같습니다. 이 중에서 자주 사용하는 옵션은 dmesg -T 타임스탬프로 해당 로그가 찍힌 시점의 시간을 출력합니다. dmesg -H 사람이 읽기 쉽게 로그가 출력됩니다. dmesg -w 실시간으로 로그가 출력됩니다. dmesg -l 로그 위험도..
WebServer와 WAS의 차이점
WebServer란 ? 웹 서버는 소프트웨어와 하드웨어로 구분되며, 하드웨어는 Web서버가 설치되어 있는 컴퓨터를 의미하고, 소프트웨어의 web 서버란 브라우저 클라이언트로 부터 HTTP 요청을 받아 들이고 HTML 문서 등과 같은 정적인 웹 페이지를 응답해주는 것을 의미한다. 정적인 웹페이지란? 웹 서버는 파일 경로를 받고, 경로와 일치하는 페이지를 반환합니다. 정적인 웹페이지는 변하지 않고 항상 동일한 페이지를 반환합니다. 그 예시로는 Apache, Nginx 등이 있다. WAS란? WAS(Web Application Server) 란 WebServer와 웹 컨테이너가 합쳐진 말로 웹서버가 처리할 수 없는 데이터베이스 조회나 다양한 로직이 필요한 동적인 웹사이트를 응답해준다 정적 컨텐츠와 동적 컨..
쿠버네티스 구성 요소 및 통신
쿠버네티스는 기본적으로 마스터노드와 워커노드로 구성되어 있습니다. 마스터 노드(Master Node)는 워커 노드에 파드를 할당하고 파드 안에 컨테이너를 띄우게 하는 역할을 합니다. 또한 쿠버네티스의 상태를 관리하고 여러 파드들의 스케줄링도 하는 등 쿠버네티스에서 중추적인 역할을 합니다. 워커노드에게 명령 하달하는 역할이라고 할 수 있겠네요. 워커 노드(Worker Node)는 마스터 노드와 통신하며 할당 받은 파드 안에 컨테이너를 유지 및 관리하는 역할을 합니다. 또한 네트워크 기능도 컨트롤합니다. 마스터노드로부터 받은 명령을 이행하는 것이라고 할 수 있겠구요. 그렇다면 워커노드는 실질적으로 프로그램을 운영하므로 마스터 노드보다 성능이 좋아야하고 갯수가 많도록 구성이 필요하겠군요! 컨테이너는 이전 글..
프록시란 (Forward Proxy, Reverse Proxy)?
프록시(Proxy)란 무엇인가 ? 프록시(Proxy) 사전적 의미로 대리라는 의미를 갖고있고, 프록시 서버는 사전적 의미 그대로 대리 서버로 중간에서 클라이언트의 요청을 받아 중계하는 서버를 의미합니다. 중간에서 클라이언트(사용자)와 서버를 중계하는 서버라고 생각하면 이해가 쉽습니다. 자세한 건 아래에서 확인하도록 합시다. 프록시의 종류 ? 프록시는 포워드 프록시,리버스 프록시 두가지로 나뉘며 무슨 차이가 있을까요? 알아보기 전 프록시가 없는 경우에 통신은 아래와 같습니다. 서버와 클라이언트간의 직접적으로 통신을 합니다. (단 중간 단에 보안장비, 네트워크 장비제외 하였습니다.) 이렇게 다이렉트 통신을 하면 보안상으로 좋지 않으니 보안강화를 위해 보통 프록시를 사용합니다. 포워드 프록시 (Forward ..
Centos Jenkins 설치
Jenkins란 ? 젠킨스는 프로그램 개발 시 지속적으로 통합 배포 서비스(CI : Continuous Integration) CD(Coutinuous Delivery)를 제공하는 툴입니다. 프로그램을 개발할때 항상 로컬 환경에서만 실행시키는 것이 아니라 실제 사용자들이 프로그램을 이용하기 위해서는 배포를 해야 합니다. 배포를 위해서는 다양한 프로세스가 존재하는데 이러한 프로세스들을 반복적으로 하는건 번거로움이 있어 자동 배포해주는 역할을 하고 같은 프로그램을 개발하는 개발자들의 코드를 통합해주는 역할을 합니다. Jenkins 설치 방법: 제가 아래 설명한 설치방법은centos7 운영체제로 설치를 진행한 것이며 인터넷이 가능하여야 설치 가능합니다. 1. 우선 wget 명령어를 이용해 jenkins Re..
로그 관리 - Logrotate
로그 로테이션 이란 : 로그 정보가 계속 쌓이면 파일 용량문제로 시스템에 문제가 생길수가 있으므로 사전에 저장 기간 및 저장 방법 설정하여 원할한 서버 관리,운영을 하기 위해 설정하는 리눅스 기능. 로그 로테이션 경로 및 설정 : 로그 로테이션 config file 경로 및 설정 방법 # 기본 설정 파일 /etc/logrotate.conf # 애플리케이션 설정 파일의 디렉토리 /etc/logrotate.d/ # rotate log files weekly 로그 로테이션을 원하는 주기 설정 기본 weekly 설정됨. daily : 매일 weekly : 매주 monthly : 매월 yearly : 매년 # keep 4 weeks worth of backlogs 로그의 갯수를 지정함 로테이션 주기와 같이 적용됨..