G Suite: 社内ファイルサーバからチームドライブ移行時の注意点と対策

これまで独自で運用していたメールサーバ、ファイルサーバや個人Googleアカウントで利用していたGoogleサービスを、G Suiteに移行しました。色々と想定外の苦労もあったので、これまでに得られた知見を何回かに分けて記録していこうと思います。 今回は、SambaファイルサーバをGoogleドライブ(チームドライブ) へ移行する話です。40人程度の小規模な会社なので、まさかパフォーマンスや容量の問題は無いだろうとたかをくくっていたら意外と苦労しました。 結論 チームドライブや「ドライブ ファイル ストリーム」アプリの登場により、以前よりもGoogle Driveを共有フォルダとして使いやすくなっている。 実際に使うと、機能制限・共有設定・速度の面でそれぞれ大きな落とし穴がある。 Samba共有の感覚で運用を変えずそのまま移行するのはほぼ無理だが、わかった上で運用を工夫すれば代替は可能。 G SuiteとGoogleドライブの紹介 最初に、G SuiteやGoogleドライブの機能概要のおさらいです。 個人GoogleアカウントとG Suiteアカウント 通常Googleアカウントを新規登録(無料)すると作成されるものを便宜上「個人Googleアカウント」と呼ぶことにします(正式な呼び方は知りません)。一般的にはGmailアドレスとともに発行しますが、すでに所有しているメールアドレスで発行することもできます。 一方、組織のG Suiteで発行したアカウントは、組織のドメインのメールアドレスと関連付けられます。このアカウントは組織によって管理され、アカウントの停止やパスワード再発行は組織管理者が行うことになります。 マイドライブとチームドライブの違い Googleドライブには、「マイドライブ」と「チームドライブ」の大きく分けて2つがあります。 1. マイドライブ 個人のGmailアカウントでも使える、一般的なGoogleドライブとして認識されているものです。以下の特徴があります。 ファイル作成者がオーナーになる。 オーナーのドライブ容量を消費する。共有された他ユーザのドライブ容量は消費しない。 フォルダ単位での共有もできる。 オーナーは、共有中の別ユーザにオーナーを移転できる。 オーナーのGoogleアカウントを削除すると、ファイルは消滅する。 元々はこのマイドライブしかなかったのですが、組織で使う際に退職者アカウントを削除するとファイルが消える、またオーナー自身しかオーナーを移転できないため、連絡が取れないユーザのオーナー権を移転できないと言った問題がありました。 これに対応するため追加されたのがチームドライブです。 2. チームドライブ G SuiteのBusinessプラン以上(Basic不可)でのみ使える機能です。以下の特徴があります。 チームドライブそのものがオーナーになる(作成者を問わない)。 組織全体のドライブ容量を消費し、各ユーザのドライブ容量は消費しない。 ただしチームドライブを使えるのはBusinessプラン以上(5名以上で容量無制限)なので、コスト面への影響は少ない。 チームドライブ単位やファイル単位の共有はできるが、フォルダ単位の共有はできない。 作成はG Suite Businessプラン以上が必須だが、個人Googleアカウントに共有することは可能。 チームドライブ内に作ったファイルはすべてチームドライブがオーナーとなるため、ファイル作成者のGoogleアカウントを削除してもファイルが消えないのが特徴です。 Web UIとクライアントアプリ GoogleドライブというとWeb(やスマートフォンアプリ)でアクセスするイメージが定着していると思いますが、PC用アプリも用意されています↓。 Google ドライブをダウンロード 1.「バックアップと同期」 google.comより 昔からある「Googleドライブ」アプリの後継です。 PCにファイルを同期する、昔ながらのDropbox的なアプリ。 個人GoogleアカウントでもG Suiteアカウントでも使える。 マイドライブにのみアクセス可能(チームドライブへはアクセス不可能)。 マイドライブ全体、または選択したフォルダのみを同期できる。 マイドライブに大量のデータを置いておりPCに入りきらない場合、よく使うフォルダだけをノートPCに同期するなど。 PC内のどこに同期するかを指定できる。たとえば D:\Google\MyDrive のように任意のパスを指定できる。 PCのデスクトップ等、指定したフォルダをバックアップできる。 2.「ドライブ ファイル ストリーム」 google.comより G Suiteアカウントでのみ使えるアプリです。 ファイルを開くときにオンデマンドでダウンロードするので、SSDの小さいPCでも全データを同期できる。 Dropbox Businessのスマートシンクなどと同様。 指定フォルダのみオフライン用に同期することも可能。 マイドライブおよびチームドライブにアクセス可能。 常に専用のドライブレター(デフォルトは G: )が割り当てられる。任意のフォルダへのマウントはできない。 個人Googleアカウントでは一切利用できない。 注意点 機能編 ようやく本題です。実際に運用してみると、いくつかはまりどころがありました。 1. チームドライブのフォルダ共有ができない チームドライブは、全体を共有するか内部のファイルを1個ずつ共有することしかできません。例えば「第1開発部」というチームドライブを作り、その中の「プロジェクトA」フォルダのみをアルバイトに共有する、といったことは不可能です。 公式のガイドラインにもある通り、ドライブ内の全ファイルが同じメンバーからアクセスできるべき、という単位でチームドライブを作る必要があります。この場合でいえば、「第1開発部」というチームドライブは不適切で「プロジェクトA」というチームドライブを作るべきでした。 2. 個人GoogleアカウントでPCアプリを使いたい場合、チームドライブは利用不可 アルバイトや外部の協力会社に対して、G Suiteアカウントは手間やコストの関係で発行せず、個人Googleアカウント(gmail.com)で共有することもあると思います。この場合、そのアカウントではドライブ ファイル ストリームが使えず、バックアップと同期のみが利用可能です。つまり、デスクトップアプリからチームドライブにアクセスすることはできません。もしPCに同期しないと使いづらい運用をする場合(作業フォルダなど)、チームドライブを使わないという選択肢を検討する必要があるかもしれません。 3. チームドライブの共有権限がへんてこ チームドライブでは「すべて」「編集可能」「コメント可能」「閲覧のみ」の権限設定がありますが、なぜか「編集可能」ではファイルの削除や移動ができません。 参考: Get started with Team Drives – Google Learning Center さらに、ドライブ ファイル ストリーム経由でアクセスしている場合、「編集可能」権限では閲覧しかできません。つまり、共有フォルダ代わりに使うには、全員に「すべて」権限を与えるしかないということになります。 これに関しては不満も多いようで、最近「すべて」権限でもユーザを追加できないようにする管理者設定が追加されました。どうしてこうなった… これをONにしてしまうと本当に全メンバーの管理を管理者が行わなくてはならなくて非効率です。通常のマイドライブと同じように編集可能権限が編集できればそれで良かったのです。機能リクエストは上がっているのでそのうちに実装されるかもしれません。 4. チームドライブへの保存ファイル数に制限がある 「容量無制限」を売りにしているG Suite Businessプラン以上ですが、実際にはチームドライブへの保存ファイル数に大きな制約があります。 G Suite管理者ヘルプの「チームドライブの制限」に記載がありますが、1ドライブにつき40万アイテム、フォルダ20階層までしか作れません。 先月まで25万アイテムだったのですが、しれっと増えていました。なおこのページは簡単にはたどり着けないうえに、増えたというアナウンスも公式ブログですら行われない秘密主義のようです。 想像以上に少ないですよね。手元でSamba共有フォルダを数えたら2000万ファイルほどあったので、分割は必須でした。「チームドライブ」という名称ですが、事実上はより細かい「プロジェクト」などの単位で分割するのが現実的でしょう。1つだけ、1プロジェクトで200万ファイルを超えるフォルダがあったので、諦めてprojectA-2018のような名付けをしました。 ちなみに、チームドライブ内に今何個のファイルがあるかを数える簡単な手段は存在しません。ひどい。ドライブ ファイル ストリームで右クリック→プロパティを出して、表示が落ち着くまでコーヒーを淹れてくるしかないようです。 ※チームドライブ数には上限がないそうです。ただし、現時点ではチームドライブ一覧はフラットに表示されるのみで、分類やスター付けもできないので、数千数万といった単位で作ると使いづらいでしょう。数百~1000位にしておいた方が良いと思います。ということは、チームドライブで数億以上のファイルを扱うのは辛みがある、ということになります。 なお、試したことはありませんがサポートによるとマイドライブにはこの制限がないとのことです。ただし、だからといってマイドライブをファイル数制限のないチームドライブ代わりに使うことは絶対に避けたほうが良いです。本記事の後半に記載の通り、致命的なパフォーマンス上の問題が発生します。 5. ドメインが違うユーザへオーナー権の移行はできない Googleドライブファイルのオーナー権移行は、同一ドメイン内のユーザにのみ可能です。@gmail.com から @gmail.com への移行は可能ですが、 @gmail.com から @bpsinc.jp やその逆はできません。 つまり、これまで @gmail.com で運用していたGoogleドライブを組織のG Suiteに移行するのは困難が伴います。基本的な対応は2つあります。 1. コピーする URLやIDが変わって良ければ、コピーするのが一番お手軽です。これは、移行先(G Suite)アカウントを旧ドライブに招待し、移行先アカウントで「コピー」するだけです。これで移行先アカウントのマイドライブにコピーされるので、あとはドメイン内で好きに移動すればOKです。 2. チームドライブを経由して移動する 一手間かけることで、IDを維持したままファイルを個人アカウントDriveからG Suiteアカウントに「移動」できます。 まず、移行元(個人Googleアカウント)であるオーナーをチームドライブに招待します。 オーナー側でファイルをチームドライブに「移動」します。これでオーナー権限がチームドライブに移行されます。 この操作のみ、ドメインをまたいでオーナーを移動できないというルールの例外のようです。 一度移動したら、すでにそのファイルはG Suiteドメインの所有なので、G Suiteドメイン内で自由にオーナー移行(チームドライブからG Suite内のマイドライブに移動するなど)が可能です。 なお、この操作は不可逆です。一度移動したら、二度とそのファイルを元のオーナーに戻すことはできません(組織ドメイン→gmail.comへの移動ができないため)。 6. マイドライブの一括オーナー移行はできない マイドライブのフォルダを、すべて別オーナーに移行することはできません。フォルダのオーナーを変更はできますが、この操作はあくまでそのフォルダのオーナーを変更するのみで、内部のフォルダやファイルのオーナーは変更されません。 ※G Suite管理下のアカウントでのみ、ユーザAの所有する全ファイル・フォルダをユーザBにオーナー移行するといったことは管理コンソールから可能(ユーザAが退職する前にやるべき処理)ですが、後述の通りこの操作はものすごく遅いです。 なおG Suiteドメイン内では、以下の操作は可能です。ただし、同じくとても遅いです。 G Suiteアカウントのマイドライブから、チームドライブにフォルダごと移動することはできる。 チームドライブから、G Suiteアカウントのマイドライブにフォルダごと移動することはできる。 それ以外では、フォルダをまるごとチームドライブに移動したり、別ユーザにオーナー移行する機能はありません。つまり、これまで個人Googleアカウントで使っていたフォルダをまとめて移行するには、APIやサードパーティー製のツールを使うなど工夫する必要があります。サポートに聞くと「一度ダウンロードして再アップしろ」と案内されますが、当然URLは変わりますし、DocsやSpreadsheetなどがいったんOffice形式に変換されるため、データが一部変わってしまいます。 かといってG Suite Marketplaceに置いてあるアプリは人気のものでも驚くほど出来が悪い/セキュリティを考慮していないものも多いので、あまり頼りたくない… 注意点 パフォーマンス編 1. たくさんのファイルを扱うとドライブ ファイル ストリームが重くなる 多数のファイルをアップロード/ダウンロードすると、ドライブ ファイル ストリームがものすごくCPUを食うようになります。このような場合は、 %LOCALAPPDATA%\Google\DriveFS 配下にある metadata_sqlite_db が肥大化していないか確認しましょう。手元の環境では、2GBを超えたあたりからだんだん重くなりました(6GBを超えても重いだけで動作はしました)。 … Continue reading G Suite: 社内ファイルサーバからチームドライブ移行時の注意点と対策