システム構築時のホスト名の命名方法について

一時期検討したのでメモ。

議題

自由にネーミングルールを決定できる場合、以下の用に名前付けすると効率がよいと思われる。

[システム名][サイト名][サブシステム名][役割][連番]

例:TEMSDB001

TE システム名(TESTシステム) M/Sサイト名(Mail/Sub) S ミドルウェア名(SQL) DB 役割(DBサーバー) 001 連番

検討ポイント

  • 名前を正規化し、スクリプト等で扱いやすくする
  • アルファベット順で並び替えた際、構築対象サーバーがひとまとまりになるようにする
  • 人間がそれなりに呼びやすい名前とする

以下、その他検討したケースとダメな理由をメモ。

まず、どのような要素を"名前"に含めるかどうか。趣味のサーバーでなければ、分かりやすく管理しやすい名前がよい。

(星座の名前とか競走馬の名前は研究室のサーバーで十分)

必須要素

  • サーバーの役割
    • さすがに必須である
  • 連番
    • 同一役割のサーバーを複数台構築するのがほとんどなので必須。
  • システム名
    • エンタープライズシステムの場合、他部署が管理しているシステムと区別するために必要
  • ロケーション名
    • 一昔前なら不要だが、サーバーのサイトを分けて構築するケースが増えてきたので必要と思われる。
  • ミドルウェア名 -サーバー台数が多い場合、システム名+役割+連番では上手く命名できない事が多いので、含めておくと後で助かる場合がある

不要要素

  • OSバージョン
    • 一度構築したサーバーのOSをアップデートして使用するケースは少ないが、サーバーに付与しても何の情報にもならない
  • 製品名
    • 吸収合併の多いIT業界で製品名を付けると、何年後にはサーバー名と製品名称が不一致になっている可能性がある。
      • 悪い例:VERITAS Backup Execなので"V" → Symantec Backup Execになっちゃった…。
      • 良い例:役割がBackupなので"B"
  • プロジェクト名
    • つけがちだが、数年後にサーバー増設プロジェクトが発生した場合、同じ役割のサーバーの命名ルールが分断される。

要素の命名順番

サーバー名をアルファベット順に並び替えた時にどうなるかに着目すると、システム名を一番最初に持ってくるのが良いと思われる。良くあるのがサイト名を最初に持ってくるシステムだが、こうするとGUIでアルファベット順に並び替えた時に同じシステムの同役割のサーバーが分断されてしまい、作業ミスが発生しやすくなる。全部CUIでやるからいい、という人もいるかもしれないが、月次レポートなどでExcelでデータ出力する際に、同じ役割のサーバーが別々で表示されるのでストレスがたまると思う。