LT #nds37

16
第37回長岡IT技術者勉強会 ギョーム系でもAWS 2014/8/9 @nemuzuka

Transcript of LT #nds37

Page 1: LT #nds37

第37回長岡IT技術者勉強会

ギョーム系でもAWS

2014/8/9 @nemuzuka

Page 2: LT #nds37

自己紹介

• id:nemuzuka

• @nemuzuka

• サーバサイドにJavaを使用したWebアプリケーションの開発を主にしております

Page 3: LT #nds37

近況報告

個人事業主になりましたValue Software Service

vss.jp.net ※MSじゃない方

Page 4: LT #nds37

今日は ギョーム系 でもAWSを 使おうぜって

お話を

Page 5: LT #nds37

例えばこんなシステム

• ファイル共有システム

• 数十M単位のファイルがばしばしupされる

• 画像サムネイル表示できたらいいなぁ

• もちろん、誰でも見れるのはダメよ

Page 6: LT #nds37

問題その1• ファイルサイズが大きいとその分回線を専有

• 同時にダウンロードが行われることで使える回線が減る

• 回線が塞がっていると、新たなリクエストを捌くことができない

• 同時接続数が多くなればクライアントは待たされることに

Page 7: LT #nds37

問題その2• ファイルを返す処理に時間がかかる

• 全ての画像処理に対して認可チェックが必要(ギョーム系)

• 認可チェックはSessionやDBを見て行う

• その後やっとファイル取得してレスポンスが返せる

例えばサムネイル表示させる場合、 1ページ辺りの画像は数十単位! !1人が1ページ表示するのに何回リクエストを繰り返すのか そして、それが何十人と同時にアクセスしてくると思うと…

Page 8: LT #nds37

問題その3• ファイルの格納場所

• DBのBLOB的なもの

• ファイルシステム上に置く

どちらにしてもディスク容量や バックアップにかかる時間は無視できない OSのリソースも消費する

Page 9: LT #nds37

そこで、 S3 + CloudFront という選択肢

Page 10: LT #nds37

• S3

• インターネット用のストレージサービス

• インターネット経由でファイルを保存・取得することが可能

• 信頼性が高く、安価

!

• CloudFront

• コンテンツ配信ネットワーク

• 主にS3上に配置されたリソースを参照する形で使われる

• 音声や映像など大容量のデータを多くのユーザーに効率よく届けるための仕組み

• ユーザーのIPアドレスから地域情報を割り出し、ユーザーに近い場所のコピーされたサーバーを見に行ってレスポンス返すとか、とにかくすごい

Page 11: LT #nds37

1ヶ月前の自分…

Page 12: LT #nds37

CloudFront? も、もちろん知ってるけど

!

誰にでも見せる画像とか プロモーション用の楽曲ファイルを

配信する為のもんでしょ !

誰にでも見られたら困るギョーム系には使えないよねー

Page 13: LT #nds37
Page 14: LT #nds37

CloudFrontは、 署名付きのURLを発行することで、

許可されたユーザだけ 参照させることができます

そのURLの有効期限も設定可能なので、もし万が一URLが流出したとしても、その期限までの話。

Page 15: LT #nds37

ということは、こんな感じ

自前APサーバ

1.サーバにリクエスト

2.認可チェック等々を行い、 レスポンスにCloudFrontから 画像に関する署名付きURLを 「まとめて」返す https://xxxx.cloudfront.net/hoge/fuga/a.img?xxxxxx https://xxxx.cloudfront.net/hoge/fuga/b.img?xxxxxx

S3CloudFront

3.「2」で取得した 署名付きURLを使用し 画像の取得は全て CloudFrontから行う

例えばサムネイル表示

仮にサムネイル表示対象の 画像が50個あったとしても 自前APサーバ:1回のリクエスト 画像取得のリクエスト:全てCloudFront となり、負荷分散できる それを全部自前APサーバで捌くとしたら…

Page 16: LT #nds37

• 世の中の便利なものどんどん使ってシステムの維持費や開発工数減らして浮いた分を他のことに回せばいいじゃない

• AWSにロックインされることになりますが、非常に便利です

• コストを抑えてそれなりに捌けるシステムが貴方の物に

• VPS + S3 + CloudFront

まとめ