본문 바로가기
프로그래밍 놀이터/Settings

[Docker] 클라우드를 사용한 Docker 실행 환경의 운용 관리

by 돼지왕왕돼지 2020. 3. 29.

[Docker] 클라우드를 사용한 Docker 실행 환경의 운용 관리



10.1. 시스템 운용의 기초 지식


* 가용성 관리


-
가용성이란 시스템을 계속해서 가동시킬 수 있는 능력을 말한다.
가용성이 높은 시스템을 만들기 위한 대표적인 기술 요소로 다중화가 있다.
다중화랑 만일 장애가 발생해도 시스템 전체가 정지되지 않도록 하는 기술 요소를 말한다.


-
콜드 스탠바이 방식
    구성이나 설정이 똑같은 서버나 네트워크 기기를 미리 백업 기기로 마련해 두고, 실제 환경과 가까운 장소에 설치하여 전원을 꺼 둔다.
    실 기기에 장애가 발생하면 백업 기기에 전원을 넣고, 실제 환경의 기기와 통째로 교체한다.
    소규모 온프레이스 환경 등에서 자주 택하는 방식이다.
    중요한 것은 실제 환경 기기와 백업 기기는 완전히 똑같이 설정해 둘 필요가 있다는 것이다.


-
핫 스탠바이 방식
    동일한 구성의 서버를 2대 동시에 가동시키고, 메인 서버에서 장애가 발생하면 대기중인 다른 서버가 대신 처리를 이어받는 구성이다.
    둘다 가동 중인 상태이므로 데이터의 갱신이 실시간으로 일어난다.
    장애 발생 시 전환 시간도 짧아진다.
    장애가 발생한 서버나 네트워크 기기를 시스템에서 자동으로 떼어내고 예비 기기로 전환하는 것을 페일오버(failover)라고 한다.


-
헬스 체크
    장애 시 신속하게 전환하기 위해 액티브 기기에서 장애가 발생한 것을 감지하는 장치를 말한다.
    헬스 체크 요청으로는 아래의 것들이 있는데 레이어가 높을수록 정확한 체크를 할 수 있지만 그만큼 서버에 대한 부하도 높아진다.

    ICMP 감시(레이어3) : ping 등의 응답 확인
    포트 감시(레이어4) : 80번 포트로부터 응답이 있는지 확인
    서비스 감시(레이어7) : 특정 페이지가 올바르게 표시되는지 확인한다.


-
로드 밸런싱(load balancing)
    로드 밸런싱은 로드 밸런서라는 전용 기기를 사용하여 알고리즘에 기초하여 요청의 처리를 분산시킨다.
    로드 밸런서 자체의 장애점(SPOF)이 있기 때문에 이것도 다중화해두어야 좋다.
    주요 메이저 퍼블릭 클라우드에서는 로드 밸랜서 기능을 서비스로 제공하고 있다. ( GCP 는 Cloud Load Balancing)



* 수용성 관리 (Capacity)


-
온페미스에서는 수용성 관리가 어렵다.
클라우드를 사용한 시스템에서는 리소스의 양과 시간에 따라 요금이 부과되므로 리소스를 동적으로 변경할 수 있다.
영구 데이터의 관리에서는 데이터의 백업과 복구가 중요하다. 기밀정보가 있을 수 있으니 보안 대책도 필요하다.
로그 수집도 중요하다.



* 시스템 감시


-
머신의 활동 감시
서비스의 가동 감시
서버/네트워크의 리소스 감시
잡 감시

이러한 감시는 보통 시스템 감시 전용 툴을 사용하여 수행한다.
감시 대상 서버나 기기의 상태를 감시하고, 미리 설정한 한계 값을 초과한 경우 정해진 액션을 실행하는 기능을 갖고 있다.


-
장애 대응


-
퍼포먼스 튜닝




10.2 GKE 를 사용한 Docker 실행 환경의 운용


-
생략...





댓글0