難しい技術名より先に、確認・相談・報告をどう行うかを示します。
入社後、まず担当したいこと
サーバー構築・運用の実務経験はまだありません。最初は、決められた手順があり、作業を確認してくれる担当者がいる範囲で取り組みたいです。担当したいのは、設定作業の補助、動作確認、監視、ログ確認、作業記録です。判断に迷う変更は一人で進めず、早めに相談します。以下は仕事を想定した練習内容であり、実務実績ではありません。
入口として担当したい業務
設定作業の補助
設定内容と手順を見比べ、指示された範囲を作業します。変更した内容、結果、残った作業を記録します。
監視と原因の絞り込み
発生時刻、影響した範囲、直前の変更、監視値、ログを順番に確認し、分かった事実を共有します。
動作確認・記録・引き継ぎ
期待した動きと実際の結果を比べます。合格だけでなく、失敗、未実施、やり直した結果も同じ形で整理します。
仕事を想定した練習例:Webの異常通知を受けたら
かんたんに言うと「サイトが見られない」という知らせが来たとき、どんな順番で調べて直すかの練習です。実際のお客様の環境で対応した記録ではありません。
-
01
受付・影響確認
アラート(異常を知らせる自動通知)が出た時刻、対象のサービス、利用者への影響、直前に行った変更、同時に出ている他のアラートを確認します。まず全体像をつかみ、影響の大きさを見誤らないためです。
-
02
作業前の状態を記録
監視の数値、動いているプログラム、通信の待受(外からの接続を受け付けている状態)、ログ、関連サービスを確認して保存します。あとで「直したことで何がどう変わったか」を比べられるようにするためです。
-
03
原因の場所を絞る
Webの受付、アプリ、サーバー本体、ネットワークのどこで止まっているかを順番に確認します。
-
04
承認された範囲で対応
作業手順書と担当範囲を確認し、再起動や設定変更は必要な承認を得てから行います。よかれと思って行った操作が、別の障害を招くことがあるためです。
-
05
元に戻ったか確認
プログラムの起動だけで終えず、Web画面の応答、監視表示、ログ、関連機能まで再確認します。
-
06
報告・次への改善
起きたこと、影響、原因、対応、復旧時刻、残った心配を報告し、手順や監視の改善案を残します。
変更を安全に進める型
かんたんに言うと設定を変えるときの決まった進め方です。機械による自動の確認で不具合を先に見つけ、問題が出たときは前の状態へ戻せるようにしておきます。
失敗を見つけ、原因を調べて修正
GitHub上の自動テスト(決めた確認項目を機械が自動で実行する仕組み)で2つの問題を見つけました。修正後、23項目すべてが合格することを確認しました。さらに、同じ手順を2回目に実行しても不要な変更が出ないこと(冪等性/同じ操作を何度実行しても結果が変わらない性質)も確認しました。
PR #75を確認指定した前の版へ戻す
新しい版を確認したあと、指定した前の版へ正確に戻しました。この作業は切り戻し(問題が出たときに以前の状態へ戻すこと)と呼ばれます。戻したあと、アプリとログが正しく動くことを確認しました。
切り戻しの記録を確認本番変更は単独判断しない
目的、影響範囲、事前確認、実施手順、切り戻し条件、事後確認を、他の人が読んで確認できる形にまとめます。そのうえで、承認と自分の担当範囲を確認してから進めます。
チームで働くための準備
公開作品は個人制作で、第三者によるコード確認は受けていません。入社後は、次の情報をそろえ、確認や引き継ぎを受けやすい形にします。
依頼内容を整理する
目的、対象、終わりの条件、今回行わないことを作業票にまとめます。
変更を小さくする
一つの変更に一つの目的を持たせ、確認しやすい大きさに分けます。
結果を添える
期待した動き、実際の結果、失敗、やり直し、未実施を残します。
判断を仰ぐ
権限、停止影響、セキュリティ、費用が絡む変更は独断で進めません。
AIを使った範囲と、自分で確認したこと
このサイトと関連作品では、文章整理だけでなくプログラム作成にもAIを使いました。AIが出した内容を、そのまま自分の実績とは呼びません。自分の言葉で説明でき、実際に動かして確認できた範囲だけを公開しています。あわせて、確認したときに保存した記録も公開しています。
- 目的、対象範囲、完了条件を決める
- なぜその方法を選んだか説明する
- どの環境とコードの版で試したか記録する
- 結果を確認し、未実施を明記する
- コード・テスト・文書の案出し
- エラー原因の候補を出す
- 確認項目の漏れを探す
- 繰り返し作業と文章の整理
- 主要構成を図と言葉で説明する
- 保存した記録から判断理由を示す
- 面談時に再現可能な演習を実行する
- 分からない点を分からないと回答する
面談で確認いただけること
かんたんに言うと面談の場で、実際に画面を動かしてお見せできる内容です。動かせるのは本人のパソコンに用意した環境の範囲に限られます。
Webサービスの問題箇所を調べる
Windows上のLinux環境とDocker(アプリを箱に分けて、まとめて動かす仕組み)を使い、Web受付、アプリ、データベースのどこで止まったかを順番に確認します。
データベースのバックアップ・復元
バックアップからデータを戻し、復旧までの時間と、内容が元と一致することを確認します。
設計判断と失敗事例
管理画面を外部へ直接公開しない理由を説明します。あわせて、設定を用途ごとに分けた理由、前の版へ戻す条件、失敗から直した内容もお話しします。
再実演できるのは、本人PCのWindows上のLinux環境とDockerで行える範囲です。GitHubの一時テスト環境、実機(本物のパソコン)に入れたAlmaLinux(Linuxの種類の一つ)、継続利用するサーバーでの実演は対象外です。
次に確認したいこと:独立した仮想マシン/実機
現在は、Dockerが入った一時的なテスト環境(使い終わると消える、使い捨ての環境)での確認が中心です。以下を終えるまで、「何も入っていないOS(パソコンやサーバーを動かす基本ソフト)から独立したサーバーを構築した実績」とは表現しません。
- 01独立したUbuntuを用意
Dockerとは別に用意した仮想マシンまたは実機へ、Ubuntu(Linuxの種類の一つ)を入れます。そのうえで、設定を変える前の最初の状態を記録します。あとで何をどう変えたかを比べられるようにするためです。
- 02別のパソコンから設定
ネットワーク、ユーザー、接続、Docker、Ansible(設定作業を自動で行う道具)を設定します。そのうえで、別の端末からつながることを確認します。
- 03再起動・前の版への切り戻し・復元
サーバー再起動後の動作、指定した前の版への戻し、バックアップからの復元、監視とログの再開を確認します。
- 04長時間動作と引き継ぎ確認
72時間の連続動作を試します。そのうえで、分かっている制約、復旧条件、引き継ぎチェックリストを、実際の結果に合わせて更新します。
手順を確認し、分からないことは相談します
実際に試したこと、学習で準備したこと、まだ経験していないことを分けてお話しします。