インフラ作業支援ラボInfra Support Lab ← 作業ガイド← 戻る
ガイド

インフラ作業ガイド・トラブル解決ガイド

設定を作る・変更する前に読む「作業ガイド」と、問題発生後に確認順で切り分ける「トラブル解決ガイド」に分けています。

作業ガイド

設定値の意味、設定例、適用前の注意点を確認します。

Linux権限

Linuxファイル権限とchmodの安全な設定

rwx・数値表記を理解し、用途に合う権限とアクセス可否を確認します.

cron

cron・crontabの安全な設定

cron式だけでなく、実行ユーザー・PATH・ログ出力まで登録前に確認します。

CIDR

CIDRとIPアドレス範囲の確認

/24などの意味、利用可能IP、サブネット境界、重複を設定前に確認します。

systemd

systemd Unitの安全な設定

Unitの主要設定値、自動起動、依存関係、再起動条件を適用前に確認します。

logrotate

logrotateの安全な設定

保存世代、圧縮、権限、ログ再オープンを理解して設定ミスを防ぎます。

Docker・更新

Docker Engineのバージョンアップ

更新前チェック付き。Docker API・Volume・停止条件を自己点検し、未確認事項を作業メモに保存。

Kubernetes・更新

Kubernetesクラスターの更新

更新前チェック付き。PDB・etcd・互換性を確認し、保留理由と確認先を整理。

Ubuntu・更新

Ubuntu Serverのセキュリティ更新

更新前チェック付き。USN・自動再起動・復旧準備を確認し、作業記録を作成。

RHEL 9・更新

RHEL 9のセキュリティ更新

更新前チェック付き。RHSA・DNF更新範囲・再起動条件を自己点検して記録。

Docker

Dockerの基本操作・運用コマンド

コンテナの起動・停止・ログ確認・Compose操作を、参照・状態変更・削除の違いから安全に確認します。

Kubernetes運用

Kubernetes・kubectl基本操作

Pod・Deployment・Serviceの関係、kubectlの基本的な読み取り操作、トラブル時の確認先。

SSH

SSHの基本設定と公開鍵認証

接続先ユーザー、公開鍵認証、authorized_keys、秘密鍵の権限、sshd設定を変更前に確認します。

個別テーマガイド

検索されやすい具体的な疑問を、設定例と確認コマンドで深掘りします。

systemd

WantedBy=multi-user.targetとは

WantedByの意味、systemctl enableで作られるsymlink、enabled/staticの違いまで実環境で確認します。

systemd

default.targetとmulti-user.targetの違い

現在の既定targetを確認し、set-defaultで変更する前のチェックポイントを整理します。

systemd

After・Wants・Requiresの違い

起動順序と依存関係を分けて、正しい組み合わせを確認します。

systemd

ExecStart=の書き方と失敗原因

実行ファイル・引数・シェル構文・status=203/EXECの確認方法を整理します。

systemd障害

systemctl startでUnit not found

サービス名・配置・daemon-reload・user Unitの違いから、見つからない原因を調べます。

systemd

systemctl reset-failedの意味と使い方

失敗状態・起動制限カウンターのリセットを、安全な再試行の手順と分けて確認します。

systemd

daemon-reloadはいつ必要?

Unit変更後の再読込とrestart・reloadの違い、反映確認の手順を整理します。

cronエラー

crontab: bad minuteの原因と修正

登録時の時刻フィールド・5欄と6欄の違い・不可視文字を安全に確認します。

cron

cronでPATHが通らない原因と対策

手動では動くのにcronだけ失敗する環境差を確認します。

cron

cronログの確認方法

journalctl・/var/log/cron・syslogから、実行記録の有無と次の確認先を判断します。

logrotate

copytruncateとpostrotateの違い

ログ欠損と再オープンの違いから、安全な方式を選びます。

Docker運用

Docker Compose設定と安全な反映

compose.yamlがどのコンテナ・ポート・ボリュームを管理するか確認し、構成と反映影響を分けて判断します。

Docker運用

Dockerログ確認・容量対策

docker logsとDocker Engineのログ保存方式の違い、既存コンテナへの設定反映条件を理解します。

Kubernetes運用

Deploymentの更新と切り戻し

Deploymentのrevision、更新状態、undoの範囲、GitOps管理との整合、サービス正常性の確認。

Docker運用

Docker Volumeの確認とバックアップ

コンテナの削除で残るデータ・失われるデータを区別し、検証用Volumeで安全なバックアップ・リストア手順を学びます。

Kubernetes運用

ConfigMap・Secretの確認と安全な更新

設定を保持するオブジェクトの確認と、反映方式によるPod再起動の要否・セキュリティ上の注意を整理します。

Kubernetes運用

Service・EndpointSliceの接続確認

Serviceが正しいPodを選択できているか、転送先ポートとReady条件が一致しているかを確認します。

SSH

authorized_keysと.sshの権限

公開鍵認証で使う700・600、所有者、StrictModesと実効設定を確認します。

CIDR

/24・/27・/30・/31・/32のIP数

プレフィックスごとの総IP数、一般的な利用可能数、/31・/32の用途とサイズ選定を確認します。

DNS

DNS確認コマンドの使い分け

getent・dig・resolvectl・nslookupを結果別に使い分けます。

DNS

digのstatusの見方

NOERROR・NXDOMAIN・SERVFAIL・REFUSED・timeoutから次の確認先を判断します。

Linux DNS

systemd-resolvedとresolv.conf

127.0.0.53・resolvectl・リンク別DNS・設定管理元を確認します。

Linuxネットワーク

ネットワーク疎通・接続障害を切り分ける

ip・ping・ss・curl・ncで、NIC・経路・TCPポート・待受・HTTP/TLSのどこで失敗しているか確認します。

Linux時刻同期

時刻ずれ・NTP同期状態を確認

timedatectl・chronyc・ntpdで管理方式と同期元を特定し、結果別の対処と再確認まで進めます。

Linux性能

メモリ不足・高負荷を切り分ける

free・top・vmstat・ps・OOMログから、CPU・メモリ・swap・プロセスのどこに負荷があるか確認します。

Linuxログ

journalctlでLinuxエラーを確認

現在・前回起動、Unit、期間、priorityを分けてjournalを確認します。

Linuxログ

journalctlの容量確認・削減

disk-usageとvacuumの違い、削減しても容量が減らない理由、保存上限を確認します。

Linux容量

df・du・inodeでディスク使用量を確認

対象ファイルシステムを特定し、容量・inode・使用箇所を安全に絞ります。

トラブル解決ガイド

問題が起きたときに、確認順と結果別の対応を確認します。

一覧を見る
systemd

systemdが起動しない・failedになる

起動失敗時にstatus・journal・Unit構文を確認し、次に実行するコマンドを整理します。

cron

cron・crontabが実行されない

cronの登録先や実行環境を順番に確認し、ジョブが動かない箇所を特定します。

logrotate

logrotateでログが切り替わらない

デバッグ実行と状態ファイルから、条件・権限・再オープンを確認します。

Linux権限

Permission deniedの原因を切り分ける

親ディレクトリ、ACL、SELinux、実行ユーザーを順番に確認します。

systemd

systemctl enableしたのに自動起動しない

systemctl enable済みなのに、OS再起動後にサービスが立ち上がらない場合の切り分け手順です。

cron

cronは実行されるがスクリプトが失敗する

cron自体は動いているのに、登録したスクリプトだけが失敗する場合の切り分け手順です。

logrotate

logrotate後にアプリがログを書かなくなる

ログローテーション自体は成功したのに、アプリが新しいログファイルへ書かなくなった場合の切り分け手順です。

SSH

SSH接続できない

Connection refused・timed out・Permission denied (publickey)から、通信・sshd・認証のどこで失敗しているかを切り分けます。

SSH

Permission denied (publickey)

接続ユーザー、使用鍵、authorized_keys、権限、sshd実効設定、ログの順に公開鍵認証エラーを切り分けます。

Linux DNS

DNS名前解決できない原因を切り分ける

getent・NSS・resolv.conf・systemd-resolved・digを順番に確認し、名前解決障害の原因を絞ります。

Linux容量

No space left on deviceの原因を切り分ける

df・inode・du・削除済みオープンファイルを確認し、容量不足の原因を特定します。

systemd

status=203/EXECになる

ExecStartの実体・権限・shebang・noexecを確認し、実行できない原因を切り分けます。

systemd

systemctl enableでFailed to enableになる

Unit名・static・masked・[Install]・権限を確認し、enable自体が失敗する原因を切り分けます。

Linux DNS

digでresolv.confのparseに失敗する

構文・不可視文字・symlink・DNS設定の管理元を確認します。

Docker障害

Dockerコンテナ起動失敗

Docker daemonへの接続障害と、コンテナ内アプリの終了を分け、ログ・終了コード・設定を順番に調べます。

Kubernetes障害

CrashLoopBackOffの原因

CrashLoopBackOffという結果ではなく、コンテナプロセスが終了した原因と再起動の仕組みを調べます。

Kubernetes障害

ImagePullBackOffの原因

アプリ起動後のクラッシュとは区別し、レジストリからのイメージ取得失敗を調べます。

Docker障害

Dockerのport is already allocated

競合しているホストポート・IP・プロセスを特定し、既存サービスを停止せず変更案を判断します。

Docker障害

Docker daemonへ接続できない・Permission denied

接続先の設定、Docker Engine・rootlessモード、UNIXソケット権限を変更せずに確認します。

Kubernetes障害

Kubernetes PodがPendingのまま

PodのConditionsとEventsから、リソース・Node制約・ストレージ・イメージ取得のどれが原因か絞ります。

このガイドの使い方

まず仕組みと注意点を確認し、その後に関連ツールで自分の設定をチェックしてください。ガイドは検索時の疑問を解決する入口、ツールは実際の設定を確認する場所として構成しています。