데이터베이스 설치 · 4 min read · Oct 12, 2025
Debian 12에 CockroachDB 클러스터 설치하는 방법

CockroachDB는 클라우드 애플리케이션을 위한 오픈 소스 분산형 및 확장 가능한 SQL 데이터베이스입니다. CockroachDB는 차세대 일관성을 제공하며, 복제된 SQL 데이터베이스와 트랜잭션 데이터 저장소를 제공합니다.
CockroachDB는 데이터를 여러 위치에 저장하여 데이터 전송 속도를 높입니다. 또한, 확장이 용이하고 애플리케이션에 대한 높은 가용성과 내결함성을 제공합니다.
이 가이드에서는 Debian 12 서버에 CockroachDB를 설치하는 방법을 보여줍니다. 그런 다음 여러 Debian 서버로 CockroachDB 클러스터를 초기화하는 방법을 보여줍니다.
전제 조건
진행하기 전에 다음 사항을 확인하십시오:
- 서로 로컬 네트워크를 통해 연결된 두 개 이상의 Debian 12 서버.
- 관리자 권한이 있는 비루트 사용자.
- 각 서버에 FQDN이 구성되어 있어야 합니다.
CockroachDB 설치하기
CockroachDB는 분산형 및 확장 가능한 SQL 데이터베이스 시스템입니다. CockroachDB 클러스터를 배포하기 전에 각 서버에 CockroachDB 애플리케이션을 설치해야 합니다.
이제 각 Debian 서버에 CockroachDB를 설치합니다.
먼저, 기본 홈 디렉토리 /opt/cockroachdb로 새로운 시스템 사용자 cockroach를 생성합니다.
sudo adduser --home /opt/cockroachdb --system --group cockroach
sudo chown -R cockroach:cockroach /opt/cockroachdb아래 curl 명령을 사용하여 CockroachDB의 최신 버전을 다운로드합니다. CockroachDB의 최신 버전 링크를 얻으려면 CockroachDB 다운로드 페이지를 방문하십시오.
curl https://binaries.cockroachdb.com/cockroach-v23.1.14.linux-amd64.tgz --output cockroach-v23.1.14.linux-amd64.tgz다운로드가 완료되면 cockroach-v23.1.14.linux-amd64.tgz 파일을 추출하고 CockroachDB 바이너리 파일을 /usr/bin/ 디렉토리에 복사합니다.
tar -xzf cockroach-v23.1.14.linux-amd64.tgz
cp -i cockroach-v23.1.14.linux-amd64/cockroach /usr/bin/마지막으로 아래 명령을 사용하여 CockroachDB 버전을 확인합니다.
cockroach --version아래에서 CockroachDB v23.1.14가 설치된 것을 볼 수 있으며, 이는 현재 시점의 최신 버전입니다.

UFW 설정하기
CockroachDB를 설치한 후, 서버를 보호하기 위해 UFW를 설치해야 합니다. 그런 다음 CockroachDB 클러스터에서 사용할 TCP 포트 8080과 26257을 엽니다.
아래 명령을 사용하여 Debian 서버에 UFW 패키지를 설치합니다.
sudo apt install ufw -y
이제 OpenSSH 프로필을 추가하고 아래 명령을 실행하여 UFW를 활성화합니다. 시작하고 UFW를 활성화하려면 y를 입력하십시오.
sudo ufw allow OpenSSH
sudo ufw enableUFW가 활성화되면 ‘Firewall is active and enabled on system startup’라는 출력이 표시됩니다.

다음으로 아래 명령으로 UFW에 TCP 포트 8080과 26257을 추가합니다. 이 TCP 포트는 CockroachDB 클러스터에서 사용됩니다.
sudo ufw allow 8080/tcp
sudo ufw allow 26257/tcp마지막으로 아래 명령을 사용하여 UFW 상태와 활성화된 규칙 목록을 확인합니다. UFW 상태가 Active이며 OpenSSH, 포트 8080/tcp 및 26257/tcp가 활성화된 것을 볼 수 있습니다.
sudo ufw status
인증서 생성하기
CockroachDB 클러스터에 대한 인증서를 생성하기 전에 아래 명령을 실행하여 인증서를 저장할 /opt/cockroachdb 내에 certs 및 private이라는 새로운 디렉토리를 생성합니다.
mkdir -p /opt/cockroachdb/{certs,private}이제 다음 인증서를 생성합니다: CA 인증서, 노드 인증서 및 클라이언트 인증서.
CA 생성하기
CA 인증서는 클라이언트 및 노드 인증서를 서명하는 데 중요합니다. 이 섹션에서는 comp1 서버에서 CA 인증서를 생성하고 scp를 통해 comp2 서버에 CA 인증서 및 키를 전송합니다. 따라서 comp2 서버에 SSH 접근이 가능해야 합니다.
comp1 서버에서 CA 인증서를 생성하기 위해 아래 명령을 실행합니다.
cockroach cert create-ca \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
CA가 생성되면 ca.key와 ca.crt를 comp2 서버로 복사합니다.
scp /opt/cockroachdb/private/ca.key [email protected]:/opt/cockroachdb/private/
scp /opt/cockroachdb/certs/ca.crt [email protected]:/opt/cockroachdb/certs/
클라이언트 생성하기
CA를 생성한 후, 다음으로 필요한 인증서는 클라이언트 인증서입니다. 이는 TLS를 통해 CockroachDB 클러스터에 안전하게 연결하는 데 사용됩니다.
여전히 comp1 서버에서 아래 명령을 실행하여 기본 사용자 root에 대한 클라이언트 인증서를 생성합니다.
cockroach cert create-client \
root \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key프로세스가 완료되면 클라이언트 인증서는 /opt/cockroachdb/certs/client.root.crt 및 /opt/cockroachdb/certs/client.root.key에 저장됩니다.

노드 생성하기
마지막으로, 노드 인증서를 생성해야 하며, 이는 클러스터 내 서버 수에 따라 달라집니다. 이 예제에서는 comp1 및 comp2 서버에 대한 노드 인증서를 생성합니다.
comp1 서버에서 아래 명령을 실행하여 comp1에 대한 노드 인증서를 생성합니다. IP 주소와 fqdn을 서버 세부정보로 변경해야 합니다.
cockroach cert create-node \
comp1.hwdomain.lan \
192.168.5.21 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
comp2 서버로 이동하여 아래 명령을 실행하여 comp2에 대한 노드 인증서를 생성합니다. 또한 comp2 서버의 IP 주소와 fqdn 세부정보를 변경해야 합니다.
cockroach cert create-node \
comp2.hwdomain.lan \
192.168.5.22 \
localhost \
--certs-dir=/opt/cockroachdb/certs \
--ca-key=/opt/cockroachdb/private/ca.key
인증서에 대한 권한 설정하기
모든 인증서가 생성되면 아래 명령을 실행하여 cockroach 사용자가 인증서 파일에 접근할 수 있도록 허용합니다. 이 명령은 comp1 및 comp2 서버 모두에서 실행해야 합니다.
sudo chown -R cockroach:cockroach /opt/cockroachdb/certs
sudo chown -R cockroach:cockroach /opt/cockroachdb/privateSystemd 서비스 설정하기
CockroachDB에 대한 인증서를 생성한 후, 다음 단계는 각 서버에 대한 CockroachDB 서비스 파일을 만드는 것입니다. 그런 다음 CockroachDB 서비스를 시작하고 활성화합니다.
comp1에 대한 CockroachDB 서비스
comp1 서버에서 아래 nano 편집기 명령을 사용하여 새로운 systemd 서비스 /etc/systemd/system/cockroachdb.service를 생성합니다.
sudo nano /etc/systemd/system/cockroachdb.service이 서비스 구성을 추가합니다. –advertise-addr 매개변수를 comp1 IP 주소로 변경해야 합니다.
[Unit]
Description=Cockroach Database cluster node
Requires=network.target
[Service]
Type=notify
WorkingDirectory=/opt/cockroachdb
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.21 --join=192.168.5.21,192.168.5.22
TimeoutStopSec=60
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cockroach
User=cockroach
[Install]
WantedBy=default.target작업이 완료되면 파일을 저장하고 종료합니다.
comp2에 대한 CockroachDB 서비스
comp2 서버로 이동하여 아래 nano 편집기 명령을 실행하여 새로운 서비스 파일 /etc/systemd/system/cockroachdb.service를 생성합니다.
sudo nano /etc/systemd/system/cockroachdb.service아래 구성을 삽입하고 –advertise-addr 매개변수를 comp2 IP 주소로 변경해야 합니다.
[Unit]
Description=Cockroach Database cluster node
Requires=network.target
[Service]
Type=notify
WorkingDirectory=/opt/cockroachdb
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.22 --join=192.168.5.21,192.168.5.22
TimeoutStopSec=60
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=cockroach
User=cockroach
[Install]
WantedBy=default.target작업이 완료되면 파일을 저장하고 편집기를 종료합니다.
CockroachDB 시작하기
CockroachDB 서비스 파일이 생성되었으므로 이제 변경 사항을 적용하고 CockroachDB 서비스를 시작하고 활성화할 수 있습니다.
아래 명령을 실행하여 systemd 관리자를 다시 로드하고 CockroachDB에 대한 새로운 서비스를 적용합니다.
sudo systemctl daemon-reload이제 아래 명령으로 comp1 및 comp2 서버에서 CockroachDB 서비스를 시작하고 활성화합니다.
sudo systemctl start cockroachdb
sudo systemctl enable cockroachdb
마지막으로 아래 명령을 사용하여 CockroachDB 서비스가 실행 중인지 확인합니다.
sudo systemctl status cockroachdb따라서 두 Debian 서버 모두에서 CockroachDB 서비스가 실행되고 있는지 확인하십시오.


CockroachDB 클러스터 초기화하기
이제 CockroachDB 서비스가 각 서버에서 실행되고 있으므로 comp1 서버에서 CockroachDB 클러스터를 초기화할 수 있습니다. 그런 다음 CockroachDB의 관리자 사용자를 생성하고 CockroachDB 웹 관리 대시보드에 접근합니다.
comp1 서버에서 아래 명령을 실행하여 CockroachDB 클러스터를 초기화합니다. 프로세스가 완료되면
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.