という案件が深夜の1時、友人から突然降ってきたのでメモ。 もっといいソリューションがあれば教えてください。
要件
- ファイルサイズ 3GB * 7個くらい
- 20人くらいに配りたい
- HTTP経由(お手軽にすぐダウンロード)
- お金かけたくない
- ダウンロードするときにパスワードも付けたい
- 自宅サーバをこれからつくると時間かかる
- 今週末まで (!?)
結論
- amazon ec2 マイクロインスタンス ディスク拡張 + apache
ボツ案
- Dropboxは?
- idアカウントバレが嫌だ
- web上のオンラインストレージはないかな
- 1ファイル3Gはなかなかない
- 自宅サーバがあるらしい
- セットアップまで時間が掛かる
- Amazon Glacier
- ダウンロードまで待たせるし、専用アプリ必要
- 「1 か月あたり 0.01 USD/GB」 - http://aws.amazon.com/jp/glacier/
- 参考:http://www.tdn.co.jp/techblog/201208/72/
amazon ec2 セットアップ
- この辺の流れは http://www.slideshare.net/kentamagawa/3amazon-ec2 を見てもらった方が早いです
- 途中、下記の画面でEditしてVolume Sizeの8を 30GB くらいに変更してSaveしてContinue
Incetances一覧で、起動していることを確認
- SSHで接続する方法もslideshareのところに書いてあります
ディスクを拡張します
- マイクロインスタンスだと、8G固定になっているのでなんとかします
[ec2-user@gdpy ~]$ df -h Filesystem Size Used Avail Use% マウント位置 /dev/xvda1 7.9G 932M 6.9G 12% / tmpfs 298M 0 298M 0% /dev/shm
- おもむろにresize2fs
[ec2-user@dgpy ~]$ sudo resize2fs /dev/xvda1 resize2fs 1.42 (29-Nov-2011) Filesystem at /dev/xvda1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 2 Performing an on-line resize of /dev/xvda1 to 7864320 (4k) blocks. The filesystem on /dev/xvda1 is now 7864320 blocks long. [ec2-user@dgpy ~]$ df -h Filesystem Size Used Avail Use% マウント位置 /dev/xvda1 30G 936M 29G 4% / tmpfs 298M 0 298M 0% /dev/shm
- 参考:http://asobicocoro.com/tips/article/aws-change-ebs-volume
- 体感的には15秒くらいで完了
- これで課金されるのかなぁ、ちゃんとマイクロインスタンスの定義を読んでいないのでわからないです*2
設定とか
下準備
- ec2-userユーザの~に適当にディレクトリ(仮にupload)を作っておく
- 面倒なのでchmod
chmod 755 /home/ec2-user
アップロードする
- ファイルをダウンロードすると言うことは、アップロードしないといけないわけで
- sftpあたりでアップロードしてもらえばいいかな?適当なアプリケーションない?
- WinSCPしかないだと!?え?ppk!?
- puttygenで公開鍵(pem)をppkファイルに変換してやってそれを依頼者に送付
- ユーザ名は ec2-user
- ホスト名は、ec2-54-(うわなにをすr(ry
- 本来はuseraddして公開鍵を作ってやるのが正攻法な気がします
apacheインストール
おもむろに
yum install httpd
おもむろに*3
cd /var/www/html/ ln -s /home/ec2-user/upload doshitanowasawasa
アクセス
http://ec2-54(おいなにをすr(ry)/doshitanowasawasa
なんとかできた
即席過ぎていろいろアラがありますがなんとか間に合ったんではないでしょうか
余談
「設定できたよー、あとはファイル突っ込んでおけばおk」 「あんがと 明日やる おやすみなさい… ねむいんです・・・」