はじめまして。技術部 ITシステムGの鈴木です。
いわゆる「情シス」として2020年2月に入社しました。
従業員の方々が働きやすく、生産性を上げられるよう環境整備をしていきます!
背景
ロコガイドではG Suiteを利用しているのですが、プランが「Business」というものでした。
ドライブの容量制限が無いのがサイコーじゃないか!ということでもっと利用を促進していこうと企んだわけです。
今回解決しようとした課題
1. 社内にサーバーが一台もない
前職でも情シスをやっていた自分としては驚きです!
まずはファイルサーバー欲しいなーと漠然と思っていました。
2. 複合機でスキャンしたデータをGETするのが面倒
スキャン → 複合機内蔵のHDDにブラウザでアクセスしてダウンロード
面倒!って誰も思ってなかったのか・・・慣れって怖いなーw
3. FAX受信に気づけない
紙が出っ放しになっていて、たまに誰かが取っていってる様子。
「FAX送ったよー」という電話来たら複合機のところまで取りに行って電話に戻るとかorz
私もスキャンをすることが多い方なので、早速解決してやる!と思い立ちました。
まだ仕事もあまり振られてなかったので時間的にも余裕があったのでチャンスでした。
利用環境
せっかくサーバが無い環境なんだから、サーバー買うとか安直な事をしてぶち壊したくない。
Googleドライブをもっと使うようになって欲しい。
ということで
- 複合機(RICHO製)
- Googleドライブ(共有ドライブ)
- AWS EC2
- Slack
をコネコネしてやりました。
設計
- Googleドライブに全社共有用の共有ドライブを作成
- AWS EC2インスタンス(AmazonLinux)に共有ドライブをマウント
- 2のディレクトリをSMB共有
- 複合機のアドレス帳に3のディレクトリ配下のディレクトリの宛先を作成
- FAX受信時の転送先を4の宛先に設定
- GoogleAppscriptで5のディレクトリを監視して新規ファイルをSlack通知
詳細
1.Googleドライブに全社共有用の共有ドライブを作成
- 1-1 Googleドライブをブラウザで開き、共有ドライブを選択した状態で「+新規」
- 1-2 メンバーを追加で従業員全員が参加しているグループを追加
2.AWS EC2インスタンス(AmazonLinux)に共有ドライブをマウント
インスタンス作成やセキュリティ設定はインフラGにお願いしました。
@fukajun ありがとうございました!
- 2-1 sambaをインストールして適当なディレクトリを共有
- Windowsからエクスプローラで参照できればOK.
- 2-2 google-drive-ocamlfuseをインストールして2-1のディレクトリに1-1で作成した共有ドライブをマウント
- ※ドライブに書き込み権限のあるGoogleアカウントで認証を通しておく
3.SMB共有・複合機のアドレス帳に3のディレクトリ配下のディレクトリの宛先を作成
ここ10年くらいRICHOの複合機しか使ってないのですが、どのメーカーもSMBディレクトリの宛先は作れると思います。
FAX用の宛先を作るついでにスキャンしたファイルを保存する宛先も同様に作っちゃいました。
5.FAX受信時の動作設定
3の宛先に転送されるよう設定します。
本番環境で安定したら紙出力はOFFにしました。
6.GoogleAppscriptでSlack通知
- 6-1 1の共有ドライブ配下のFAXディレクトリ内のファイルをスプレッドシートにリストアップ
- 6-2 前回実行時のリストの増分があった場合にSlackに通知
- 6-3 スクリプトを1分おきに実行するトリガーを作成
GoogleAppscriptで苦労した点
ファイル作成時刻で1分以内のファイルを取得すると2回拾ってしまうことがあった
そこでスプレッドシートにリストアップするという回りくどいやり方に落ち着きました。
SlackにURLを通知するとPDFのサムネイルが表示されない(URL展開されない)
Webhook、トークンと色々試しましたが、GoogleドライブのURL展開は一つしか方法がないとのことです。(サポート曰く)
それが「ユーザートークン」(xoxpから始まる)と呼ばれるトークンを利用して、chat.postmessageでユーザーとして投稿する方法です。
トークンを作成したユーザーとして投稿されます。
おわりに
複合機のメーカーによって価格は違いますが、月額1万円くらいでクラウドストレージと接続するオプションはあります。
本記事の方法であればインスタンス月額とPDFデータのOUT料金だけなので、1000円もかかりません。
これで社内に誰もいなくてもリアルタイムでFAX確認できちゃいます!
VPNで社内ネットワークにつながっていれば遠隔でもできますので、是非お試しください!