AWSを中心としたクラウド技術が急激に進化し、実際にビジネスで使える環境が出揃ってきました。これからのシステム開発では、AWSを中心としたクラウドインフラの知識も避けて通れないですよね。
ということで参加した今回のイベント、有料でしたが大盛況でした。
「JAWS DAYS 2014」(2014.3.15)
会社の用事があったので、昼過ぎから参加。
各セッションのレポートは、
「全Togetter&ブログレポートまとめ #jawsdays – JAWS DAYS 2014 参加レポート Vol.00」もどうぞ。
AWSクラウドデザインパターン for Enterprise
玉川 憲 氏(アマゾンデータサービスジャパン株式会社)
片山 暁雄 氏(アマゾンデータサービスジャパン株式会社)
AWSの利用パターンの話。激混みで立ち見でした。一番混んでいたかも。
やっぱり、AWS構成のベストプラクティスって知りたいんですねー。
ハイブリッド環境のネットワーク構成
ハイパフォーマンスな業務アプリケーション
機密情報を扱う業務システム
- ほとんどのAWSのサービスが、PCI-DSS標準に準拠している
- ただし、一部のログサービスなどはまだ準拠していない
- 銀行など高いセキュリティが要求される環境では、どのサービスを使うかを注意しないと
- 縦深防御
- 多層の防御構造。一番奥にDBレイヤーを
- IDS、IPSはもちろん各レイヤーに入れる
- ELB End-to-End Encryptionパターン
- Backend-SSLでELBの裏側も暗号化できる
DR(ディザスタリカバリ)
世界で展開する新しいネットワークサービス「Miiverse 」のAWS活用事例
竹本 賢一 氏(任天堂株式会社)
渡辺 起 氏(株式会社はてな)
予告編: http://dev.classmethod.jp/cloud/aws/jaws-days-2014-nintendo-miiverse-and-aws/
AWS導入事例: http://aws.amazon.com/jp/solutions/case-studies/nintendo/
(システムアーキテクチャ概要全体図も)
ゲームに対してもAPIを提供していて、ゲーム中から直接Miiverseの機能を使えるそうな。
これまでの経緯
- https://miiverse.nintendo.net
- 2011年末に新ハード(Wii U)の話があり、新しいコミュニケーションサービスの計画が浮上
- Wii U発売と同時にサービス開始。構築まで1年未満
- 世界中からのアクセスが想定され、トラフィック増減に柔軟に対応できるインフラが必要だったので、hi1やPIOPSの利用を前提として、AWSに決定
システム概要と構成
- EC2インスタンス1000台規模
- マルチリージョン(日本・欧州・北米)。全て Multi-AZ 冗長構成
- リージョン間をVPNでフラットに結ぶ
- システム構成は、「システムアーキテクチャ概要全体図」を参照
- Proxy
- ELB + Route53 Alias Record
- Nginx: SSL Termination
- ELB/HAProxy
- 内部では ELB, HAProxyで振り分け
- App/Cache
- DB
- 非同期ジョブ
- TheSchwartzと独自実装。MySQLやRedisも
- ストレージ
- 画像の保存にS3。CloudFront経由で配信
- サーバ構築
- Chef Server
- サーバ管理
- Mackerel(はてな製)
- 監視
苦労話
IaaSとPaaSの微妙な関係
田中 慎司 氏(株式会社はてな)
- IaaS
- PaaS
- AWS Elastic Beanstalk, Heroku, EngineYard 等の選択肢
- 実行環境を選択する際の Where, Why
- 物理 or IaaS or PaaS
- 慣れ・経験、運用ノウハウ、サービス・アプリの用件・規模
- なぜ、EC2 + RDS なんですか??
- どうなると EC2 + RDS では不適になるのか??
- はてなの場合
- ハイパワーのサーバを安価で・・・DC
- 柔軟なリソースを・・・AWS EC2
- 小規模での運用・・・Heroku
流行りのDevOps
- Orchestration
- Fabric/Capstrano
- Provisioning(構成管理)
- Chef/puppet/Ansible
- infrastracture as Code
- Immutable Infrastructure
- Blue-Green Deployment
- IaaS + DevOps = Private PaaS じゃないの? これがゴールなのかも?
PaaS vs (IaaS + DevOps)
- 一般的な PaaS の特性
- Pros) 簡単。専任のDevOpsの人が要らない?
- Cons) 線形にコスト上昇。柔軟性に欠ける
- IaaS + DevOps の特性
- Pros) 柔軟性。高コスト効率。限界値が把握できるので事前に手を打てる
- Cons) DevOpsの人が要る
- PaaSが提供するカテゴリ?三層構造+α
- リバースプロキシ
- アプリケーションサーバ(中核)
- データベース(最大の難点)
- AWS RDS, Heroku Postgres
- ワーカー・バッチサーバ(これも得意)
-
- 状態を持たない系
- AWS Beanstalk に Worker tier が新設された
-
PaaSを超えるためには
- 高コスト効率を求めていくケース
- 例えば、Auto-scalingのチューニング
- データベースのチューニング
- データ構造が複雑なケース、負荷が高いケース
- 小規模の場合はPaaS、中大規模ならIaaS+DevOpsに軍配?
- 損益分岐点は上がりつつある
解のひとつ?となりそうな注目のツール
CloudFrontで実現するセキュアコンテンツ配信と効果のトラッキング
北迫 清訓 氏(アマゾンデータサービスジャパン株式会社)
Blog: Amazon CloudFrontを利用した動画配信入門
CloudFrontで小規模から大規模まであらゆる配信ニーズに答えられるだけでなく、
プレミアムコンテンツなどのアクセス制限が必要なセキュアな動画配信も実現可能
AWS Elastic Transcoder はHLSをサポートしているとのこと。
- CDN (Contents Delivery Network) サービス
- サイトの高速化。世界中に効率的に配信が可能
- CloudFrontのセキュア機能
Sigend URL
- 規定ポリシ
- 有効化終了時刻
- 許可コンテンツフルパス
- カスタムポリシ
- 有効化開始時刻
- アクセス元IPアドレス制限
- オリジンサーバにはOAI(Origin Access Identity)で制限できるので、CloudFrontでの経由が必要
- 認証サーバを作ってあげて、署名付きURLを配布し、署名付きURLでCloudFrontにアクセス
セキュアな動画配信
- HTTPストリーミング
- Androidの8割以上がバージョン4系
- JWPlayer, Flowplayerを使うとよいかも
- あるいは、HLS??⇒本日はカジュアルにHLSの話を
- HLSはWebサーバだけで配信可能
- どうやってセキュアに配信する?
- AES Encryptionで.tsファイルを暗号化可能
- ただし、マニュフェストファイル(.m3u8)は保護できない(この保護がポイント)
- だから、Signed URL??
- 動画のマニュフェストファイルとセグメントファイルはS3に
- 認証サーバでURLを返しつつ、マニュフェストファイルを書き換えるのがベスト??
- HLSセキュアオンデマンド配信
HLSライブ配信
- LiveEncoderが、マニフェストファイルとセグメントファイルを動的に生成している
- CloudFrontのBehavior設定でマニフェストファイルを保護することができる
- マニフェストファイルのURLを署名付きで返せばよい
今井 雄太 氏(アマゾンデータサービスジャパン株式会社)
アクセス可視化
- CloudFrontにもやっとレポート機能ができた
- CloudFrontの左側のメニューから「Report and Analytics」
- Sumo Logic
- S3上のログを解析してくれる
- ログの量は 500MB/日まで無料
- Splunk
- Cedexis
- Google Analytics
自前でやるなら
- hive
- ダッシュボードは、DynamoDB + JavaScript SDK
- d3.js
BIを使った解析
- JasperReport Serverというサービスも