Claude Codeでサーバー運用を効率化する方法

Claude Codeでサーバー運用を効率化する方法

Claude Codeをサーバー運用に活用すると、ログ確認、障害調査、設定ファイルの確認、バックアップ手順作成、監視項目の整理、運用手順書の作成などを効率化できます。ターミナル上で作業できるため、Linuxサーバー、Ubuntu、nginx、Apache、systemd、Docker、Gitなどを使う現場と相性がよいです。ただし、本番サーバーでは削除・再起動・権限変更などの操作が大きな影響を持つため、Claude Codeに任せきりにせず、人間の確認を前提に運用することが重要です。

Claude Codeをサーバー運用に使うメリット

サーバー運用では、ログ確認、設定確認、障害調査、コマンド作成、手順書作成など、繰り返し発生する作業が多くあります。

Claude Codeを使うと、これらの作業を自然言語で整理しながら進められます。

たとえば、次のような作業に活用できます。

・エラーログの原因調査
・nginxやApacheの設定確認
・systemdサービスの状態確認
・ディスク容量の確認
・メモリ使用量の確認
・CPU負荷の確認
・バックアップ手順の作成
・シェルスクリプトの作成
・監視項目の整理
・障害対応手順書の作成
・定期メンテナンス項目の整理
・Dockerコンテナの状態確認
・Git差分の確認
・リリース作業手順の作成

サーバー運用で重要なのは、早く作業することだけではありません。

安全に確認し、原因を整理し、再発防止までつなげることが大切です。

Claude Codeは、調査内容の整理や手順化に強いため、運用作業の属人化を減らす用途にも向いています。

サーバー運用でClaude Codeに任せやすい作業

Claude Codeに任せやすいのは、確認、整理、手順化、スクリプト作成のような作業です。

特に相性がよい作業は次の通りです。

・ログの読み取り補助
・原因候補の整理
・確認コマンドの作成
・設定ファイルの見直し
・シェルスクリプトの下書き作成
・障害報告書の下書き作成
・運用手順書の作成
・チェックリスト作成
・コマンド実行結果の整理
・再発防止策の洗い出し

一方で、Claude Codeに任せきりにしないほうがよい作業もあります。

・本番サーバーの再起動
・データ削除
・権限変更
・ファイアウォール変更
・DBの更新や削除
・SSL証明書の入れ替え
・認証情報の操作
・ユーザー権限の変更
・大規模な設定変更

これらは、人間が内容を確認してから実行するべき作業です。

本番サーバーで使う前の基本方針

サーバー運用でClaude Codeを使う場合、最初に安全ルールを決めることが重要です。

特に本番サーバーでは、ひとつのコマンドが障害につながる可能性があります。

基本方針は次の通りです。

・本番環境では確認作業を中心に使う
・削除コマンドは自動実行しない
・再起動コマンドは人間が確認する
・sudoを使う作業は必ず内容確認する
・認証情報を貼り付けない
・.envの中身を不用意に表示しない
・ログに個人情報が含まれる場合は伏せる
・設定変更前にバックアップを取る
・変更内容をGitやメモに残す
・作業前後の状態を記録する

Claude Codeは便利ですが、最終判断は人間が行う必要があります。

CLAUDE.mdでサーバー運用ルールを固定する

サーバー運用でClaude Codeを使うなら、CLAUDE.mdに運用ルールを書いておくと安全です。

プロジェクトや運用ディレクトリにCLAUDE.mdを置きます。

touch CLAUDE.md

記載例です。

Claude Code サーバー運用ルール

基本方針

・日本語で回答する
・推測で断定しない
・不明点は「要確認」とする
・本番環境での破壊的操作は提案前に警告する
・削除、上書き、再起動、権限変更は慎重に扱う
・実行前に影響範囲を説明する
・作業後に確認コマンドを提示する

禁止事項

・rm -rfを安易に使わない
・chmod -R 777を使わない
・認証情報を出力しない
・.envの内容をそのまま表示しない
・本番DBを直接変更しない
・sudoコマンドを無断で実行しない

出力ルール

・原因候補を優先度順に出す
・確認コマンドを安全なものから提示する
・変更が必要な場合は事前にバックアップ手順を書く
・作業後の確認方法を書く
・要確認項目を最後にまとめる

このようにルールを固定しておくと、毎回の作業品質を揃えやすくなります。

サーバー状態確認を効率化する

サーバー運用では、まず現在の状態を確認することが重要です。

よく使う確認コマンドは次の通りです。

uname -a

lsb_release -a

uptime

whoami

pwd

df -h

free -h

top

ps aux –sort=-%mem | head

ps aux –sort=-%cpu | head

Claude Codeには、次のように依頼できます。

このサーバーの状態確認に必要なコマンドを整理してください。

確認したい内容:
・OS情報
・稼働時間
・ディスク容量
・メモリ使用量
・CPU負荷
・負荷の高いプロセス
・ログインユーザー
・現在のディレクトリ

条件:
・安全な確認コマンドだけにする
・変更を伴うコマンドは含めない
・結果の見方も書く

状態確認コマンドを整理しておくと、障害時の初動が早くなります。

ログ確認を効率化する

サーバー運用で最も多い作業のひとつがログ確認です。

代表的なログ確認コマンドは次の通りです。

sudo journalctl -xe

sudo journalctl -u nginx -n 100

sudo journalctl -u apache2 -n 100

sudo tail -n 100 /var/log/nginx/error.log

sudo tail -n 100 /var/log/apache2/error.log

sudo tail -f /var/log/nginx/access.log

sudo tail -f /var/log/syslog

Claude Codeには、ログの一部を貼り付けて次のように依頼できます。

以下のログから、エラー原因の候補を整理してください。

条件:
・原因候補を優先度順に並べる
・確認すべき設定ファイルを出す
・追加で実行すべき確認コマンドを出す
・断定できない場合は可能性として書く
・本番環境で危険な操作は提案しない

ログを渡すときは、認証情報、IPアドレス、メールアドレス、個人情報、トークンなどが含まれていないか確認します。

必要に応じて、伏せ字にしてから利用します。

nginx運用を効率化する

nginxを使っているサーバーでは、設定確認、構文チェック、ログ確認、再読み込みなどの作業がよく発生します。

よく使うコマンドは次の通りです。

sudo nginx -t

sudo systemctl status nginx

sudo journalctl -u nginx -n 100

sudo tail -n 100 /var/log/nginx/error.log

sudo systemctl reload nginx

Claude Codeへの依頼例です。

nginxの設定変更前に確認すべき項目をチェックリスト化してください。

含める内容:
・設定ファイルの場所
・構文チェック
・エラーログ確認
・影響するドメイン
・SSL設定
・リバースプロキシ設定
・reload前の確認
・reload後の確認

nginxでは、設定変更後にいきなり再起動するのではなく、まず構文チェックを行うことが重要です。

sudo nginx -t

問題なければreloadを検討します。

sudo systemctl reload nginx

restartよりreloadのほうが影響を抑えられる場合がありますが、環境によっては注意が必要です。

Apache運用を効率化する

Apacheを使っている場合も、設定確認やログ確認をClaude Codeに整理させることができます。

よく使うコマンドは次の通りです。

sudo apachectl configtest

sudo systemctl status apache2

sudo journalctl -u apache2 -n 100

sudo tail -n 100 /var/log/apache2/error.log

sudo systemctl reload apache2

Claude Codeへの依頼例です。

Apacheの設定変更前後に確認すべき項目を整理してください。

条件:
・構文チェックを含める
・ログ確認を含める
・reload前の注意点を書く
・エラー時の切り戻し方法を書く
・本番環境向けに慎重な手順にする

Apacheもnginxと同じく、設定変更前のバックアップと構文チェックが重要です。

設定ファイルを編集する前に、コピーを作成しておくと安全です。

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak

systemdサービス管理を効率化する

Ubuntuや多くのLinux環境では、systemdでサービスを管理します。

Claude Codeにサービス状態の確認手順を作らせると、障害対応が楽になります。

よく使うコマンドは次の通りです。

systemctl status サービス名

sudo journalctl -u サービス名 -n 100

sudo systemctl restart サービス名

sudo systemctl reload サービス名

sudo systemctl enable サービス名

sudo systemctl disable サービス名

Claude Codeへの依頼例です。

systemdサービスが起動しない原因を調査する手順を作成してください。

対象サービス:
myapp.service

条件:
・状態確認コマンドを出す
・ログ確認コマンドを出す
・設定ファイルの確認観点を出す
・restartは最後の手段として扱う
・本番環境で安全な順番にする

障害時は、いきなりrestartするのではなく、まず状態とログを確認します。

systemctl status myapp.service

sudo journalctl -u myapp.service -n 100

再起動は影響範囲を確認してから行います。

ディスク容量不足の調査を効率化する

ディスク容量不足は、サーバー障害の原因になりやすい問題です。

確認コマンドは次の通りです。

df -h

du -sh /* 2>/dev/null

sudo du -sh /var/* 2>/dev/null

sudo du -sh /var/log/* 2>/dev/null

find /var/log -type f -size +100M -print

Claude Codeへの依頼例です。

ディスク容量不足の原因を調査する手順を作成してください。

条件:
・安全な確認コマンドから始める
・削除コマンドは出さない
・容量が大きいディレクトリを確認する
・ログ肥大化の確認を含める
・削除が必要な場合は事前バックアップとdry-runを前提にする

容量不足時に焦って削除するのは危険です。

まず、どのディレクトリが容量を使っているかを確認し、削除対象を明確にする必要があります。

メモリ不足や高負荷の調査を効率化する

サーバーが重い場合は、CPU、メモリ、I/O、プロセス状態を確認します。

よく使うコマンドは次の通りです。

uptime

free -h

top

ps aux –sort=-%mem | head -n 10

ps aux –sort=-%cpu | head -n 10

vmstat 1 5

Claude Codeへの依頼例です。

サーバーが重い原因を調査するための確認手順を作成してください。

条件:
・CPU、メモリ、ディスクI/Oの観点で整理する
・安全な確認コマンドだけを出す
・結果の見方も書く
・サービス再起動は最後の手段にする
・追加調査が必要な場合の観点を書く

高負荷時は、原因を見ずに再起動すると、一時的に復旧しても再発する可能性があります。

Claude Codeに結果を整理させ、原因候補を優先度順に出させると対応しやすくなります。

バックアップ運用を効率化する

サーバー運用では、バックアップの有無が重要です。

Claude Codeを使うと、バックアップ手順やスクリプトの下書きを作成できます。

依頼例です。

Webアプリケーションのバックアップ手順を作成してください。

対象:
・アプリケーションファイル
・設定ファイル
・アップロードファイル
・データベース
・nginx設定
・systemd設定

条件:
・削除処理は含めない
・バックアップ前の確認を入れる
・保存先を明記する
・復元時の注意点を書く
・cron化する場合の注意点も書く

シェルスクリプトの例です。

!/bin/bash

set -euo pipefail

SOURCE_DIR=”/var/www/example”
BACKUP_DIR=”/backup/example”
TIMESTAMP=”$(date +%Y%m%d%H%M)”
BACKUP_FILE=”${BACKUP_DIR}/example_${TIMESTAMP}.tar.gz”

echo “バックアップ対象: ${SOURCE_DIR}”
echo “保存先: ${BACKUP_FILE}”

if [ ! -d “${SOURCE_DIR}” ]; then
echo “対象ディレクトリが存在しません”
exit 1
fi

mkdir -p “${BACKUP_DIR}”

tar -czf “${BACKUP_FILE}” “${SOURCE_DIR}”

echo “バックアップ完了”
ls -lh “${BACKUP_FILE}”

バックアップスクリプトは、本番環境で使う前に検証環境でテストする必要があります。

定期メンテナンス作業を効率化する

サーバー運用では、定期的に確認すべき項目があります。

Claude Codeにチェックリスト化させると、作業漏れを減らせます。

依頼例です。

Linuxサーバーの月次メンテナンスチェックリストを作成してください。

含める内容:
・ディスク容量
・メモリ使用状況
・CPU負荷
・ログ肥大化
・バックアップ確認
・SSL証明書期限
・セキュリティアップデート
・不要ユーザー確認
・サービス稼働状況
・cron実行状況
・エラーログ確認

チェック用コマンドの例です。

df -h

free -h

uptime

systemctl –failed

sudo journalctl -p err -n 100

crontab -l

定期メンテナンスは、担当者によって確認項目が変わらないように、手順書として残すことが重要です。

SSL証明書の確認を効率化する

SSL証明書の期限切れは、Webサイト停止に直結することがあります。

確認コマンドの例です。

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

certbotを使っている場合は、次の確認も行います。

sudo certbot certificates

sudo systemctl status certbot.timer

Claude Codeへの依頼例です。

SSL証明書の期限確認手順を作成してください。

条件:
・ドメインごとの確認方法を書く
・certbot利用時の確認方法を書く
・自動更新タイマーの確認を含める
・期限切れ前に確認すべき項目を書く
・更新コマンドは慎重に扱う

SSL証明書関連の作業では、対象ドメイン、Webサーバー、更新方式を確認してから進める必要があります。

セキュリティ確認を効率化する

Claude Codeは、セキュリティ確認項目の整理にも使えます。

ただし、実際の設定変更は慎重に行う必要があります。

依頼例です。

Ubuntuサーバーの基本的なセキュリティ確認項目を整理してください。

含める内容:
・不要ユーザー確認
・SSH設定確認
・sudo権限確認
・ファイアウォール確認
・公開ポート確認
・パッケージ更新状況
・ログイン履歴確認
・fail2banの状態確認

確認コマンドの例です。

who

last

sudo ufw status

ss -tulnp

sudo grep -i “PermitRootLogin” /etc/ssh/sshd_config

sudo grep -i “PasswordAuthentication” /etc/ssh/sshd_config

セキュリティ設定は影響が大きいため、変更前に必ず接続手段を確保しておく必要があります。

SSH設定を誤ると、サーバーに接続できなくなる可能性があります。

障害対応手順書を作成する

Claude Codeは、障害対応手順書の作成にも向いています。

過去の障害内容、ログ、対応履歴をもとに、再発時の対応手順を整理できます。

依頼例です。

Webサーバーが応答しない場合の障害対応手順書を作成してください。

含める内容:
・初動確認
・影響範囲の確認
・ログ確認
・サービス状態確認
・ディスク容量確認
・高負荷確認
・暫定対応
・復旧確認
・再発防止
・報告内容

手順書の構成例です。

  1. 現象確認
  2. 影響範囲確認
  3. サーバー状態確認
  4. Webサーバーログ確認
  5. アプリケーションログ確認
  6. 原因候補整理
  7. 暫定対応
  8. 復旧確認
  9. 関係者報告
  10. 再発防止策

障害対応は慌てやすいため、事前に手順書を作っておくことが重要です。

作業記録と報告文を効率化する

サーバー運用では、作業後の記録も重要です。

Claude Codeを使うと、作業ログから報告文の下書きを作成できます。

依頼例です。

以下の作業内容をもとに、作業報告文を作成してください。

含める内容:
・作業日時
・対象サーバー
・作業目的
・実施内容
・確認結果
・影響範囲
・残課題
・次回対応

報告文のテンプレート例です。

作業日時:
対象サーバー:
作業目的:
実施内容:
確認結果:
影響範囲:
残課題:
次回対応:

作業報告を毎回同じ形式にすると、後から履歴を追いやすくなります。

サーバー運用で使いやすいプロンプト例

Claude Codeをサーバー運用で使う場合、プロンプトの型を作っておくと便利です。

障害調査用です。

以下の状況から、原因候補と確認手順を整理してください。

状況:
〇〇が発生しています。

確認済み:
〇〇は確認済みです。

条件:
・安全な確認コマンドから提示する
・原因候補を優先度順に出す
・破壊的な操作は提案しない
・再起動は最後の手段にする
・断定できない場合は可能性として書く

設定変更用です。

以下の設定変更を行う前に、確認すべき項目と安全な作業手順を作成してください。

対象:
〇〇

条件:
・変更前バックアップを含める
・構文チェックを含める
・反映前後の確認方法を書く
・切り戻し方法を書く

手順書作成用です。

以下の運用作業を、誰でも実施できる手順書にしてください。

条件:
・作業前確認を書く
・実行コマンドを書く
・作業後確認を書く
・注意点を書く
・失敗時の対応を書く

プロンプトを定型化すると、毎回の調査や報告の品質を揃えやすくなります。

自動化スクリプト作成時の注意点

サーバー運用では、シェルスクリプトを使って作業を自動化できます。

ただし、自動化するほど事故が起きたときの影響も大きくなります。

スクリプト作成時の注意点は次の通りです。

・set -euo pipefailを使う
・削除処理にはdry-runを付ける
・対象ファイルを事前に表示する
・ログを残す
・実行ユーザーを確認する
・本番用と検証用を分ける
・絶対パスを使う
・認証情報を直書きしない
・実行前にバックアップを取る
・cron登録前に手動実行で確認する

Claude Codeへの依頼例です。

サーバーメンテナンス用シェルスクリプトを作成してください。

条件:
・set -euo pipefailを使う
・削除処理は入れない
・実行ログを出す
・対象ディレクトリは変数で指定する
・本番環境で使う前の確認手順も書く
・cron登録例も書く

自動化スクリプトは、便利さより安全性を優先する必要があります。

実務で使いやすい運用フロー

Claude Codeをサーバー運用に取り入れる場合、次の流れが実務的です。

  1. CLAUDE.mdで運用ルールを決める
  2. 確認コマンドを整理する
  3. ログ確認手順を作る
  4. 障害対応手順書を作る
  5. バックアップ手順を作る
  6. 定期メンテナンスチェックリストを作る
  7. 必要な部分だけスクリプト化する
  8. 検証環境で動作確認する
  9. 本番環境では人間が確認して実行する
  10. 作業記録を残す
  11. 再発防止策を手順書に反映する

この流れにすると、属人的な運用を減らし、確認漏れを防ぎやすくなります。

Claude Codeは、運用担当者の判断を置き換えるものではありません。

確認、整理、手順化、下書き作成を支援する道具として使うのが現実的です。

まとめ

Claude Codeを使うと、サーバー運用に必要なログ確認、障害調査、設定確認、バックアップ手順作成、定期メンテナンス、報告文作成などを効率化できます。

特にLinuxサーバー、Ubuntu、nginx、Apache、systemd、Docker、Gitを使う環境では、ターミナル作業との相性がよく、運用の整理に役立ちます。

ただし、本番サーバーでは削除、再起動、権限変更、設定変更などが大きな影響を持ちます。

Claude Codeに任せきりにせず、安全な確認コマンドから始め、変更前にバックアップを取り、実行後に確認する流れが重要です。

CLAUDE.mdで運用ルールを固定し、手順書とチェックリストを整備することで、サーバー運用の属人化を減らし、安定した運用体制を作りやすくなります。