データベース · 2 min read · Oct 12, 2025
Debian 12にCockroachDBクラスターをインストールする方法

CockroachDBは、クラウドアプリケーション向けのオープンソースの分散型およびスケーラブルなSQLデータベースです。CockroachDBは、次世代の整合性、複製されたSQLデータベース、およびトランザクショナルデータストアを提供します。
CockroachDBは、データを複数の場所に保存することで、データ配信を迅速にします。また、スケーリングが容易で、高可用性とフォールトトレランスをアプリケーションに提供します。
このガイドでは、Debian 12サーバーにCockroachDBをインストールする方法を示します。その後、複数のDebianサーバーでCockroachDBクラスターを初期化する方法を示します。
前提条件
進む前に、以下の条件を満たしていることを確認してください:
- お互いにローカルネットワークを介して接続されている2台以上のDebian 12サーバー。
- 管理者権限を持つ非rootユーザー。
- 各サーバーに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を有効にします。yを入力してUFWを開始および有効にします。
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クラスターのための証明書を生成する前に、以下のコマンドを実行して、証明書を保存するための新しいディレクトリcertsとprivateを/opt/cockroachdb内に作成します。
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のWeb管理ダッシュボードにアクセスします。
comp1サーバーで、以下のコマンドを実行してCockroachDBクラスターを初期化します。プロセスが完了すると、出力に「Cluster successfully initialized」と表示されます。
cockroach init --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257さらに、以下のコマンドでCockroachDBのログファイルを介して初期化プロセスを確認することもできます。
grep 'node starting' /opt/cockroachdb/cockroach-data/logs/cockroach.log -A 11出力の「CockroachDB node starting..」は、クラスターが初期化されたことを確認します。

次に、以下のコマンドを実行してCockroachDBクラスターを確認します。lsオプションはクラスター内のサーバーのリストを取得するために使用され、statusコマンドはCockroachDBクラスターのステータスを確認するために使用されます。
cockroach node --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21 ls
cockroach node --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21 status以下に、CockroachDBクラスター内のサーバーの数と各サーバーのステータスが表示されます。
クラスターが実行中になったので、以下のコマンドを実行してCockroachDBサーバーにログインします。このコマンドはcomp1サーバーから実行してください。なぜなら、クライアント証明書はcomp1マシンにあるからです。
cockroach sql --certs-dir=/opt/cockroachdb/certs --host=192.168.5.21:26257接続されると、以下のようなCockroachDBプロンプトが表示されます。

以下のクエリを実行して、新しいユーザーbobをパスワードp4ssw0rdで作成します。次に、ユーザーbobに管理者権限を付与します。
CREATE USER bob WITH PASSWORD 'p4ssw0rd';
GRANT admin TO bob;Ctrl+dを押してCockroachDBサーバーから退出します。

最後に、ローカルマシンのWebブラウザを開き、ポート8080を使用してcomp1のIPアドレスにアクセスします(https://192.168.5.21:8080)。CockroachDBのログインページが表示されます。
ユーザーbobとパスワードp4ssw0rdでログインします。

ログインすると、以下のようなCockroachDB管理ダッシュボードが表示されます。

結論
まとめとして、Debian 12サーバーにCockroachDBクラスターのインストールが完了しました。また、CockroachDBの管理ユーザーを作成し、CockroachDBのWeb管理ダッシュボードにアクセスしました。これで、新しいデータベースとユーザーを作成し、CockroachDBのインストールを管理するためにCockroachDBのWeb管理ダッシュボードを利用できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。