Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

RCS Biz Center 용량 증설 및 고도화 프로젝트 - Connection block 본문

수행 프로젝트 및 회사 업무 일지/MySQL

RCS Biz Center 용량 증설 및 고도화 프로젝트 - Connection block

`O` 2021. 6. 18. 02:00
728x90
반응형

이 페이지에서는 RCS Biz Center 용량 증설 프로젝트 수행 중 겪은 Connection Block 확인 및 조치사항에 대해서 다룬다.

 

참조 페이지

 

https://dev.mysql.com/doc/refman/5.7/en/host-cache.html#blocked-host

 

이 프로젝트의 개요는 아래와 같다

 

2021.06.17 - [수행 프로젝트 일지/MySQL] - RCS Biz Center 용량 증설 및 고도화 프로젝트 - 개요

 

 

 

 

해당 프로젝트에서 기존 운영서버의 증설을 위하여 AP 서버들을 증설하는 작업에 대해서 지원을 하는 업무가 있었다.

새벽에 개발자들이 AP 서버들을 증설하여 구축 하는 중 아래와 같은 에러로 인하여 DB 서버에 AP 서버를 연결하지 못하고 있어서 이에 대한 지원요청을 했었다.

 

(해당 에러내용을 개발측으로부터 화면으로 받지 못하여 임의로 코드화면으로 작성 대체)

 

 

ERROR 1129 (00000): Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

 

 

MySQL 에서는 위와같이 특정서버가 접속을 시도 할 때, 다량의 접속 에러를 발생시키면 접속 시도 IP 가 해킹등의 보안적인 문제를 일으키는 IP 로 판단하여 접속을 차단하게 된다. 이를 해결하기 위해서는 아래의 방법을 사용했다.

 

먼저, flush hosts 로 현재 서버에서 count 된 error 수치를 초기화한다.

(위의 안내처럼 OS 에서 mysqladmin 으로 바로 수행 할 수도 있다.)

 

 

사진 출처 : 직접 수행 캡쳐

 

 

그리고, 현재 DB 서버에서 허용하는 error count 수치를 확인 한다.

 

 

사진 출처 : 직접 수행 캡쳐

 

 

그 후, 이에 대한 에러 허용치를 늘려서 추가되는 서버들이 어느정도의 접속 error 를 발생 시켜도, 개발 AO 담당자들이 이를 해결 후에 다시 blocked 되는 일이 없도록 한다.

 

 

사진 출처 : 직접 수행 캡쳐

 

 

이와 같은 단계로 진행 후, 개발자들이 새로 연결하는 AP 서버들이 접속에러를 발생시키는 원인을 확인 하였고, 그 결과 접속 PW 를 오기입한상태로 지속 접속을 시도하여 error 가 발생하였기에 이를 해결 후 서버간 연결을 시킬 수 있었다.

 

필자가 이에 대해서 구글링으로 추가로 확인 한 결과 PW 오기입 이외에 여러 에러를 발생시킬 수 있는 원인은 다양한걸로 확인 할 수 있었다. (ex. 서버의 DB 포트 접근 차단, Max Connection 초과로 세션이 더 이상 붙지 못하는 등.)

 

실제 어떤 호스트가 에러를 발생시키는지를 보려면 performance_schema.host_cache 의 SUM_CONNECT_ERRORS 컬럼을 보면 된다. (실졔 운영서버내 테이블은 사내 서버 IP 를 노출 시키므로 외부 예시 화면으로 대체)

 

출처 : https://www.programmersought.com/article/46844079886/

반응형
Comments