반응형
가용성의 개념
- 안전성 (Safety)
- 특정 기능을 언제든지 균일한 성능으로 수행할 수 있는 특성입니다.
- 가용성 (Availability)
- 컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율을 의미합니다.
- 가용성 공식:
- 고가용성 (High Availability, HA)
- 가용성이 높은 특성을 지니며, 시스템이 항상 동작할 수 있도록 설계된 상태를 말합니다.
- 결함 감내 (Fault Tolerance)
- 시스템에 문제가 발생하더라도 계속 작동할 수 있도록 설계하는 것입니다.
이중화와 다중화
이중화 (Redundancy)
- 정의:
- 시스템의 안정성을 높이기 위해 구성 요소를 두 개 이상으로 중복하여 설치하는 기술입니다.
- 단일 장애점 (Single Point of Failure, SPOF)
- 문제가 발생할 경우 시스템 전체가 중단될 수 있는 취약한 지점을 의미합니다.
- 구성 방식:
- 액티브/스탠바이 (Active/Standby)
- 액티브: 주로 작동 중인 상태
- 스탠바이: 액티브의 백업 상태로 대기
- 페일오버 (Failover): 스탠바이 시스템이 자동으로 전환되는 기능
- 액티브/액티브 (Active/Active)
- 두 시스템 모두를 가동 상태로 유지하여 부하를 분산시키고, 한 시스템에 문제가 생겨도 다른 시스템이 계속 작동할 수 있도록 하는 구성 방식
- 액티브/스탠바이 (Active/Standby)
반응형
다중화 (Multiplexing)
- 정의:
- 무언가를 여러 개 두어 시스템의 신뢰성과 성능을 향상시키는 기술입니다.
- 티밍과 본딩 (Teaming and Bonding)
- 티밍 (Teaming):
- 주로 Windows 환경에서 사용되는 용어로, 여러 개의 네트워크 인터페이스 카드(NIC)를 하나의 논리적 인터페이스로 결합하여 네트워크 대역폭을 확장하고, 장애 시 자동으로 다른 NIC로 전환할 수 있도록 합니다.
- 본딩 (Bonding):
- 주로 Linux 환경에서 사용되는 용어로, 여러 NIC를 하나의 인터페이스로 묶어 네트워크 성능을 향상시키고, 장애 대비 기능을 제공합니다.
- 티밍 (Teaming):
- 장점:
- 네트워크의 대역폭을 증가시키고, 단일 NIC의 장애 시에도 네트워크 연결을 유지할 수 있습니다.
- 구성 방식:
- 로드 밸런싱 (Load Balancing): 트래픽을 여러 NIC에 고르게 분산시켜 네트워크 성능을 최적화합니다.
- 이중화 (Redundancy): 특정 NIC에 장애가 발생할 경우, 다른 NIC가 자동으로 대체하여 네트워크 연결을 유지합니다.
로드 밸런싱 (Load Balancing)
트래픽 (Traffic)
- 정의:
- 주어진 시점에 네트워크를 경유한 데이터의 양을 의미하며, 노드에서 특정 노드를 경유한 패킷의 양을 나타냅니다.
로드 밸런싱 (Load Balancing)
- 정의:
- 트래픽을 고르게 분배하여 시스템의 성능을 최적화하고, 과부하를 방지하는 기술입니다.
로드 밸런서 (Load Balancer)
- 정의:
- 로드 밸런싱을 수행하는 장치 또는 소프트웨어로, 트래픽을 여러 서버에 분산시킵니다.
- 종류:
- 하드웨어 로드 밸런서: L4 (전송 계층) 또는 L7 (애플리케이션 계층) 스위치를 사용하여 로드 밸런싱을 수행합니다.
- 소프트웨어 로드 밸런서: HAProxy, Envoy, Nginx 등 소프트웨어를 통해 로드 밸런싱을 구현할 수 있습니다.
헬스 체크 (Health Check)
- 정의:
- 다중화된 서버 환경에서 각 서버의 상태를 주기적으로 검사하여 문제가 있는 서버를 로드 밸런싱 대상에서 제외하는 기능입니다.
- 목적:
- 안정적인 서비스 제공을 위해 정상 동작 중인 서버에만 트래픽을 분산시킵니다.
로드 밸런싱 알고리즘
- 라운드 로빈 (Round Robin) 알고리즘:
- 단순히 서버를 순차적으로 돌아가며 부하를 전달하는 방법입니다.
- 최소 연결 (Least Connections) 알고리즘:
- 현재 연결 수가 가장 적은 서버에 부하를 전달하는 방법으로, 서버 간 부하를 더 균등하게 분배할 수 있습니다.
- 가중치 라운드 로빈 (Weighted Round Robin) 알고리즘:
- 각 서버에 가중치를 부여하여 가중치가 높은 서버가 더 많이 선택되어 더 많은 부하를 받도록 하는 방법입니다.
- 가중치 최소 연결 (Weighted Least Connections) 알고리즘:
- 서버의 가중치와 현재 연결 수를 고려하여 부하를 분배하는 방법으로, 가중치가 높은 서버는 더 많은 연결을 처리할 수 있도록 합니다.
포워드 프록시와 리버스 프록시
오리진 서버 (Origin Server)
- 정의:
- 자원을 생성하고 클라이언트에게 권한 있는 응답을 보낼 수 있는 HTTP 서버로, 최종적으로 메시지를 주고받는 대상입니다.
프록시 (Proxy)
- 정의:
- 클라이언트가 요청한 메시지를 대신 전달하는 대리자 역할을 하는 서버입니다.
- 기능:
- 캐시 저장: 자주 요청되는 데이터를 캐시에 저장하여 응답 속도를 향상시킵니다.
- 클라이언트 암호화: 클라이언트와 프록시 간의 통신을 암호화하여 보안을 강화합니다.
- 접근 제한: 특정 클라이언트의 접근을 제한하거나 제어할 수 있습니다.
게이트웨이 (Gateway)
- 정의:
- 네트워크 간의 통신을 가능하게 하는 입구 역할을 하는 하드웨어 또는 소프트웨어입니다.
- 역할:
- 아웃바운드 연결에 대해 오리진 서버 역할을 하지만, 수신된 요청을 반환하여 다른 서버로 전달하는 중개자 역할을 합니다.
프록시의 종류
- 포워드 프록시 (Forward Proxy):
- 클라이언트가 직접 접근할 수 없는 서버에 접근할 수 있도록 중개해주는 역할을 합니다.
- 주로 내부 네트워크의 클라이언트가 외부 인터넷에 접근할 때 사용됩니다.
- 리버스 프록시 (Reverse Proxy):
- 클라이언트의 요청을 받아 내부 서버로 전달하고, 내부 서버의 응답을 클라이언트에게 반환하는 역할을 합니다.
- 주로 로드 밸런싱, 캐싱, 보안 강화 등의 목적으로 사용됩니다.
- 예시: Nginx, HAProxy, Envoy 등
3. 종합적인 안전성 구현을 위한 통합
보안성과 가용성의 통합적 이해
- 보안성 (Security):
- 데이터의 기밀성, 무결성, 인증 및 부인 방지를 중심으로 합니다.
- 암호화 기술, 인증서, 디지털 서명, HTTPS 등의 기술을 통해 구현됩니다.
- 가용성 (Availability):
- 시스템이 지속적으로 정상 동작하며, 서비스 중단을 최소화하는 것을 목표로 합니다.
- 이중화, 다중화, 로드 밸런싱, 프록시 기술 등을 통해 구현됩니다.
안전한 데이터 통신과 높은 서비스 가용성의 중요성
- 데이터 보호:
- 암호화와 인증서를 통해 데이터의 기밀성과 무결성을 보장합니다.
- 서비스 지속성:
- 고가용성 시스템과 로드 밸런싱을 통해 서비스 중단 없이 지속적인 운영을 보장합니다.
- 종합적 접근:
- 보안성과 가용성을 동시에 고려하여 시스템을 설계함으로써, 외부 위협으로부터 안전하고 안정적인 서비스를 제공할 수 있습니다.
반응형
'개발자 일상 > 혼자 공부하는 네트워크' 카테고리의 다른 글
혼자 공부하는 네트워크 7-3 무선 네트워크 공부 기록 (1) | 2024.10.13 |
---|---|
혼자 공부하는 네트워크 7-2 안전성을 위한 기술 공부 기록 (4) | 2024.10.13 |
혼자 공부하는 네트워크 5-3 HTTP 헤더와 HTTP 기반 기술 공부 기록 (0) | 2024.10.07 |
혼자 공부하는 네트워크 5-2 HTTP (1) | 2024.10.06 |
혼자 공부하는 네트워크 5-1 DNS와 자원 공부기록 (1) | 2024.10.01 |
댓글