blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2020.03.27 DeNAインフラノウハウ発信プロジェクト

オフィス島スイッチ運用の負担軽減のための工夫

by Kunitate Katagiri

#network #Infrastructure #stabilization #IaC #infra-quality #infra-delivery

はじめに

こんにちは、IT基盤部ネットワークグループの片桐です。 ネットワークの設計・構築・運用を担当しています。 今回は、チームでのオフィスネットワーク、 特にデスク設置のスイッチの運用軽減の工夫について、 紹介させていただきます。

DeNAオフィス環境について

DeNAのオフィスでは、 各席の社内PCとスマートフォンで、インターネット・社内ネットワーク利用できるよう、 無線LANと有線LANを両方提供しています。 多くのメンバは無線LANを利用しておりますが、 無線LANの利便性は、安定性とのトレードオフとなっており、 並行して各席へのLANケーブル敷設による有線LAN環境も提供しています。

オフィス有線LAN環境とその必要性

無線LANによるネットワークの利用は利便性の高いものですが、 下記のような理由から、一部の業務においては適さないケースもあります。

  • 無線LANは、一端末による大量通信がまわりに影響を与えやすい
  • 無線LANは、外来波の影響を受けやすい
  • 無線LANは、通信品質の正確な監視やトラブル発生時の切り分けの難易度が高い

特に下記のようなケースでは有線LANが必須であり、そのようなケースは珍しいものではありません。

  • 大量通信を必要とする作業
  • 単純に通信の安定性が必要な作業
  • IP電話の音声通信など、安定性を重視する機器の利用
  • PoE(Power over Ethernet)給電必須機器の利用

DeNAオフィスについて、社内PCのネットワーク利用のために、各席に1口ずつ有線LANを提供するようにしております。 また、IP電話・プリンタ・他特殊用途端末(大容量通信をするため有線コネクタを接続したスマートフォンなど)についても、 別途有線LANを提供しています。

各席への有線LAN提供と島スイッチ

オフィスの各席への有線LANの敷設は、

  • サーバ室設置のスイッチから直接各席に配線している場合
  • デスク下などに設置したコンパクトスイッチから各席に配線している場合

の2パターンがあります。

ネットワークの運用は、機器が少ない方が楽なので、 サーバ室から各席に直接配線する設計の方が運用はしやすいです。

しかし、デスクの配置変更・接続する機器増加・工事の関係から配線を増やしづらいなどの場合には オフィス室内のデスクにコンパクトスイッチを追加設置し、柔軟に配線の対応をしています。

オフィス簡易ネットワーク図

オフィス簡易ネットワーク図

このデスク用のコンパクトスイッチは、島スイッチと呼ばれています。 この呼び方は、席の集まったデスクが島と呼ばれているためです。 (一般的に、島のようにデスクがグループごとに固まったオフィスレイアウトのことを島型のレイアウトと呼ぶそうです。)

簡易オフィス図

簡易オフィス図

DeNAオフィス環境にある島スイッチ

本社のあるヒカリエオフィスだけで、島スイッチは約80台。 ヒカリエ以外のオフィスも含めると合計約300台の島スイッチが運用されています。

特にヒカリエオフィスの島スイッチは追加・移動・撤去が多く、 全てを手動で、島スイッチのキッティング、監視設定追加と削除の対応、 それに加えまた細かくポートの設定などすると、かなりの工数をとられます。

島スイッチにはCisco社のコンパクトスイッチ1を利用していますが、このスイッチは、 基本的にコンソールケーブル(下記写真のような)とPCを使うことでキッティングや初期化の操作ができます。 このコンソールを用いたスイッチのセットアップ作業はそこそこ時間のかかる作業であり、ミスなどの可能性も出てきてしまいます。 また、コンソールケーブルを用いた作業はネットワークグループメンバー以外では難しく、他部署への作業を依頼することも難しくなります。

コンソールケーブル

コンソールケーブル

コンソールケーブルの接続

コンソールケーブルの接続

大量の島スイッチの管理・運用

大量の島スイッチのそのまま管理・運用していくのは、かなり負担となります。 そこで、下記のような工夫をし、工数の削減を図っています。

1.できる限りの島スイッチの設定統一化

IP電話・PCについてはスイッチのマクロ機能をつかって動的にポート設定を変更。2 島スイッチに限らずできる限りコンフィグは統一化できるよう工夫し運用をしています。 島スイッチの管理IPアドレスをDHCPで管理するようにすることで、 全く同じ設定で複数のスイッチを運用できるようにしています。

2.島スイッチ用キッティングツールの設置

島スイッチ用キッティング用のLANと、その有線LANの口を用意し、 工場出荷状態のCisco社のコンパクトスイッチを、キッティングLANに接続するのみで、 設定ファイルの適用、OSの自動インストールがされ、スイッチのセットアップができるようにしています。 これはDHCPによる設定bootと、expect実行によるtelnetログインと対話的なコマンド実行により実現されています。

3.島スイッチ用監視の自動追加・削除の実施

島スイッチの管理IPアドレスをDHCPで管理しているため、 DHCPサーバのアドレスのリース情報(dhcpd.leases)から、監視設定を自動更新するようプログラムを動かし、 監視設定の追加・削除を実施しています。 DeNAネットワークでは、全てのネットワーク機器において、設定の自動バックアップも実施しており、 このバックアップ対象リストもリース情報を元に更新しています。

島スイッチ用キッティングツールについて

キッティングツールの動作詳細について紹介致します。 自動キッティングにおける動作は下記2つとなります。

  1. DHCPサーバでのオプション指定により、TFTPからの設定boot
  2. expect実行による、telnetログインとセットアップのためのコマンド実行

工場出荷状態のCisco社のコンパクトスイッチは起動する際に、 DHCP経由でパラメータを与え、任意のTFTPサーバの設定を読み込ませることができます。 これは、例えば、dhcpdにおいて下記のような設定となります。

この段階で直接、運用に使われる設定を読み込ませないのは、 機種・バージョンによる差異に対応するためです。 (この方式だと全ての機種に同じ設定が読み込まれてしまいます)

subnet 172.16.0.0 netmask 255.255.255.0 {
    default-lease-time          60;
    max-lease-time              60;
    option routers              172.16.0.254;
    pool {
        range 172.16.0.10 172.16.0.100;
        option 150 172.16.100.100;
        option 67 "<初期コンフィグ>.conf";
    }
}
DHCPサーバでのオプション指定によるTFTP初期bootの動作図

DHCPサーバでのオプション指定によるTFTP初期bootの動作図

初期コンフィグを読み込むことで、島スイッチは管理サーバからのtelnetアクセスを許可できます。 これにより、expect実行にて、もう少し複雑なプラグラム制御による対話的なコマンド実行が可能になります。

キッティングスクリプトでは、telnetログインし、show versionコマンドの実行結果から、機種・バージョン情報を取得します。 機種に応じたキッティングコンフィグをTFTPサーバから読み込ませ、バージョンアップ/ダウンが必要な場合にはOSのインストールを実行します。 この時点で、オフィス運用可能な島スイッチとしてセットアップ完了となります。

expect実行による、telnetログインとセットアップのためのコマンド実行の動作図

expect実行による、telnetログインとセットアップのためのコマンド実行の動作図

一連の操作は、キッティングLANに工場出荷状態の島スイッチをLAN接続し起動することで、自動実行可能です。 この状態になりましたら、島スイッチは管理IPアドレスによりアクセス可能となります。

島スイッチの監視の自動追加・削除

島スイッチの管理IPアドレスはDHCPサーバにより管理されています。

DHCPサーバのアドレスのリース情報(dhcpd.leases)と監視設定を自動更新するようプログラムを動かし、 監視設定の追加・削除を実施しています。 DeNAネットワークでは、全てのネットワーク機器において、設定の自動バックアップも実施しており、 このバックアップ対象リストともリース情報を元に更新をしています。

プログラムの実装はそのまま、DHCPリース情報を読み込んで、監視設定を更新するといったものです。

監視追加は、単純にDHCPリース情報にてリース有効であり、まだ監視追加していないIPアドレスが見つかった際に実行します。 監視削除は、DHCPリース情報にてリース解放から2日以上が経過したIPアドレスについて、監視を削除するようにしています。

監視の自動追加・削除の動作図

監視の自動追加・削除の動作図

島スイッチの監視における通知について

島スイッチは、サーバ室のマウントスイッチと違い、作業の激しいデスクの上や座席の足元に設置されています。 なので、島の掃除などの際に、一時的に電源ケーブルを抜かれてしまうといったケースが多いです。 監視について検知後即時の通知設定だと、 一時的な作業にも関わらず障害被疑としての稼働がかかってしまうことが多くあり、 通知過多により、運用者への負担がかかってしまうことが多いです。 なので、DOWN検知から60分経過で通知を出すという設定にて、監視を調整しています。

まとめ

オフィスネットワーク、特に島スイッチの運用軽減について、紹介しました。

本ツールにより、島スイッチのキッティング・設置・稼働開始までの一連の作業について、 ネットワークグループが関わらなくても作業が可能となりました。 これにより、オフィスの有線LAN設置などを迅速に対応できるようになりました。

また、大量機器のキッティングや監視登録の作業は、基本的にルーチンワークであり、 気持ち的にもできる限り時間をかけたくない作業ではあります。 このような作業の負担をできる限り軽減し、より本質的な業務に取り組めるようになっていければと考えています。


  1. DeNAでは、Cisco社のCatalyst2960C、Catalyst2960L、Catalyst2960CXシリーズのスイッチを島スイッチとして使用しています。 ↩︎

  2. Cisco社のコンパクトスイッチの機能・設定によるもののため、本記事では詳細の説明を省きます。 ↩︎

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。