smellman's Broken Diary

クソみたいなもんです

インフラエンジニアであるか見分ける10の質問への回答

インフラエンジニアであるか見分ける10の質問をダメなインフラエンジニアが回答してみました。

1. 今まで自身で構築したサーバの種類と、その構築方法について説明せよ

Application Server, Web Server, Database Server, File Server

Application ServerはWeb Serverと共有しているケースが多い、主にPassengerを使ったケース。冗長化するケースが多いので、大体pound使ったりする。

Database ServerとFile Serverも何故か共有することが多い。File Serverと言っても大体Application で利用するファイルの共有がメイン。
DRBDでデータベース領域を共有化しておいて、Heartbeatで監視というのが大体のパターン。そろそろpeacemakerに浮気をしたい所存であります。

YAMAHA RTX-1100を使って四拠点間のVPNの構築とかやったことがある。構築方法はconfigをしっかり書くこと(キリッ

2. サーバ用途で使用するオペレーティングシステムの種類と、その特長について説明せよ

Linux
ディストリビューションによっての使い勝手が違いすぎる。とりあえずLinuxと言えば大体OKだけど、時々Solarisを強要されるので気をつけろ。
FreeBSD
BSD系の中であまり特徴がないイメージが強すぎてファイルシステムとか強化しても気づかれない可哀想な子。
OpenBSD
セキュリティガチガチ、ガチムチ系。テオ様をウォッチすることが義務付けられている。
NetBSD
Dreamcastをサーバにしたいときに利用する。
AIX
ビッグブルーに魂を売ると手に入る。
Solaris
神託によって残念になりつつある。
Cisco IOS
保守延期し忘れて泣く。もしくは保守関係の内容を聞かされないまま引き継がれて泣く。

3. スケールアウトとスケールアップの違いを説明せよ、またそれぞれどのような長所・短所があるのか説明せよ

スケールアウト
サーバの台数を増やしてパフォーマンスの強化する。お兄ちゃんのことなんかぜんぜん好きじゃないんだからねっ!!におけるAGE探検隊に隊員が増えるようなもの。サーバにおいては冗長構成とか組みやすくなるのでリスクも分散できたりする(というかそっちの方がメインだったりするんだけどな)が、コストはそれなりにかかる。
スケールアップ
システムを強化しまくって耐久性を強化する方法。オナニーを耐久度を上げるためにエビオス錠を飲みまくるという感じ。単純に性能アップなのでコストはかからないけど、一日にオナニー出来る数が限られてるようにそれなりに限界がある。

4. システムを運用する上で、どのようなモニタリング(いわゆる監視)が必要な説明せよ、またその際に使用する具体的なアプリケーションとその特長をあげよ

監視項目:CPU使用率、メモリ使用率、I/O周り、トラフィック、電源使用率(データセンターによっては怒られる)、プロセス自体の存在、客先の連絡先及び営業時間、データセンターへの移動手段
アプリケーションは

munin
munin自体を立ち上げて横つながりで統計とか出してくれる。
nagios
ヤバい数値がでたら連絡してくれる便利ツール。真夜中の目覚ましとして利用
zabbix
エージェント同士で横つながりみたいなやつだったような(良く知らない
携帯電話
むしろ俺が監視されている
タクシー
ちゃんと領収書をもらいましょう

5. ハードディスクと SSD の内部構造の違いについて説明せよ、またそれぞれどの場面で使うと有効であるか説明せよ

ハードディスク
円形のディスクがぶんぶん回ってる。ハンマーで破壊すると楽しい。
SSD
シリコンディスクとかいうのを使ってる。書き込み可能回数に制限がある。ディスクが回らないのでシーク時間がほぼ0コストなのでさすがに早い。

ハードディスクは基本大容量なので、大容量のデータ(エロ動画など)を入れるときに有利。SSDは速度が求められるのでKVSとかに有利なんじゃないかな?(知らんわ

6. SSH を設置するために、セキュリティ的な観点で気をつけなければならない点をすべてあげよ

  • ポート番号を変えることはよくやるけど、あまり意味がわからない。
  • パスワード認証じゃなくて鍵認証にするのがベスト。
  • rootでアクセスとかするやつは死んでいいんじゃないかな。
  • 特定のコマンドを許可するときはちゃんとガチガチに設定する。
  • 接続する相手が秘密鍵をcvsサーバにアップするケースとかがあるから気を付けろよ、というか接続ユーザが信用できない場合は殴りに行っていい。

7. 自前インフラとクラウドインフラ、それぞれの特長(長所・短所)を説明せよ

自前インフラ
自分たちで好きなマシンを設置できる。スケールアップがしやすい。データセンターから遠すぎると泣く。
クラウドインフラ
基本単体のスペックが高くないので、スケールアウトが中心。起動時間とかで金額が決まったりするので、一時的に処理を回したい時とかに一気に台数を確保できたりする。調子に乗ると破産する。

8. TCP と UDP のプロトコル上の違いを説明せよ、また具体的にそれぞれのプロトコルを一般的に使用しているアプリケーションをあげよ

TCP
接続すると接続した者同士で確実に通信できるようにする。通信の正確性が保証されている。ブラウザ(HTTP)、SSH、Telnetとか。
UDP
確実に通信できるかどうかは考慮しないため、いい加減なものと思われがちな可哀想な子。DNSVLCの動画配信(アニメをPT2で録画してそのまま配信とか!)とか。

9. (具体的に高負荷になっているサーバを例に出して)このサーバが高負荷となっているその理由、あわせてその対策を説明せよ

  • 例: DB+Webの構成で、Webサーバからのレスポンスが異常に遅いが、静的ページからはすぐにレスポンスがくる。
  • 理由: DBの接続でトランザクション処理に時間がかかっており、テーブルにロックがかかってしまい更新処理ができていない。
  • 対策: DBの接続情報を確認。エラーが多くて苦情になっていても、できることなら切断せずにメンテナンスページを用意してルータをいじってメンテナンスページに飛ばすようにしてから、処理が終わるのを待ってみる。ということはしたことがないので、大体普通にDB再起動してプログラマーを電話で叩き起こすとか...(自分がやった事ないケース話してどうするんだ、むしろ叩き起こされる側だぞ

10. (僕が運用しているシステムを例に出して)このシステム構成での問題点、および近い将来に問題となるであろう点がどこかであるかその理由と、その対策をあわせて説明せよ

最近あまり運用してないのですが、とりあえず僕が退職したらシステムが破綻するケースが昔は多々あったので、退職フラグが立つ前に給料を上げる事が対策です。

冗談ですよ?