cloud on the beach 2016 - 会社にawsを導入した話
TRANSCRIPT
会社に AWS を導入した話
@tnaototo Naoto Teruya RyukyuInteractive, Inc. Developer
突然ですが質問です
Q. オンプレサーバーの手配・設定でトラブったことがある
Q. 開発と運用両方やってて正直しんどい
Q. 作ってみたいものがあるけど環境構築・運用を考えるのつらい
Q. オンプレサーバーのHDD 障害 LED がついているけど無視したことがある
AWS を使えば解消できるかもしれませんよ?
お話すること
開発と運用をやっている弊社がAWS を導入して楽できていることなどをお話します
伝えたいこと
AWS を導入すると開発に集中できる
AWS を導入すると新しいことにチャレンジできる
予防線ご注意ください
制作会社が AWS を導入した話ですので、インフラの話はほぼ出てきません話が Web 系に寄ってます (^^;)
肩の力を抜いて、ご覧ください。
1. 自己紹介2. AWS との出会い〜現在3. 導入して良かった点4. 失敗談などなど5. こんなのも作ってます6. まとめ
アジェンダ
1. 自己紹介
- 琉球インタラクティブ所属 - エンジニアやってます - インフラも見てます - マネジメントも ( ちょっと ) やってます- めんどくさがり- ビール大好き- スプラトゥーン大好き- Ingress 大好き ( が、ルールよく分かってない )
Naoto Teruya (@tnaototo)
琉球インタラクティブ株式会社
琉球インタラクティブ株式会社
仲間を募集しています!
2. AWS との出会い〜現在
AWS ってなんぞ?
お腹いっぱいだからいいですよね (^^;)
出会ったきっかけ
- 元々は EC-Cube + さくらのレンサバ- リプレースは Magento で決定 - スペック低いと動きません・・- お客さん増加傾向 = 落ちるのはマズい- そんなにお金かけれません- オンプレ & 自前で持つとか絶対にイヤ- 大きめな VPS 借りるとお金が・・- 細かく見積もるのがめんどくさい- VPS 再契約・再構築とかやりたくない- スペックを自由に調整できれば・・
自社 EC サイトのリプレース
開発がしんどいので環境構築・運用は楽したい
そんな中で見つけたのが
AWS 使って無事リプレース
- 最初は小さいインスタンスで構築- 公開直前にメモリ不足が発覚 - スケールアップ - Web コンソールでポチポチやるだけ- スナップショットに感動 - Web コンソールでポチポチやるだけ- Security Group 便利すぎる - Web コンソールでポチポチやるだけ
EC2 のみの構成
- 最初は小さいインスタンスで構築- 公開直前にメモリ不足が発覚 - スケールアップ - Webコンソールでポチポチやるだけ- スナップショットに感動 - Webコンソールでポチポチやるだけ- SecurityGroup 便利すぎる - Webコンソールでポチポチやるだけ
EC2 のみの構成
ら、楽すぎる・・ (; ゚ д ゚ )
あと、
万が一の場合でも、スナップショットから戻せばいい
メモリが足りなくなったら、スケールアップしたらいい
安心して開発に集中できました
現在
- EC2 - 開発・検証サーバー - プロジェクトごとにインスタンス - ( 受託 ) 本番環境は AWS 以外を使用- S3 - バックアップファイル置き場
こんな感じで使ってます
- SES - 機器からのアラートメール - 複合機のスキャンメール- AWS ガッツリ - 自社サービス
こんな感じで使ってます
3. 導入して良かった点
サーバー周りで取られる時間が減った
導入して良かった点 その 1
- 本番環境と同じ環境で検証したいけど 手配できない ( 時間・コスト的に )- 突然、お客さんから開発中ページを見たい と言われたが、外部公開できる環境が無い - てか、やってる時間ない- 社内開発機のリソースがもう限界- 発注したサーバーの納期が遅い- 機械学習で GPU 積んでる PC 使いたい
こんなことありませんか?
AWS なら
- Web -> EC2 / DB -> RDS- Web上でポチポチ- イメージから復元 - 本番環境のコピーも作れます - 1 つ雛形作っておくとか- お客さんだけに公開もすぐできる- GPU 積んでるインスタンスもあるので、 機械学習用途でもバッチリ
とっても簡単
Web コンソールでアクセス制限便利すぎる
RDS 使えば DB 周りで時間をとられることが少ない
不要になれば捨てればいい (削除する )
サーバー周りで取られる時間が減った導入して良かった点 その 1
サーバー周りで取られる時間が減った導入して良かった点 その 1
開発に時間が割けるようになった
大企業しか触れなかったようなものが触れる
導入して良かった点 その 2
あの高価なロードバランサーも簡単に導入できる(ELB)
SSL 証明書はロードバランサー側に入れるのでWeb サーバーの設定不要
オートスケールする環境を(割と )簡単に構築できる
事例 : Facebook アプリElastic Beanstalk container
EC2 instance
Elastic Load Balancing
Amazon Route 53
AmazonS3
AmazonRDS
AmazonSES
Auto Scaling group
事例 : JobAntennaJobAntenna( ジョブアンテナ ) とは、沖縄の「はたらく」をもっと面白く ! する沖縄の求人・転職サイトです
事例 : JobAntenna
出典 : クラウドネイティブが行なういまどきWebサービス開発
安心して開発に集中できます
これら以外にもたくさんのサービスがあります
大企業しか触れなかったようなものが触れる導入して良かった点 その 2
大企業しか触れなかったようなものが触れる導入して良かった点 その 2
新しい機能・アイデアの実現に向けてチャレンジできるようになった
4. 失敗談などなど
失敗 1. AutoScaling したらファイルが消えた
- AutoScale したらファイルがいなくなった・・・- 基本は外に置く - 例 - 画像 => S3 - 負荷が減るので助かります - DB => RDS or DynamoDB - ログ => CloudWatchLogs
Auto Scaling したらファイルが消えた
捨てても大丈夫な作りを最初から考慮しておく
失敗 2. 増え続ける EC2
- 東京リージョン以外に海外にも・・- 開発サーバーはエンジニア以外も見てるので、 なんだかんだ 24h起動- 時間あたりは安く見えるけど、塵も積もれば・・orz- MarketPlace で実は有料だったり・・- 使っていないはずなのに落としてない・・- Elastic IP の解放し忘れ
増え続ける EC2
- 不要なインスタンスは停止 & EIP 解放- スポット・リザーブドインスタンスの活用- 開発用途なら小さいインスタンスでスタート- Route53+CLI で 起動時に EIP が変わっても ドメイン名でアクセスできるようにする- AWS Lambda でスケジュール起動・停止- 大きいインスタンスに Docker 入れて・・
対策
全然できてません (^^;)
失敗 3. EBS の I/O で課金
\ (^o^)/オワタ
- ゲームサーバー用途で使用- I/O結構するミドルウェアを使用 ?- メモリ足りなくて Swap ガリガリ ?- コストを気にして仇となる- I/O の処理を見直し -> 解消
原因と対策
CloudWatch は設定すべし
5. こんなのも作ってます
お知らせ bot(AWS Lambda)
お知らせ bot(AWS Lambda + PhantomJS)
Web サイトの簡易ヘルスチェック(AWS Lambda + PhantomJS)
AWSLambda
画面キャプチャ (例 )チェック対象 (例 )
+
https://github.com/naotty/phantom-lambda-http-check
6. まとめ
AWS を使うとサーバー周りに割く時間を減らせますその分、開発に集中できます
まとめ
AWS を使うと新しいことにチャレンジできます
まとめ
逆に、うまく使えないとコストがかさみますので要注意
まとめ
まずは試してみたら?
AWS は情報たくさんあります
安心ですね (^^)
え?ちゃんと使えるかまだ不安?
安心してください
がありますよ
またのご参加をお待ちしております
質問ありますか?
ご清聴ありがとうございました
焦るんじゃない、俺は開発に集中したいだけなんだ