KNOU STUDYREAD

한국방송통신대학교 통계데이터과학과 블로그

CS & Department of Statistics and Data Science

통계데이터과학과 및 컴퓨터과학 독서

07. System Maintenance

Harryㅤ 2022. 5. 18.

00. 시스템 운용의 의의 : 실제 Release 이후 ~ 시스템이 사용자에게 제공하는 서비스가 종료될 때까지의 task

01. 용량관리 : 시스템이 제공하는 서비스의 수요를 예측/감시/평가한 뒤 수요를 충족하기 위해 필요한 최적의 시스템 자원을 제공하는 것.

01-1. 온프레미스 환경에서의 관리 : 서비스 수요를 미리 산정 - 수요에 걸맞는 시스템 리소스 구축이 일반적. -> 구축도 하기 전에 수요를 미리 예측한다는건 어려운 일
01-2. 가상화 기술 환경에서의 관리 : 복수의 서비스에서 cpu나 메모리 등 하드웨어 자원 공유 가능. 이용한 자원의 양이나 시간에 따라 종량 과금. -> 서비스 부하에 맞춰 동적 변경이 가능.


02. 가용성관리 : 가용성이란 시스템을 계속 가동할 수 있는 능력. 가용성 시스템을 만들기 위해 시스템 이중화(장애 발생시 시스템 전체를 멈추지 못하게 하는 기술 요소)구성으로 구축함.

02-1. 콜드 스탠바이(cold standby) 방식 : 구성과 설정이 운영 시스템과 동일한 서버나 네트워크 기기를 미리 백업용으로 준비하고, 실제 운영 환경과 가까운 곳에 설치한 후 전원을 끈 상태에서 운영 기기에 장애가 발생할 경우 백업용 기기를 on 하여 실제 운영환경 기기를 통째로 바꾸는 것. 전원이 off 된 상태로 대기하므로 콜드 스탠바이라고 함.
02-2. 핫 스탠바이(hot standby) 방식 : 동일 구성 서버를 2대 동시 가동시키고, 메인 서버 장애 발생시 다른 서버가 처리를 계승하는 것. 2대 모두 가동이므로 실시간 데이터 갱신도 가능하고 장애 발생시 서로 간 전환 시간도 짧은 장점있음. 이때 예비 기기로 전환하는 것을 페일 오버(fail over)라고 하며 운용 시스템 IP 주소 뿐만 아니라 서버의 session 정보도 같이 계승하므로 이용자는 이러한 장애를 인지하지 못하고 계속 하던 일을 수행할 수 있음.
02-3. 헬스 체크(health check) : 장애 시 신속히 전환하기 위해 운영 시스템에 장애가 발생한 것을 감지하는 체계. 서버의 안정적 유무를 점검. 일정 간격마다 request를 발생시켜 그에 따른 response가 돌아오는지의 여부로 정상 판단.
02-4. 부하 분산 : 이중화 구성을 할 경우 가용성 측면에서는 향상되지만 예비 시스템을 이용하지 않을 경우 이는 자원 낭비가 될 수 있음 -> 시스템의 가용성 뿐만 아니라 성능 향상을 동시에 수행할 수 있는 기술로 부하분산 사용.
서버 처리를 복수 기기에서 나눠 수행하고, 웹 어플리케이션 서버나 트래픽 집중 되는 곳에서 빈번히 사용. DNS RR(Round Robin)의 경우 도메인 이름 1개에 복수 서버 IP 주소를 할당하여 request 시점에 접속하고자 하는 서버 IP 주소가 분산됨 -> 저렴한 비용으로 구축할 수 있으나, 균등 부하 분산은 어렵고 장애 발생 여부를 탐지하기는 어려움.


03. 구성관리/변경관리 : 인프라 구성관리는 인프라를 구성하는 하드웨어/네트워크/OS/미들웨어/애플리케이션의 구성 정보를 관리하고 적정한 상태로 유지하는 모든 것을 포함.

03-1. 온프레미스 환경에서의 구성관리 : 구매한 기기나 제공 벤더의 유지보수기간이 경과될 때까지 오래 사용. 트래픽의 많고 적음에 따라 성능을 튜닝하고 인프라 구성 요소를 보완하면서 관리
03-2.클라우드 가상 환경에서의 구성관리 : 인프라 구축 시 물리적 제약이 없으므로 서버나 네트워크 구축, 폐기가 상대적으로 쉬움. 기존에 구축된 인프라를 변경하지 않고 아예 새로 구축할 수 있는게 쉬우므로 인프라 변경 이력을 관리하기 보다는 현재 운용중인 인프라 상태를 관리하는게 좋다는 인식으로 바뀌면서, Immutable Infrastructure(변하지 않는 인프라) 라고 부름.
03-3. Infrastructure as Code : 기존에 변경 이력을 수작업으로 구축하는 것과 다르게 애플리케이션 개발에서 소스 코드 관리처럼 버전 관리 소프트웨어를 활용해 변경 이력 관리를 일원화할 수 있음(인프라 구성의 코드화)


04. 시스템 감시 : 운용 장애 대응과 용량 관리, 가용성 관리 등 모든 범주에서의 시스템 상태를 감시하는 것

04-2. AWS CloudWatch : AWS에서 제공하는 클라우드 자원과 실행되는 애플리케이션을 감시하는 서비스.

-AWS 서비스 감시 : EC2 인스턴스의 CPU 사용률, 데이터 전송, 스토리지 사용 현황 등 파악가능
- 로그에 대한 감시와 보관 : 기존 시스템의 로그, 애플리케이션 로그 파일을 CloudWatch 로그로 보내면 실시간 모니터링 가능. 획득한 로그를 스토리지에 저장하는 것도 가능
- 알람설정 : CloudWatch 매트릭스(감시 항목들을 매트릭스라고 함)에 한계값을 설정하면 메일 등에서 경보를 보내 호가인 가능


05. 데이터의 백업과 복구

05-1. EC2 백업/복구 : 스냅샷에 의한 백업/복구 , AMI에 의한 백업/복구
05-2. RDS 백업/복구 : DB 스냅샷에 의한 백업/복구, RDS 자동백업(AWS 관리 콘솔 - RDS - RDS 인스턴스 생성 시 백업 설정화면에서 [자동 백업] 설정시 활용 가능)

'통계데이터과학과 및 컴퓨터과학 독서' 카테고리의 다른 글

Part 01-1. 데이터의 이해  (0) 2022.06.05
08. Docker Container System  (0) 2022.05.24
06. AWS Security  (0) 2022.05.12
05. 네트워크 구축  (0) 2022.05.06
04. Web application Server 구축  (0) 2022.05.04