見出し画像

ありがとうmacOS Server

この記事は MICIN Advent Calendar 2022 の9日目の記事です。
前回は草間さんの新米PdMの成長日誌でした。

はじめに

おはようございます。MICINの坂本です。MICINには2018年にジョインしました。

これまでは、金融業界でシステム開発や運用のエンジニア実務、システム企画、プロダクトマネジメントなどを経験した後、前職の最後の方では会社の上場フェーズでサイバーセキュリティ管理態勢の整備等のITマネジメントを担当してきまして、その流れでMICINにジョインしました。MICINでは、最初にいわゆる一人情シス的なことも兼ねながら情報セキュリティ部を立ち上げて、最近では主に部門のマネジメント業務を担当しています。

今回は、MICINでMacbookやiPhoneといったApple製品のデバイス管理システムに採用されているmacOS Serverについてお話しします。このmacOS Serverは運用開始してもうすぐ4年を迎えようとしているところです。残念ながら今年の4月に販売停止になり、今後リリースされるOSのサポートもなくなることが決まっていることから、現在、MICINでも別のサービスへの移行を進めていますが、これまでMICINでApple製品のデバイス管理の効率化に貢献してくれたmacOS Serverに敬意を表し、導入のきっかけからこれまでの構築・運用における思い出等を書いてみたいと思います。

macOS Server導入のきっかけ

macOS Serverとの出会い

私は前職以前はずっとWindows PCを使っていましたが、私がMICINに入社した当初は、当時40-50名程いたメンバーのほとんどはMacbookを使っており、WindowsPCはなんとたったの2台しかありませんでした(ここ数年でWindowsもちゃんと管理できるようにしたので、今はビジネスサイドを中心にWindows PCも沢山使われています)。

当時は情シスの担当という役割上、MICINのメンバーが使っているMacのことを知りませんとは言えない立場でした。ので、まず、業務端末でMacに触りながら、また、日頃から色々触って色々キャッチアップしないとというのもあって家のPCもWindowsからMacbookに変更しました。その後、iPhoneを使うようになり、音楽ソフトがWindows Media PlayerからApple Musicになったり、M1のMacbook Proを買ったり(M2のMacbook Proへの買替えも検討中)、しまいにはApple Watchを購入してしまう・・という、見事に沼にハマった感じです。

それはさておき、私の場合は、役割的に、ただMacがMICINメンバ並みに使えるだけでは不十分で、社内ITの管理者として、Macメインのデバイス管理の仕組みを整備する必要がありました。Active Directory等のWindows系のドメイン管理環境の構築については経験があり、Windows系であれば過去の経験だけでさっと環境整備できるはずでしたが、Macについては全く運用経験がなく、どうしたものかと途方に暮れていました。

そんな時、前職にいた時に、情シスのK村さんが、確か小さなMac miniを買って「これがMacの管理サーバだ」とか何とか言っていたな・・というのを思い出して、K村さんに聞いたり、調べてみたのが始まりでした。それでApple製品のデバイス管理のアプリケーションとして「macOS Server」というものがあることを知り、AppStoreで2,440円で買える(めちゃめちゃ安い!)というのがわかったので、早速Mac miniを1台買ってもらって、そこに購入&インストールしました。

macOS Serverが動いているMac miniをご紹介(記念に)

以下がそのMac mini(現在の姿)です。普段は黒いサーバラックの中に入っています。オフィスの移転時を除き、物理的にはほぼ置きっぱなしですが、中身は放置せず、ちゃんとOSはmacOS Monterey(macOS Server動作する最新のOSバージョン)にアップデートしています。

構築と運用の思い出

独特な仕組みに困惑の日々

Apple製品のデバイスを管理できるようにするためのステップですが、いや、これが本当に面倒の一言(masOS Serverに限らず、どのシステムやクラウドサービスを採用しても基本は同じ道を通ります)。一応、Linuxサーバの構築は経験があるので、基本的なOS設定などでコケてはないですが、主なものだけでも以下のようなApple社独自の手続きがあり、全てはじめてのことだったので、1つ1つのステップで全部こけるだけこけた感じで、当時Apple社のサポートにかなり問い合わせしたのを覚えています。

当時の初期構築でやった主なこと

  • Apple Business Managerに会社を登録(会社のD-U-N-S を登録って何?とか言いながら)

  • Apple Push Notificationの設定(証明書設定がうまくいかず何度も通知テスト失敗・・)

  • macOS Serverのデバイス管理ポリシーの設定(機能が多くてキャッチアップ大変)

  • デバイス利用者数十名分の登録(アプリのユーザなのにOSのローカルユーザ登録が必要なんて・・)

  • デバイス管理システムへの登録手順書作成

構築や検証が一区切りして、私に貸与されたMacbookとiPhoneを登録、管理できたのは、Mac miniを購入してから2ヶ月くらい経っていました。

はじめてMICINのMacやiPhoneが管理できた日:2019年2月15日

色々つまづきを乗り越えて、当時の50人くらいの方に協力いただくアナウンスをしたのは2019年2月15日で、当時、ISMS認証の取得に向けて準備をしているときでした(ISMS認証は2019年3月に取得)。

以下が、実際に当時のメンバーにSlackでデバイス登録のお願いをした時のキャプチャ(冒頭部分のみの抜粋)です。

この仕組みが整備できたことで、ISMSのマニュアルに書いているUSBデバイスの書き込みコントロールなどが、各自に理解して守ってもらうというレベルから、システムの機能で担保されるというレベルにアップしました。これは大変大きな第一歩だったと思います。

「ゼロタッチキッティング」に触れた日

上記のように、最初は手動で皆さんに協力してデバイス登録いただきましたが、その後は、キッティング時に登録してそれをお渡ししていたので、皆さんに手動登録してもらう必要はなくなりました。

さらに良い運用はないのかと色々みてみると、どうやらApple製品の販売代理店をApple Business Managerに登録することで、その代理店から購入したデバイスは、最初に電源をONにした時に自動でデバイス登録されてPCの設定なども自動で反映される、いわゆる「ゼロタッチキッティング」というものがあることを知り、早速代理店さんに連絡して登録。

ゼロタッチキッティング実現までの追加対応

  • Apple製品の販売代理店さんに相談

  • Device Enrollment Program(DEP)の登録

  • Volume Purchase Program(VPP)の登録

  • 追加で購入したPCで自動設定の検証

電源をONして上記の画面が出ると成功で、これがはじめて出た時は、当時担当者だった(Jさん)と「俺たちの時代が来た!」と歓喜の声があがったのを覚えています。

尚、Apple Configuratorというものを使うと、マニュアルではありますが、Apple製品の販売代理店をApple Business Managerに登録する前に購入したPCでもこのDEPやVPPを適用でき、手動登録と比較して管理レベルが飛躍的に高くなります。ただ、これをやるとPCが初期化されるので、そこはご注意です。

macOS Serverの簡易ハック:Rubyのアプリケーションだった

macOS Serverで不便だと思っていたことの1つに、せっかく全社で管理するApple製品の情報をシステムで取得・管理できているのに、保有するデバイス情報をエクスポートするなどして、他のシステムに自動連携できないことがありました。

macOS Serverをより便利に使うために、何か技術的な改善ができないかと色々とチームで調査していたところ、何とmacOS ServerのアプリケーションはRubyで書かれていることが判明しました。

このソースコードの調査を進めると、色々と利活用できそうな機能があり、そのうち1つを活用して、macOS Serverに保有するデバイス情報を自動でGoogle スプレッドシートに連携することに成功しました(これができれば後はGoogle Apps Scriptを使って色々と自動化が可能)。

1点、このハックをする場合は、最低限のセキュリティ担保のために、macOS Serverがインストールされた端末のローカルで実行する(=インストールされた端末外からネットワーク経由でこの機能を呼び出さない)ことをお勧めします。

サポート終了から移行

突然のサポート&販売終了のニュース(2022年4月21日)

こんな感じで、Apple製品のデバイス管理システムとしてヘビーに使われていたmacOS Serverですが、2022年4月21日をもって廃止になり、購入できなくなりました(記事)。尚、すでに購入済みのmacOS Serverについては、急にデバイス管理が利用できなくなることは流石にありませんでしたが、サポート対象OSがmacOS Montereyまでとなり、10月にリリースされた新OSのmacOS Ventura以降のOSについてはサポート外となるようです。

これには私個人はかなり衝撃を受け、これまで頑張ってくれたmacOS Serverからいよいよ他のクラウドに移行しなければならないか・・と引導を渡された気分になりました。その一方で、世間では、このmacOS Server廃止のニュースに対して、「サポートが終了したことよりも、未だにサービスが継続されていたことのほうに注目が集まっています」というようなことが書かれた記事も見られます。

後継はJamf Pro

今後の新OSへのサポートが継続されないニュースを聞いて、急ぎでmacOS Serverの後継を探さねばとなり、比較検討をしましたが、候補はJamf Proというサービスになりました。Macのデバイス管理を業務としている人には説明不要のサービスです。

選定理由ですが、現行運用しているmacOS Serverの管理機能が豊富で、それを使いこなしているレベルが運用の標準になっていたため、Jamf Pro以外の場合、製品によっては(その製品の名誉のために製品名は具体的には書きませんが)、運用におけるデグレードのインパクトが著しく、これまでせっかくいろいろ自動化して最適化された業務が手運用だらけになってしまったり、あるいは、まだ米国だけしか展開されておらず直近の日本での導入が難しそうといった理由で、導入見送りの判断になりました。

今Jamf Proへの移行を進めていますが、価格だけをみると、今使っているmacOS Server(2,440円の買い切り)のコストパフォーマンスの高さを思い知らされます。その一方で、Jamf Proはセルフサービス機能を提供していてコーポレートITへの依頼なしで一時的な設定変更ができたり、App Storeにないアプリケーションの各PCへの配布(インストール)も一定自動化できるなど、macOS Serverにはなかった機能も沢山あります。このため、今回の移行でMICINでのApple製品のデバイス管理の運用効率はさらに高くなり、セキュリティは確保されているけど全然不便ではないという理想的な状態にまた一歩近づけそうです。

これまでの貢献度を金額で評価

これまでのmacOS Serverとそれが動いている端末のMac miniの頑張りを、金額に直して評価してみようと思います(あくまで主観的な試算です)。

今世間でよく使われている他社のデバイス管理のクラウドサービスの機能及び費用の相場を踏まえると、macOS Serverは、その管理機能のリッチさから、1台あたり月額500円位の価値は十分にあると評価します。

ここ4年弱で、今までMICINのmacOS Serverに登録・管理されたMacbookとiPhoneは、毎月の保有台数を積み上げた延べ台数でざっと7,000台程度でしたので、これまでの提供価値は1台あたり月額500円 × 延べ7,000台 = 350万円と試算されます。

それに対し、デバイス管理システムの構築や運用にかかったコストは主に以下の通りです。

  • Mac mini(2018版):80,000円程度

  • macOS Server:2,440円

  • コーポレートITメンバーの運用コスト(割愛しますがここは一定かかっています)

  • 私の人件費(割愛)

  • 電気代(割愛)

少なくともMac miniとmacOS Serverの代金(合計82,000〜83,000円程度)は、導入後数ヶ月で回収したのではないかと考えると、とても投資効果の高いデバイス管理システムだったと評価できます。

おわりに

ここ1、2年くらいは、管理するデバイスが数百台に上っていること、ポリシーをかなり細かく設定して色々と柔軟に対応できるようにしたこと、あるいは前述したようなRubyで書かれたmacOS Serverのアプリケーション本体の機能をハックして使うようになったことなど、かなり使いこなす(使い倒す?)ようになったことを受けてか、必要な時にプッシュ通知が届かなくなるようなことで都度手作業が発生するような事態も発生し、コーポレートITメンバの運用負担も徐々に高くなってきていました。

そう考えると、今回のmasOS Serverサポート終了のニュースは、MICINにとっては良いタイミングだったのかもしれません。

これまでありがとうmacOS Server(& Mac mini)。完全移行完了まで、あともう少しお世話になります。



MICINではメンバーを大募集しています。
「とりあえず話を聞いてみたい」でも大歓迎ですので、お気軽にご応募ください!
MICIN採用ページ:https://recruit.micin.jp/