本文へ移動

インフラ転職コンパス現場・技術・キャリアをつなぐ専門メディア

メニュー

サーバーエンジニアの仕事内容|構築・運用・障害対応で実際にやること

サーバーエンジニアの仕事は、サーバーを構築することだけではありません。動いているサービスが止まらないように監視し、止まったら原因を切り分けて戻し、次は止まらないように設計を直す——この繰り返しが仕事の中身です。

この記事では、サーバーエンジニアが監視、運用保守、構築、設計のそれぞれで実際にやっていることを、扱う技術や作る資料まで含めて説明します。求人の選び方や年収についてはサーバーエンジニア転職完全ガイドで扱っているので、ここでは「毎日なにをしているのか」に絞ります。工程ごとの一日の中身、障害対応で見る順番、バックアップと復旧の設計、そしてネットワーク担当・アプリ担当との切り分け——この4つが中心です。

この記事で分かること

  • 監視・運用保守・構築・設計で、一日の中身がどう変わるか
  • LinuxとWindows Serverで担当範囲がどう違うか
  • 障害対応で、どの順番に何を見ているか
  • バックアップと復旧が、なぜ仕事の中心にあるのか
  • ネットワーク担当・アプリ担当との切り分けで何が起きるか

サーバーが起動していることと、サービスが正常なことは別

サーバーが起動していることと、サービスが正常であることは別です。プロセスが動いていても、ポートで待ち受けていなければ接続できません。待ち受けていても、依存するデータベースへ接続できなければエラーになります。接続できても、ディスクが満杯ならログが書けず止まります。

この「動くための条件」を洗い出し、監視で見張り、崩れたときに戻せるようにしておくのがサーバーエンジニアの仕事です。扱う対象はLinux、Windows Server、仮想化基盤、ストレージ、Web・DBなどのミドルウェアと幅広いですが、考え方はどれも同じです。

工程 実際にやっていること 作るもの
監視 アラートの対象・時刻・影響を確認し、手順に沿って連絡する 障害記録、引き継ぎ記録
運用保守 ログ調査、容量管理、パッチ適用、設定変更、復旧、アカウント管理 調査報告、変更手順、復旧手順、作業証跡
構築 OS・ミドルウェアの設定、単体・結合試験、本番導入、移行 パラメータシート、構築手順、試験結果
設計 台数、性能、可用性、権限、監視、バックアップ、復旧方式の決定 基本・詳細設計書、構成図、運用・移行設計

サーバーエンジニアが担当する層同じ「サーバー」でも、オンプレとIaaSでは自分が見る範囲が変わるオンプレIaaSアプリケーション業務システム本体。アプリ担当の領域ミドルウェアApache/Nginx・Tomcat・PostgreSQL などゲストOSLinux/Windows Server。パッチ・アカウント・ログ仮想化基盤VMware vSphere/Hyper-V。リソース配分と冗長化物理サーバー・ストレージ・電源ラッキング・配線・保守部材。データセンター作業自分が見る自分が見るクラウド事業者
図:サーバーエンジニアが担当する層とオンプレ/IaaSの責任分界

工程が変わると、一日の中身が変わる

監視・運用保守の一日

交代勤務なら、まず前の担当者から継続中の障害と当日の予定作業を引き継ぎます。そのあとはアラート対応と問い合わせ対応が中心です。CPU、メモリ、ディスク使用率、プロセス死活、サービス監視——アラート名だけでは影響が分からないので、どの業務が使えなくなっているかを確認してから連絡します。

定常業務としては、日次のバックアップ結果確認、ディスク使用量の推移確認、アカウントの作成・変更・削除、証明書やライセンスの期限確認があります。月次ではパッチ適用の計画と実施、容量レポートの作成が入ります。

構築の一日

設計で決まったパラメータをもとに、OSをインストールし、ユーザーと権限を作り、ミドルウェアを設定し、監視とバックアップを組み込みます。ただし、実際に手を動かす時間より、パラメータの整合性を確認する時間、手順書を書く時間、試験項目を作る時間のほうが長くなります。

ここはネットワークの設計構築と同じで、資料の比重が想像より大きい工程です。同じ構成を別の人が再現でき、途中で止めて元に戻せる状態を作るために、手順と証跡が必要になります。

パッチ適用や移行の日

サービスを止める作業は夜間や休日になります。当日の流れは決まっていて、まず業務側に停止を告知し、直前のバックアップを取得し、サービスを止め、パッチを当て、再起動して、起動を確認します。ここで終わりではなく、依存するデータベースや外部サービスへ接続できるか、業務側で実際に画面が使えるかまで確認して、ようやく完了です。

難しいのは、想定と違う結果が出たときにいつ中止するかです。「何時までに正常確認が取れなければ切り戻す」という時刻をあらかじめ決めておかないと、直せそうな気がして作業を続けてしまい、朝の業務開始に間に合わなくなります。

設計の一日

設計担当になると、サーバーに触る時間はほとんどなくなります。アプリケーション担当から必要な性能とデータ量を聞き、業務部門から止められる時間を聞き、それを台数、スペック、冗長方式、バックアップ方式へ落として、構成図と設計書にまとめます。

ここで決めるのは製品名ではありません。「自動で切り替わる構成にすると月額がいくら増えるが、停止は1分で済む。手動復旧なら追加費用はないが2時間止まる。業務が許容できるのはどちらか」——この比較を出して選んでもらうのが仕事です。決めた内容が、そのまま構築工程のパラメータと試験項目になります。

LinuxとWindows Serverで、担当範囲はどう違うか

どちらも「サーバーエンジニア」の求人ですが、扱う対象と現場の文化がかなり違います。転職では、応募先がどちら中心かで準備する内容が変わります。

Linux中心の現場 Windows Server中心の現場
主な対象 Web/AP/DBサーバー、バッチ基盤、コンテナ Active Directory、ファイルサーバー、業務システム基盤
よく扱う技術 ユーザー・権限、systemd、SSH、ログ、パッケージ、シェル AD、DNS、グループポリシー、更新管理、証明書
調査の起点 ログファイルとコマンド出力 イベントログと管理コンソール
つながりやすいクラウド AWS、Google Cloud Azure、Microsoft 365

Linux側で何を学べば実務につながるかはLinux経験はサーバーエンジニア転職で有利か、Windows側はWindows Server経験を転職で活かすにはで、評価されるスキルと求人の見方を扱っています。

サーバー担当でも、ネットワークからは逃げられない

接続できないという問い合わせを受けたとき、OSまでパケットが届いていないのか、OSが拒否しているのか、サービスが応答していないのかを分けて考える必要があります。ここが曖昧だと、ネットワーク担当と「そちらの問題では」というやり取りが延々と続きます。

最低限、IPアドレス、サブネット、デフォルトゲートウェイ、DNS、TCP/UDP、ポートは押さえておきます。ネットワーク側が日々何をしているかはネットワークエンジニアの仕事内容で確認できます。ポート番号とはネットワーク障害の切り分け順番を読んでおくと、切り分けの会話が噛み合うようになります。

障害対応では、どの順番で何を見ているか

「Webサイトが開けない」という連絡だけでは原因は分かりません。サーバー側では、上から順に条件を確認していきます。

  1. 影響範囲を確認する(全員か、特定の利用者か、特定の機能だけか)
  2. 直前の変更を確認する(デプロイ、パッチ、設定変更、証明書更新)
  3. 名前解決ができているか
  4. サーバーまで通信が届いているか(経路、ファイアウォール)
  5. OSがポートで待ち受けているか
  6. プロセスとサービスが起動しているか
  7. ログに何が出ているか
  8. ディスク容量、メモリ、接続数の上限に当たっていないか
  9. 依存するDBや外部サービスへ接続できるか

再起動すれば直ることは多いですが、それで終わらせると同じ障害が繰り返されます。何が原因で、次にどう検知して、再発したらどう戻すかまでを記録に残すのが運用の仕事です。

ネットワーク担当と切り分けが噛み合わない典型例

筆者はネットワーク側の担当としてこの場面に何度も立ち会いました。よくあるのが、サーバーのアクセスログに記録されている送信元IPが、実際の利用者のIPと違うケースです。途中でSNATが入っていると、サーバーからはNAT機器のIPに見えます。サーバー側は「知らないIPから来ている」と言い、ネットワーク側は「正しく転送している」と言う。どちらも正しいのに話が噛み合いません。

この仕組みはSNAT後の通信元IPはどう見えるかで解説しています。サーバー担当がこれを知っているだけで、切り分けにかかる時間がかなり変わります。

アプリケーション担当と切り分けが噛み合わない3つの典型

もう一つ揉めやすいのが、サーバーとアプリケーションの境目です。「サーバーが重い」という連絡を受けても、OSのCPUとメモリに余裕があることは珍しくありません。実際には、アプリケーション側でデータベースへの接続を使い切っていたり、遅いクエリが詰まっていたりします。

1. タイムアウト=ネットワーク障害という早合点。エラーログに「Connection Timeout」が出た瞬間、インフラ側へ「通信が切れています」と丸投げしてしまうケースです。実際にはアプリ側のコネクションプールの枯渇、DBのデッドロック待ち、メモリ不足によるスローダウンが原因であることも多くあります。

2. 権限まわりを確認せずに「コードは悪くない」と判断する。「ローカルの開発環境では動いた」という主張です。本番サーバーではディレクトリの権限や実行ユーザーが違う、SELinuxやローカルファイアウォールで弾かれている——そこで調査が止まってしまいます。

3. ロードバランサーやプロキシの仕様を把握していない。SSLの終端処理(オフロード)、セッション維持の仕組み、ヘルスチェックの挙動を知らないまま、LB経由の通信になった途端に「インフラのせいで繋がらない」と原因追及をやめてしまうパターンです。

この場合、サーバー側で見るのは「OSの資源が足りているか」「プロセスとポートが正常か」「ログに何が出ているか」まで、それ以降はアプリケーション担当の領域です。境界を先に決めておかないと、どちらも相手の担当だと思って調査が止まります。切り分けの早い現場では、障害時にサーバー担当とアプリ担当が同じ画面を見ながら、どこまで正常かを一緒に確定していきます。

バックアップと復旧が、仕事の中心にある理由

バックアップは「取得できていること」ではなく「戻せること」で評価されます。取得成功のログが出ていても、実際に別の環境へ復元してサービスとして動くところまで確認していなければ、復旧できる保証はありません。

設計工程では、どこまでのデータを失ってよいか(RPO)と、何時間で戻すか(RTO)を業務側と合意します。この2つが決まると、取得頻度、保管世代、保管場所、復旧手順が自動的に決まっていきます。逆にここを決めずに「毎日バックアップを取る」とだけ決めると、いざというときに戻せません。

決めること 業務側へ聞く内容 設計へ反映される項目
どこまで失ってよいか 直近何時間分のデータなら再入力できるか 取得頻度、ログの保存方式
何時間で戻すか 業務が止まって許容できる時間はどれくらいか 冗長構成にするか、手動復旧にするか
いつまで残すか 監査や法令で必要な保管期間はあるか 世代数、保管先、暗号化
誰が戻すか 夜間や休日に誰が対応するか 復旧手順書の詳細度、権限設計

この仕事に就くには

未経験から入る場合、最初は監視やアカウント管理、構築補助からになることが多いです。学習では、仮想環境にLinuxを入れて小さなWebサーバーを1台立て、わざと壊して直すところまでやります。サービス停止、権限の誤り、ディスク逼迫の3つを再現できると、面接で話せる材料になります。

応募までの手順と求人の見分け方は未経験からサーバーエンジニアへ転職するには、30代から目指す場合は30代でサーバーエンジニアへ転職できるかを参照してください。資格から入るならサーバーエンジニア転職に有利な資格LinuCの評価と活かし方で、志望領域に合うものを一つ選びます。

「きつい」という評判が気になる場合はサーバーエンジニアはやめとけと言われる理由で、実態と避けるべき求人を分けて確認できます。この先どんな進路があるかはサーバーエンジニア転職完全ガイドサーバーエンジニアのキャリアパスにまとめています。

よくある質問

サーバーエンジニアはプログラミングが必要ですか

必須ではありません。ただし、シェルスクリプトや構成管理ツールで手作業を減らせる人は評価されます。まずはOSの基本操作、ログの読み方、切り分けができることが先です。

LinuxとWindows Serverはどちらから学ぶべきですか

応募したい求人で使われているほうです。Web系やクラウド寄りならLinux、社内システムや認証基盤ならWindows Serverが中心になります。決められない段階なら、求人を10件ほど見て共通している環境を選んでください。

ネットワークの知識はどこまで必要ですか

IPアドレス、サブネット、デフォルトゲートウェイ、DNS、TCP/UDP、ポートまでは必要です。障害時に「OSまで届いていないのか、OSが拒否しているのか」を分けられないと、切り分けがネットワーク担当任せになります。

クラウドが広がるとサーバーエンジニアの仕事は減りますか

減るのは、機器の調達、ラックへの設置、OSの手作業インストールといった「作る作業」です。残るのは、どこまでの障害に耐えるか、何時間で戻すか、誰にどの権限を渡すかといった「決める仕事」です。詳しくはサーバーエンジニアの将来性で扱っています。

夜勤はありますか

24時間監視のチームでは交代勤務があります。運用保守でも、パッチ適用や移行のように業務を止める作業は夜間・休日になります。ただし、日勤中心の社内基盤やクラウド運用の求人もあるため、募集部署の直近の実績を確認してください。

求人票から担当工程を読み解く手順は、サーバーエンジニアの求人の選び方にまとめています。

まとめ

サーバーエンジニアの仕事は、サービスが動く条件を洗い出し、監視で見張り、崩れたときに戻すことです。工程によって、アラートを見る日も、パラメータを整える日も、夜間に移行作業をする日もあります。

これから目指すなら、まずLinuxを1台立てて、わざと壊して直してみてください。サービスを止める、権限を間違える、ディスクを埋める。この3つを再現して、ログのどこを見て、どう戻したかを書き残せれば、それが最初の材料になります。

最近の記事
お知らせ