interserver_http_* 서버 설정
interserver_http_* 서버 설정
이 페이지에서는 복제 중 다른 서버에 연결할 때 사용하는 자격 증명, HTTP 호스트와 포트 등을 제어하는 interserver_http_* 계열 서버 설정을 설명할게요.
출처: 문서
본문
이 설정들은 ClickHouse 서버를 구성하며, ClickHouse 소스에서 자동으로 생성돼요.
interserver_http_credentials
복제 중 다른 서버에 연결할 때 사용되는 사용자 이름과 비밀번호예요. 또한 서버는 이 자격 증명으로 다른 레플리카를 인증해요. 따라서 interserver_http_credentials는 클러스터의 모든 레플리카에서 동일해야 해요.
- 기본적으로
interserver_http_credentials섹션을 생략하면 복제 중 인증이 사용되지 않아요. interserver_http_credentials설정은 ClickHouse 클라이언트 자격 증명 configuration과는 관련이 없어요.- 이 자격 증명은
HTTP와HTTPS복제 공통으로 사용돼요.
다음 설정은 하위 태그로 구성할 수 있어요:
user— 사용자 이름이에요.password— 비밀번호예요.allow_empty—true이면 자격 증명이 설정되어 있어도 다른 레플리카가 인증 없이 연결할 수 있어요.false이면 인증 없는 연결이 거부돼요. 기본값:false.old— 자격 증명 회전 중 사용되는 이전user와password를 포함해요. 여러old섹션을 지정할 수 있어요.
자격 증명 회전 (Credentials Rotation) ClickHouse는 모든 레플리카를 동시에 멈추지 않고 구성 업데이트를 위해 동적 interserver 자격 증명 회전을 지원해요. 자격 증명은 여러 단계로 변경할 수 있어요.
인증을 활성화하려면 interserver_http_credentials.allow_empty를 true로 설정하고 자격 증명을 추가해요. 이렇게 하면 인증이 있는 연결과 없는 연결이 모두 허용돼요.
<interserver_http_credentials>
<user>admin</user>
<password>111</password>
<allow_empty>true</allow_empty>
</interserver_http_credentials>
모든 레플리카에서 구성한 후 allow_empty를 false로 설정하거나 이 설정을 제거해요. 이렇게 하면 새 자격 증명으로 인증하는 것이 필수가 돼요.
기존 자격 증명을 변경하려면 사용자 이름과 비밀번호를 interserver_http_credentials.old 섹션으로 옮기고 user와 password를 새 값으로 업데이트해요. 이 시점부터 서버는 새 자격 증명으로 다른 레플리카에 연결하고, 새 또는 이전 자격 증명 중 하나로 연결을 수락해요.
<interserver_http_credentials>
<user>admin</user>
<password>222</password>
<old>
<user>admin</user>
<password>111</password>
</old>
<old>
<user>temp</user>
<password>000</password>
</old>
</interserver_http_credentials>
새 자격 증명이 모든 레플리카에 적용되면 이전 자격 증명은 제거할 수 있어요.
interserver_http_host
다른 서버가 이 서버에 접근하는 데 사용할 수 있는 호스트 이름이에요. 생략하면 <hostname -f> 명령과 같은 방식으로 정의돼요. 특정 네트워크 인터페이스에서 벗어나는 데 유용해요.
예시
<interserver_http_host>example.clickhouse.com</interserver_http_host>
interserver_http_port
ClickHouse 서버 간 데이터 교환용 포트예요.
예시
<interserver_http_port>9009</interserver_http_port>