AIと一緒にメールサーバー移転作業

15年ほど使ってきたメールサーバーを、そろそろ新しい環境へ引っ越そうとしています。

きっかけは、長年使ってきたCentOSのサポートが終了したこと。最近は、大事なメールが相手の迷惑メールフォルダに入ってしまうことも増えてきました。

「これは、そろそろ何とかしないといけないな」と思ったものの、システムを更新しようとしても、リポジトリが消えていてうまく進みません。

そこで、Amazon EC2に新しいメールサーバーを作って、古い環境から引っ越す計画を立てることにしました。

まずはAIに相談してみる

新しいOSには、これまで使ってきたCentOSではなく、Ubuntuを選ぶことにしました。Ubuntuでのサーバー運用は初めてです。

そこで、最近使い始めたAIに、今のサーバーがどんな状態なのかを説明して、移行手順を作ってもらいました。

まずはEC2に仮のインスタンスを作り、その手順に沿って作業開始です。

ところが、いくつかコマンドを実行したところで、いきなりエラーが出ました。

エラーの内容をAIに伝えると、「原因はこれかもしれません」と教えてくれます。言われた方法を試してみると、今度は別のエラーが出る。さらに相談して、また試す……。

そんな感じで、少しずつ作業を進めていきました。

AIに聞けば何でも解決、というわけではない

AIに相談しながら作業をしていると、経験豊富な技術者が隣にいてくれるような感じがします。エラーメッセージを貼り付ければ、原因や確認方法をすぐに返してくれるので、とても助かります。

ただ、AIの答えがいつも正しいとは限りません。

今のサーバーにしかない特殊な設定や、長年の運用で残っている例外的な構成までは、AIも最初から全部わかるわけではありません。UbuntuとCentOSの違いが、手順に十分反映されていないこともあります。

目の前のエラーは解決できても、「このまま本番の移行まで進めて大丈夫かな?」という不安が、だんだん大きくなってきました。

いったんストップして考え直す

そこで、作業をいったん止めることにしました。

最初は、AIに移行手順を作ってもらい、その通りに本番作業を進めればよいと思っていました。でも、実際にやってみると、最初に作った手順書は完成品ではなく、検証を始めるためのたたき台だったようです。

このまま勢いで進めるより、一度計画を見直した方が安全そうです。

本番ではなく、まずは予行演習

そこで、進め方を変えることにしました。

  1. AIに現在の環境をできるだけ詳しく理解してもらう
  2. 本番とは別の仮環境を用意する
  3. AIに移行作業を予行演習してもらう
  4. エラーや足りない手順を洗い出す
  5. 試行錯誤した結果を、手順書にまとめる
  6. できあがった手順書を自分で確認する
  7. 問題がなければ、本番環境で移行する

※これらは私が大手通信会社にてインフラ担当していた頃、複数人のメンバーでクロスチェックしながら本番環境構築前にやっていた手順に基づく手順である。

要するに、AIにいきなり本番作業をしてもらうのではなく、まずは安全な場所で練習してもらう、という作戦です。

仮環境なら、途中で失敗してもやり直せます。どこでつまずいたのか、どうやって解決したのかも記録しておけば、本番作業のときに役立ちます。

今夜は二回目の予行演習

今夜は、これから二回目の予行演習を行います。

一回目で見つかった問題を整理して、手順や前提条件を見直し、もう一度最初から確認していきます。

ただコマンドを最後まで実行できればよい、というわけではありません。

  • 作業前に何を確認しておく必要があるか
  • どこでエラーが起きやすいか
  • エラーが出たら、何を確認すればよいか
  • どんなバックアップを取っておくべきか
  • 作業後にメールの送受信をどう確認するか
  • 迷惑メール対策がきちんと機能しているか

こうしたことを一つずつ確認して、「これなら迷わず作業できそう」と思える手順書にしたいと思っています。

AIと一緒に作業するときに気をつけたいこと

今回の作業を通して、AIを使ってサーバー作業をするときに大事だと思ったことを、いくつかまとめてみます。

いきなり本番で試さない

AIの提案が正しそうに見えても、実際の環境では思わぬ問題が起きます。

特にメールサーバーは、設定を一つ間違えるだけでメールが届かなくなったり、送れなくなったりします。できるだけ本番とは別の検証環境で試した方が安心です。

目の前のエラーだけを直さない

エラーが出ると、ついそのエラーだけを解決したくなります。

でも、そもそもの手順や前提条件に問題があるのかもしれません。エラーをきっかけに、作業全体を見直すことも大事だと感じました。

AIの提案をそのまま実行しない

AIが教えてくれたコマンドは、何を変更するものなのかを確認してから実行するようにしています。

失敗したときに元へ戻せるのか、既存のメールや設定に影響しないのか。そこを自分で理解して、納得してから進めることが大切です。

失敗も記録しておく

試行錯誤やエラーは、できればなかったことにしたくなります。

でも、どこで失敗したのか、どうやって解決したのかを残しておけば、それは本番作業のときの参考資料になります。失敗も含めて、手順書に反映していこうと思います。

まとめ

15年使ってきたメールサーバーの移行は、なかなか大きな作業です。

OSも変わりますし、クラウド上に新しい環境を作る必要もあります。メールの送受信やセキュリティの確認も必要です。

だからこそ、AIに相談しながら進めるだけでなく、AIにもまず予行演習をしてもらうことにしました。

AIは、最初から完璧な答えを出してくれる魔法の道具ではありません。間違えることもありますし、こちらの説明が足りなければ、見当違いの答えが返ってくることもあります。

それでも、エラーの原因を一緒に考えたり、手順を整理したりする相手としては、とても頼りになります。

本番作業を急がず、まずは安全な環境で何度も練習する。そして、自分でも内容を理解して、納得できる手順書を作ってから本番に臨む。

今回のメールサーバー移行は、そんな進め方で、焦らず少しずつ進めていこうと思います。

追記

2回目の予行演習、無事に終わりましたが、まだ、課題が見つかり、1時間30分ほどかかりました。

前回よりは格段にスムーズになってます!

この結果を踏まえAIの方でも、手順書修正をやってくれています。

3回目の予行演習は数日後に予定しており、

なんとか今月中の本番稼働を目指しております。

最後に

余談ですが、わたしはAIとの作業が一通り終わると、

「GOOD!ありがとう」とか

「素晴らしい!助かったよ」とか

最後に伝えるようにしています。

必要ないのかもしれませんが…(笑)

AIも、心なしか、素敵な挨拶を返してくれるような気がします。