12-05

2022-01-29

12-05

 声を掛けてきたのは、植松と同期の女子で、神山と言った。都の小さな悲鳴の冗談をどう受け取って良いのかわからないような風で、愛想笑いだけ浮かべていた。都は、神山があまり得意ではなかった。決して悪い子ではないが、おそらくは、仕事の上で都と話さなければならないから、話しているだけで、用がなければ都とは決して口をききたくないと言った、そんな雰囲気があった。女子同士ではたまにあることだが、全く最初から、お互いに気が合わないことを微妙に感じ取って、敵意のようなものすらをお互い抱いてしまい、分かりあおうとは決してしない。表面上は、何事もないばかりか、いたって親しげにすら側から見えるような接し方をしていても、お互いいつもどこか苦々しい感情を隠し持っている。それは都の気のせいかもしれないし、都が感じる若い女子への、若くてこの世間で正しいとされた道へ外れることなく歩めた女子への、僻みや妬みといったものがこちらへ反射して、そう思えているだけなのかもしれない。
 「だ、大丈夫ですか、今、話しかけて。」
 神山は若干引き気味に言う。それが都を少し苛つかせたが、自分の感情に引き摺られて対応を変えるのは、流石に年齢的もよろしくない。
 「うん、ちょっとだけなら。ごめんね。」
 都は、自分が変な声を上げて、神山を引かせたことを謝ったのか、ほんのちょっとしか話できないことを謝ったのか、自分でもわからなかった。
 「あの、簡易設定変更工事で、よくわからないのが来ていて、ちょっと間宮さんに、一回見て欲しいんですけど…。」
 神山は、言葉を切りながら話す癖があり、それは聞き手には話が聞き取りやすくなるので良いのだが、都は自分の感情に引き摺られてしまって、苛つくことがあった。
 簡易設定変更工事、と言うのは、その名の通り、客宅ルーターやプロバエダエッジルーターのコンフィグを、簡易に変更するオーダーで、PM・SEを立てず、営業が上げてきたオーダーを、ほぼそのまま海外オフショアセンターへ投げて実施してもらい、完了したら、完了の連絡だけ営業に返す、と言うものだ。基本正常性確認はお客自身の通信確認のみでやってもらう。
 当然、PM・SEのように細かいヒアリングや、工事実施のタイミングを調整したりはしないので、本当に簡単な、例えば通信制御のポリシーの、ステートメントの追加や削除、BGP広告の追加や削除など、可能な実施項目メニューはプロダクトによって決められている。都たちのオフィスには、このオーダーを受け付け、内容的に簡易設定変更工事で実施できるものかどうかのチェック、依頼内容がはっきりしない要件については、営業に確認したりなどし、最終的には海外オフショアセンターへ投げて、オーダーの完了を管理する担当がいて、神山はこの担当の一人だった。都は、この担当の相談係のような役目を担っていた。都がそうであるように、神山もこの簡易設定変更工事の担当だけやっているわけではなく、本業はPMだ。
 「うん、わかった。メールであたしに送っておいてくれても良いかな?後で見ておくから。」
 都は早口になりそうなのを押さえて、ゆっくりと言った。
 「はい、わかりました。お忙しい中すみません、よろしくお願いします。」
 神山は、軽く会釈をしながらそう言った。決して悪い子ではないのに、どこか黒い感情を持ってしまう自分自身が、すごく嫌な女であるような気がして、都は苦虫を潰したような顔をしそうになる。
 「すいません、じゃあ、見ましょう!」
 気持ちを切り替えるように、都は一息吐いてから、岩砂に言った。
 「何かすみませんねえ。あっちこっちから間宮さん助けてー。の嵐で。」
 岩砂は申し訳なさそうに言った。
 「いえいえ。」
 都が否定を返すと、岩砂は、ログ履歴を出力されるコマンドを叩いた。ほとんどデフォルトゲートウェイ冗長プロトコルの切り替わりのログばかりだ。間隔はまちまちだが、ほとんど数十秒で切り替わってしまっている。長い時だと数分持っていることもあるようだが、大体は数十秒で、今見ているルーターがメインになったり、バックアップになったりと、フラッピングしてしまっている。
 「一応既存踏襲なんで、WANのインターフェイスとか、IPとか、あとまあ、ルーター変わったんで、ちょっとした違いとかあるんですけど。」
 岩砂はそう言うので、都はどういう工事だったのか聞いた。岩砂と都でやっている、南アジア拠点のWAN開通が一向に終わらない案件と同様、契約更改による回線引き直し、および客宅ルーター更改とのことだ。長い間動いていないお客プロジェクトだったので、ルーターが2世代前のものである拠点が多く、今回の契約更改の回線引き直しついでに、ルーターも更改していると言う。このお客は、約100回線持っており、その全ての回線で契約更改に伴う引き直しを実施する。契約更改プロジェクトの進行度としては、まだ三分の一が終わった程度だと言う。
 その三分の一が終わるまで、トラブルがかなり多かった。このプロジェクトは回線数の多さからも、フロア内では知られていて、都も岩砂が大変そうなのは聞いていたし、トラブルが多かったのも耳にはしていた。しかし、都は回線数が多いから、回線調達上のトラブルや、長い間動いていなかったと言うから、お客LAN内かお客責任区分範囲での、今まで見過ごされていた問題が発覚しているのだと思っていた。
 しかし、岩砂が言うには、トラブルのほとんどがコンフィグミスや、設計ミスだと言う。この案件は東京にSEを置く案件なのだが、東京にSEを置く案件の場合、海外オフショアセンターに閉じて構築するよりも、設計ミスやコンフィグミスなどのトラブルは格段に減ると、営業などの他部署に信じられており、この案件はその風説に逆行してしまっている。大きなプロジェクトなので、統括PMとSI部分のために、SO部でも体制が作られているそうだが、営業とSO部からは、これ以上のコンフィグミスや設計ミスは勘弁してくれと、当然のことだが、苦言を呈されていると言う。
 「なので、ちょっとこれマズいんですよー。」
 岩砂はふざけた調子で泣きが入るが、半分本気なのは、伝わってきた。
 「今もフラッピングしてるんですか?」
 「いや、今は現地のビジネスアワー外なので、トラフィックほとんどないからだと思うんですけど、落ち着いてますね。このログは昨晩から今朝にかけてですね。」
 時間はほとんど逆の、北米の拠点だ。
 「ちょっと貸してもらっていいですか?」
 「はい、どうぞ。」
 都がキーボードをこっちに貸してくれ、と言う意味で手を出すと、岩砂は、キーボードを都が打ちやすい位置へ動かしてくれた。正直、回線の使い過ぎで、増速してください、で終わりなんじゃないかという気も都はしていたが、現在運用中のコンフィグを表示するコマンドを叩いて、上からコンフィグを嘗めて行く。優先制御が入っているが、きちんとコントロールパケットを保護するクラスはあるが、輻輳時にはあまりあてにはならない設定になっている。WANインターフェイスから出るトラフィックを回線の契約帯域に絞る設定が入っているが、瞬間的には2倍にバースト出来てしまう、デフォルトのバースト設定なので、これは良くない。契約帯域は5メガビット毎秒だが、インターフェイスの速度設定は100メガ固定だ。客宅ルーターとNTUの間はバーストを吸収出来るが、その先の回線部分では純粋に契約帯域分しか使えない。
 「あれ?」
 都が見ているのはメイン側のルーターだと、岩砂は言う。そのため、プロバイダエッジルーターへの到達性をモニタリングし、その到達性をトラッキングすることで、LANのデフォルトゲートウェイ冗長プロトコルを切り替える設定になっている。通常、このトラッキングには切り替わり・切り戻りが急に起こらないよう、到達性が失われてからトラッキングを落とすのまでに一定時間待つ、到達性が回復してからトラッキングを上げるまで一定時間待つ、という切り替わり判断の遅延設定をする。そうしておくことが、都のオフィスではセオリーとされている。しかし、このルーターのコンフィグにはそれがなかった。もしこの待ち時間設定がないと、一発でもpingが落ちれば、トラッキングが落ち、デフォルトゲートウェイ冗長プロトコルは切り替わってしまう。また、回線が不安定な時に、一発でもpingが到達してしまえば、切り戻ってしまい、不安定なWAN回線を使わされることになる。
 都は、この到達性をモニタリングするコンフィグが出てくるまで、スペースキーを叩いて、画面上の表示を先に進めた。すると、どういう設計思想なのかわからないが、到達性の確認のために打つpingは一秒おきになっていた。間隔が通常都たちの職場で設定する値よりかなり小さく、これでトラックが即落ちる・上がる設定になっていると、相当に不安定になるだろうことは想像に難くない。また、この到達性のモニタリングは、そのpingのパケットのTOSフィールドに任意のビットを立てることが可能だ。これをプロバイダエッジと客宅ルーター間でBGPパケットなどを保護するために付与されている、IPプレシデンス値と同じになるようにしておけば、この到達性モニタリングのパケットもコントロールパケットとして保護され、輻輳時も落ちにくくなる。このルーターのコンフィグはこれもやっていなかった。
 「うーん…。」
 都はちょっと苦笑いしながら唸った。いくら既存踏襲といっても、これではマズイことはSEであれば気がつきそうなものだが、直そうと思わなかったのだろうかと都は思った。
 「何か気になるところはありましたか?」
 岩砂が聞いてきた。都は自分が気が付いたところを、コンフィグの当該部分へスクロールアップして戻しながら、一つ一つ話した。結論としては、これでは輻輳時デフォルトゲートウェイ冗長プロトコルがフラッピングしても、何らおかしいことはない、むしろ想定通りなくらいだ、とも言った。
 「そーですかぁー…。」
 岩砂は、がっくりしたように、頭を下げながら言った。都はその様子にちょっと笑ってしまったが、笑い事ではないのだろう。これを誰が設計したのか都は知らないが、東京でSEを置く案件なので、都と同じフロアにいる、SEを出来るエンジニアの仕事ということだ。このプロジェクトは回線数が多いので、PM二人、SE二人がアサインされているという。そのアサインされているSEに相談せずに、岩砂が都に相談してきたのは何故だろう。そのSE二人がたまたま休みだったのか。それとも、それだけ多くの設計ミスを犯しているのだから、これ以上同じ間違いを繰り返されても困るので、第三者の意見を、ということになったのか。しかし、この専用端末だけがある一角は、フロアの真ん中くらいにあるので、いくら柱が多く、死角がたくさん出来るオフィスだからと言って、自分が担当している案件の設計について、アサインされていないSEに、PMが意見照会をしているのは見ていて気分が良いものではないだろう。
 「これ、どう直せば良いですかね?」
 岩砂は、もう考えるのも疲れた、という感じだった。それだけこちら側の設計ミス、考慮漏れなどでトラブルが多かったことが偲ばれた。
 「やってしまって良ければ、あたしが今やっちゃいますよ。」
 都は言った。もし、都が設計をどう変更すべきかを岩砂に説明したとして、それを岩砂が自分でやる、なのか、それともアサインされたSEにそうやれと言うのかはわからないが、それだと二度手間だ。都が実際にコンフィグを変更しながら、岩砂に見てもらった方が、岩砂に勘所も伝わるだろうから、これ以降はアサインされたSEに、今回の指摘点を考慮して設計してもらうようにすれば良い。もし、都がお客要件に反するような設計を考えてしまったとしても、それも岩砂であれば指摘できるだろう。
 「ほんとですか?すいませんが、もうお願いしちゃっても良いですかね?」
 岩砂は疲れているのと、早くこの問題を片付けないと、後に仕えている問題に手を付けられないという状態からの、苦渋の決断のような表情で、都に頼んだ。
 「良いですよー。やっちゃいましょう!」
 都は、ちょっと勢いのある調子でそう言いながら、リターンキーを数回叩いて、ターミナルウィンドウにホストネームだけの空行を数行作った。都は、空のテキストファイルを開いてから、もう一度、運用中のコンフィグを表示するコマンドを叩いて、スペースキーを叩いて表示を進めながら、変更する必要のあるコンフィグをコピーし、空のテキストへ貼り付けていく。
 プロバイダエッジルーターへの到達性のモニタリングは、トラッキングのトリガーとして引っ掛けられていて、そのトラッキングは、冗長デフォルトゲートウェイの切り替わりのトリガーとして引っ掛けられている。そのため、到達性のモニタリングの設定を直すためには、これらを順番に引っ剥がしていかないといけない。都は、ペーストした一番上の行にカーソルを入れて、リターンキーを叩いて空行を作り、そこに、これらの既存のコンフィグを外していくスクリプトを書いた。既存のコンフィグを貼り付けて、行の先頭にコンフィグの削除を意味するnoをつけていくだけだ。
 設定を外していくスクリプトの下に、今度はパラメーターを調整したコンフィグを、既存のコンフィグのペーストを使って、作っていく。
 「これで行こうと思います。ちょっとレビューお願いします。」
 都は、即席で作ったスクリプトを、岩砂にレビューしてもらう。一度、トラッキング関連のコンフィグを全部外し、到達性モニタリングのコンフィグなどを一旦削除してしまってから、再度コンフィグをやり直す。プロバイダエッジルーターへの到達性をモニタリングする間隔は5秒おき、このパケットが、優先制御のコントロールパケットと同じ扱いになるように、IPプレシデンスの6がつくようにし、さらにタイムアウトをデフォルトの5秒も待っている必要もないので、2秒に短縮、そして、コンフィグしたと同時に無期限で、このモニタリングを開始する。それから、このモニタリングの結果をトリガーにするトラッキングを作成する。モニタリングの到達性が失われて、その失われた状態が、一定期間続いてから、トラッキングを落とす、また、到達性か回復した時も、その回復した状態が一定期間続いてから、トラックを上げるように調整するコマンドを足す。最後に、この新しいトラッキングの設定をデフォルトゲートウェイ冗長プロトコルの切り替わりのトリガーとして引っ掛け直す。
 また、ついでに、WANから出ていくトラフィックを回線帯域に絞るコンフィグにも、超過バーストしなくなるようにする設定を付け足す。
 「こんな感じで行こうかと思います。これで、ある程度収まると思いますが、回線の状態がもともとアレだったりすると、変わんないかもですが。」
 そう言いながら、都は、BGPのネイバーの省略情報を表示するコマンドを叩き、プロバイダエッジルーターのIPをコピーし、pingコマンドの宛先部分にペースとして、サイズ1500バイトで5000発程打ってみる。ロスはなかった。
 「回線は大丈夫そうですね。」
 ざっと見る限りだが、というニュアンスで都は言った。岩砂は、スクリプトを作ってくれたことへの礼と、そのスクリプトの設計で問題ないことを言った。
 「じゃーあー、やっちゃいますか?」
 都は笑顔で言った。
 「やっちゃってください!」
 いつもの勢いのある言い方で、岩砂は言った。
 都は、ターミナルソフトでログをとっていることを確認してから、NVRAMに保存されたコンフィグと、運用中のコンフィグとに差分のないことを確認し、現在の時刻表示コマンドを叩き、コンフィグレーションモードへ入る。そして、マウスでテキストファイルに書いたスクリプト全体をドラッグしてコピーした。
 「では、いきまーす。」
 「どーぞ!」
 都は岩砂の返事を聞いてから、ターミナルウィンドウに、カーソルを入れて、クリップボードの確認画面で、中身を一度確認してから、一気にペーストする。上から一行ずつスクリプトが流れて行く。最初は既存の設定を外して行き、外し終わると、新しいパラメーターで必要な設定をコンフィグし直して行った。ペーストしたスクリプトが流れ終わると、コンフィグモードを抜け、NVRAMに保存されたコンフィグと、運用中のコンフィグとの差分を表示させるコマンドを叩く。岩砂と一緒に、きちんとスクリプト通り入ったコンフィグだけが差分となっていることを確認する。念のため、到達性のモニタリングが、OKであることと、トラッキングが上がっていること、そして、デフォルトゲートウェイ冗長プロトコルは、今コンフィグしているルーターが、メインとなっていることを確認してから、コンフィグをNVRAMに保存した。
 「完了でーす。これで多分今日からは大丈夫だと思います!」
 都はリターンキーを数回叩いて、ホスト名だけの行を作りながら言った。
 「あーりがとうございます!」
 岩砂は、大仰な調子で礼を言うので、都も大仰に、いえいえ、とんでもありません、と膝に手をついて頭を下げた。