interserver_http_* 서버 설정

interserver_http_* 서버 설정

이 페이지에서는 복제 중 다른 서버에 연결할 때 사용하는 자격 증명, HTTP 호스트와 포트 등을 제어하는 interserver_http_* 계열 서버 설정을 설명할게요.

출처: 문서

본문

이 설정들은 ClickHouse 서버를 구성하며, ClickHouse 소스에서 자동으로 생성돼요.

interserver_http_credentials

복제 중 다른 서버에 연결할 때 사용되는 사용자 이름과 비밀번호예요. 또한 서버는 이 자격 증명으로 다른 레플리카를 인증해요. 따라서 interserver_http_credentials는 클러스터의 모든 레플리카에서 동일해야 해요.

  • 기본적으로 interserver_http_credentials 섹션을 생략하면 복제 중 인증이 사용되지 않아요.
  • interserver_http_credentials 설정은 ClickHouse 클라이언트 자격 증명 configuration과는 관련이 없어요.
  • 이 자격 증명은 HTTPHTTPS 복제 공통으로 사용돼요.

다음 설정은 하위 태그로 구성할 수 있어요:

  • user — 사용자 이름이에요.
  • password — 비밀번호예요.
  • allow_emptytrue이면 자격 증명이 설정되어 있어도 다른 레플리카가 인증 없이 연결할 수 있어요. false이면 인증 없는 연결이 거부돼요. 기본값: false.
  • old — 자격 증명 회전 중 사용되는 이전 userpassword를 포함해요. 여러 old 섹션을 지정할 수 있어요.

자격 증명 회전 (Credentials Rotation) ClickHouse는 모든 레플리카를 동시에 멈추지 않고 구성 업데이트를 위해 동적 interserver 자격 증명 회전을 지원해요. 자격 증명은 여러 단계로 변경할 수 있어요.

인증을 활성화하려면 interserver_http_credentials.allow_emptytrue로 설정하고 자격 증명을 추가해요. 이렇게 하면 인증이 있는 연결과 없는 연결이 모두 허용돼요.

<interserver_http_credentials>
    <user>admin</user>
    <password>111</password>
    <allow_empty>true</allow_empty>
</interserver_http_credentials>

모든 레플리카에서 구성한 후 allow_emptyfalse로 설정하거나 이 설정을 제거해요. 이렇게 하면 새 자격 증명으로 인증하는 것이 필수가 돼요. 기존 자격 증명을 변경하려면 사용자 이름과 비밀번호를 interserver_http_credentials.old 섹션으로 옮기고 userpassword를 새 값으로 업데이트해요. 이 시점부터 서버는 새 자격 증명으로 다른 레플리카에 연결하고, 새 또는 이전 자격 증명 중 하나로 연결을 수락해요.

<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>

더 알아보기 (Learn more)