去年末に、所謂事業会社に転職をしました。
タイトルと少し離れた書き出しですが・・・
そのせいもあってAWSを触るのが結構久しぶりだったりしますw
で、その事業会社にて色々と、本当に色々とやっているのですが、
なんせ初のエンジニアが入社したのが2014年ってことで、2人目である自分が入社する数ヶ月前、
つまり、今までWEB系の会社にもかかわらずエンジニアがいないというトンデモ会社だったわけです
そんな訳で、社内のIT環境もそこまで整っているわけではなく・・・
ファイルサーバも家庭用NASで冗長化できてなくてバックアップもなくて・・・
はい、障害起きましたとさ
という前置きがあり、AWSのS3は可用性のレベルが中小企業で作り出せるものを超えているし、安価だし
でもクライアントを入れたりURL打たなあかんかったりと、正直色々不便だなと。
サーバからAPI叩くってのはテクニカルでよいのですが、通常の業務で使うにはインターフェースが不十分であると判断したわけです。
そこで!運用を他部署に引き渡すことも想定し、Windowsでサーバを用意してS3に繋ぐことをやりたい!と相成りました。
※事前にIAMでS3アクセス専用のアカウントを用意しておくことをお勧めします
■構成
OS:Windows Server 2012 R2
ストレージ:S3
ドメイン:新規でActive Directoryを構築
アクセス経路などは一旦ここでは触れませんが、認証環境すら無かったので、
将来的に拡大などを想定し同時に入れることにしました。おまけです。
要は、
WindowsサーバにS3くっ付けて共有フォルダをPCから見えるようにしたい
ということですね。はい。
[1.WindowsにS3をマウントするために何が必要か]
s3fsなるものが割と知られているようだが、これLinuxなのよねんw
技術屋さんとしてはLinuxの方がいいのですが、UIがWindowsの方が管理部署に引き渡しやすいので・・・
ってことで、Windowsでマウント、つまりはネットワークドライブやディスクとして認識させる方法を探ります。
・・・・
tntdrive「http://tntdrive.com/」とGladinetあたりか
Gladinetは「Gladinet Cloud Desktop」が2015/3/31に終了したらしく、無償版がなさげ・・・
一応窓の杜にはあるみたいです。
ってことで、あんまり時間もないので
tntdriveを採用!
[2.tntdriveをインストールしてみる]
まずは動作要件である.net framework 2.0・・・を含む3.5をサーバーマネージャから予めインストールしておく
上記サイトからOSに合ったプログラムをダウンロードして実行
1.setupプログラムが立ち上がるので「Next」をクリック
2.License Agreementで、同意して次へ
3.インストールフォルダを指定して次へ
4.デスクトップアイコンはお好きに作ってくださいね
5.インストールが完了したら、OS再起動しましょう
[3.S3をネットワークドライブとしてマウント]
ここからが本番ってやつですね。
1.TntDriveを起動
トライアル版だと言われてますが、テスト利用なのでとりあえずOK!
「Mapped Drives」には何もない状態なので、
「Add New Mapped Drive」
をクリック
2.ネットワークドライブのマウント設定
初めの方でも触れましたが、事前にIAMで専用アカウントの設定をしておくことをお勧めします。
画像見てもらうと分ける通り、
Access Key ID
Secret Key ID
が必要になります。
それぞれ入力すると、アカウントに紐付いたS3 Bucketが参照可能になります。
見えないぞ!?って場合は、更新ボタン(右側のサイクル矢印マーク)を押すか、IAMの設定を見直してください。
一通り設定したら、最後に「Add new drive」を押します
4.マウント確認
黒塗りされているところは、S3 Bucket名です。
これで無事できたかな?
という最後の確認のため、Windowsのエクスプローラーでドライブ・フォルダ表示をして確かめましょう!
Zドライブとしてマウントしたのですが、どうやらDドライブとして認識してくれている模様。
この辺の仕組みはまだわかっていないので、時間があったら調べて見ようと思います。
フォルダの中身もしっかり見えていますので、一旦はこれで完了です。
ファイル作成や削除、コピーなどは、恐らくバックグラウンドでAPI操作しているのだと思われます。
あまり多量のコピーや移動などをするとパフォーマンスに影響が出そうな予感・・・
これから徐々に検証していきたいと思います。

