#3 네트워크 구성도
네트워크는 논리적인 구성과 물리적인 구성을 필요로 하는데 가상 혹은 물리 네트워크를 신경쓰지 않아도 되는 경우에는 논리적인 구성만으로도 충분하다.
다만 많은 개발사와 서버개발자들은 네트워크와 방화벽 로드벨런서의 구성을 신경쓰지 않는경우가 많은데 많은 병목과 장애를 유발할수 있는 부분이므로 항상 네트워크를 먼저 구성해야 서비스시에 문제가 생기지 않는다 . 물론 이런 환경을 모두 계획하여 개발자와 기타 서비스를 운영하는 리더들에게 만족할만한 구성이 되어있다면 더 좋을것이다.
물리는 서버에서 시작한다면, 서버의 수량과 서버당 사용할 포트수를 계산해야 한다는것이다. 예를 들자면 서버 1기당 서비스용, 내부연동용 따로 쓰고, NAS 같은 네트워크 스토리지용, 그리고 원격접속을 위한 ILO 등을 위한 관리용 포트를 사용한다고 할때 본딩구성을 계획한다면 서버당 상당히 많은 포트를 사용하므로 스위치 선정에 신중해야 한다. 그리고 경우에 따라서 스위치와 서버 사이에 또다른 스위치를 추가 구성 할 수도 있다.
- 서비스용 1 Port
- 내부연동용 1 Port
- 스토리지용 1 Port
- 관리용 1Port
이렇게 서버당 4개의 포트가 필요하고, 그리고 만약 본딩을 구성하였는데 스위치의 이중화를 고려하지 않았다면 서버당 8개의 물리 포트가 필요 할 것이고, 라우터와 연동하는 포트, 그리고 이중화를 할경우 최소 1개에서 2개이상의 포트가 필요 할 것이다.
다시 정리를 한다면,
- 서비스용 1 Port
- 내부연동용 1 Port
- 스토리지용 1 Port
- 관리용 1Port
- 라우터 연동용 1Port
- 이중화 라우터 연동용 1Port
- 스위치 이중화용 2Port
이렇게 서버 1기 연동시 4 + 4 의 포트가 필요하고 서버수량에 따라 ( 4 X n ) + 4 만큼의 포트가 필요하고, 서버의 증가를 예상한 여유의 포트를 감안해서 구성해야 한다. 다시 예를 들자면, 5대의 서버 그리고 이중화되어있는 네트워크를 구성한다면, ( 4 X 5 ) + 4 = 24 Port 가 필요한데 네트워크 장비는 4의 배수로 가는경우가 많고, 포트가 많은 스위치의 경우 24, 48 이런식으로 늘어난다고 보면된다. 물론 다른 포트구성도 많이 있고, 추가 구성도 많이 가능하지만 24포트 스위치와 48포트 스위치의 선택이 있을때 반드시 48포트를 선택해야 할 것이다. 불필요하게 남튼 포트구서이라고 볼 수 있지만 포트의 물리 불량이라던지 계획되지 않은 증가가 있을경우에 여유포트는 반드시 필요하다.
이런것을 간단하게 표현하면 아래의 그림처럼 되는것이다.
위 그림처럼 크게 어떠한것을 어디에 쓰일지 보고 그다음에 네트워크의 흐름을 생각해 실제 장비를 구성하게 되면 아래의 그림처럼 된다.
L2 스위치와 Router 그리고 BB 스위치의 경우 통합이나, VLAN 등으로 구분이 될 수도 있고, 위 그림처럼 별도로 구성해서 사용 할 수도 있으나 여려 상황이나 예산의 문제를 고려해 구성하게 된다.
만약 BB 스위치에서 나뉜다면 다음처럼 VLAN 을 나누게 되고 VLAN간에 데이터 통신을 할때 ( Ex : 모니터링 ) Router 혹은 L3의 routing으로 F/W의 정책설정안에서 통신하게 된다.
common 은 모니터링등 관리용 VLAN 이고, WEB은 서비스용 VLAN, 그리고 WAS 는 내부연동용, 마지막으로 DB 는 스토리지용 이 됩니다. ( 가끔 이걸 왜 나누나요 하고 물어보는 분이 있지만, 서버와 서버간에는 허용된 서비스만 통과 되는것이 보안에 유리하고 허가되지 않은 통신을 제어 할 수 있게 됩니다. )
또한 서버를 제외한 네트워크 장비만 볼때는 다음과 같은 표가 됩니다.
이렇게 따로 구성을 알고 있어야 추후에 네트워크 흐름에 대한 흐름을 이해할 수 있다.
흔히 내 서비스 서버의 접속 주소를 모르거나, 내가 외부로 접속이 가능하다고 해서 외부에서도 접근이 된다고 알고 있거나 등의 문제와 서버와 서버사이에 통신이 특히 그렇다.
간단히 예를 들자면, 아래의 그림과 같다.
인바운드는 외부에서 들어오는 접근에 대한 부분, 아웃바운드는 외부로 나가는 접근에 대한 부분이다. 두개는 별도로 관리되고, 외부로 나갈수 있다고 해서 접근이 가능한 것도 아니고, 내부로 들어올수 있다고 외부로 나갈 수 있는것은 아니다. 방화벽의 설정은 자주 확인해야하므로 리스트를 만들어서 관리한다.
대표 IP Address 도 다를 수 있는데, 나갈때는 NAT 혹은 PAT IP Address 를 이용해서( 상대에게 보이는 IP Address ) 나가게 되고, 들어올때는 내부의 서버와 연동되는 VIP 를 이용해서 들어오게 된다. NAT 와 VIP 를 다르게 설명하는것은 들어오는 서버와 나가는 서버가 다르기 때문이고, 사용하는 방법이 다르기 때문이다. 물론 두 설정은 동일하게 사용 될 수도 있다.
라우팅의 경우에는 나가는 방향과 들어오는 방향에 대해 정확하게 설정해야 서버의 통신에 무리가 없다. 물론 여기서도 인바운드 아웃바운드의 방향은 동일하게 적용된다.
L4 로드벨런스의 경우 서비스의 과부하나 분산처리를 위해 사용하며, 특정 포트를 여러 WAS 나 WEB, 혹은 특정 프로그램으로 분산하여 처리할수 있도록 물리적으로 작동한다.
RR, LC, HASHING 등의 방식이 있으며, RR 을 기본으로 사용하게 되는경우가 많다. RR 은 Round Robin으로 옆의 그림의 1 부터 4 까지 순서대로 세션을 분배하게 되는것으로, 하나의 처리가 지연될경우 쏠림 현상이 생길 수 있다. LC 등으로 서버별 성능에따라 분배를 특정할 수 도 있다. HASHING은 해쉬알고리즘에 따라 특정 연산을 통해 주소를 기억하여 Session 을 지속 시켜준다. 주로 로그인을 지속시켜야 할 서비스에 사용한다. 다만 메모리와 프로세서의 처리량이 늘어 L4 의 성능에 문제가 발생할 수 있다.
L2 의 경우 vlan 과 STP 를 설정해야 루프에 빠지거나, 정상적인 네트워크가 구성되지 않아 서비스에 지연 혹은, 불특정 혹은 특정시간마다 유실이 발생할 수 있다.
Vlan은 같은 Vlan간에만 통신이 되므로 구성할때 주의하도록 한다.
네트워크장비를 직접 관리 한다면, 장비의 포트별 연결도와 물리 장비의 장소의 정보도 정리해서 차후에 혼선이 없게 한다.
이 외에도 VPN 혹은 Routing시 Static Routing 을 이용하지 않고, 외부의 네트워크 그룹간에 직접적인 연결을 위해 Routing Protocol을 이용할 수 있다.
'Technical Architecture Studio' 카테고리의 다른 글
소프트웨어 구성도 (0) | 2020.01.10 |
---|---|
서버 구성도 (0) | 2020.01.08 |
요구사항 분석 (0) | 2020.01.06 |
표준 시스템 구성도 (0) | 2020.01.03 |
시스템 표준 설계 (0) | 2020.01.03 |