cloud on the beach 2016 - 会社にawsを導入した話

91
会会会 AWS 会会会会会会 @tnaototo Naoto Teruya RyukyuInteractive, Inc. Developer

Upload: naoto-teruya

Post on 09-Jan-2017

1.490 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Cloud on the BEACH 2016 - 会社にAWSを導入した話

会社に AWS を導入した話

@tnaototo  Naoto Teruya  RyukyuInteractive, Inc.  Developer

Page 2: Cloud on the BEACH 2016 - 会社にAWSを導入した話

突然ですが質問です

Page 3: Cloud on the BEACH 2016 - 会社にAWSを導入した話

Q. オンプレサーバーの手配・設定でトラブったことがある

Page 4: Cloud on the BEACH 2016 - 会社にAWSを導入した話

Q. 開発と運用両方やってて正直しんどい

Page 5: Cloud on the BEACH 2016 - 会社にAWSを導入した話

Q. 作ってみたいものがあるけど環境構築・運用を考えるのつらい

Page 6: Cloud on the BEACH 2016 - 会社にAWSを導入した話

Q. オンプレサーバーのHDD 障害 LED がついているけど無視したことがある

Page 7: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS を使えば解消できるかもしれませんよ?

Page 8: Cloud on the BEACH 2016 - 会社にAWSを導入した話

お話すること

Page 9: Cloud on the BEACH 2016 - 会社にAWSを導入した話

開発と運用をやっている弊社がAWS を導入して楽できていることなどをお話します

Page 10: Cloud on the BEACH 2016 - 会社にAWSを導入した話

伝えたいこと

Page 11: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS を導入すると開発に集中できる

Page 12: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS を導入すると新しいことにチャレンジできる

Page 13: Cloud on the BEACH 2016 - 会社にAWSを導入した話

予防線ご注意ください

Page 14: Cloud on the BEACH 2016 - 会社にAWSを導入した話

制作会社が AWS を導入した話ですので、インフラの話はほぼ出てきません話が Web 系に寄ってます (^^;)

肩の力を抜いて、ご覧ください。

Page 15: Cloud on the BEACH 2016 - 会社にAWSを導入した話

1. 自己紹介2. AWS との出会い〜現在3. 導入して良かった点4. 失敗談などなど5. こんなのも作ってます6. まとめ

アジェンダ

Page 16: Cloud on the BEACH 2016 - 会社にAWSを導入した話

1. 自己紹介

Page 17: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- 琉球インタラクティブ所属 - エンジニアやってます - インフラも見てます - マネジメントも ( ちょっと ) やってます- めんどくさがり- ビール大好き- スプラトゥーン大好き- Ingress 大好き ( が、ルールよく分かってない )

Naoto Teruya (@tnaototo)

Page 18: Cloud on the BEACH 2016 - 会社にAWSを導入した話

琉球インタラクティブ株式会社

Page 19: Cloud on the BEACH 2016 - 会社にAWSを導入した話

琉球インタラクティブ株式会社

Page 20: Cloud on the BEACH 2016 - 会社にAWSを導入した話

仲間を募集しています!

Page 21: Cloud on the BEACH 2016 - 会社にAWSを導入した話

2. AWS との出会い〜現在

Page 22: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS ってなんぞ?

Page 23: Cloud on the BEACH 2016 - 会社にAWSを導入した話

お腹いっぱいだからいいですよね (^^;)

Page 24: Cloud on the BEACH 2016 - 会社にAWSを導入した話

出会ったきっかけ

Page 25: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- 元々は EC-Cube + さくらのレンサバ- リプレースは Magento で決定 - スペック低いと動きません・・- お客さん増加傾向 = 落ちるのはマズい- そんなにお金かけれません- オンプレ & 自前で持つとか絶対にイヤ- 大きめな VPS 借りるとお金が・・- 細かく見積もるのがめんどくさい- VPS 再契約・再構築とかやりたくない- スペックを自由に調整できれば・・

自社 EC サイトのリプレース

Page 26: Cloud on the BEACH 2016 - 会社にAWSを導入した話

開発がしんどいので環境構築・運用は楽したい

Page 27: Cloud on the BEACH 2016 - 会社にAWSを導入した話

そんな中で見つけたのが

Page 28: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS 使って無事リプレース

Page 29: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- 最初は小さいインスタンスで構築- 公開直前にメモリ不足が発覚 - スケールアップ - Web コンソールでポチポチやるだけ- スナップショットに感動 - Web コンソールでポチポチやるだけ- Security Group 便利すぎる - Web コンソールでポチポチやるだけ

EC2 のみの構成

Page 30: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- 最初は小さいインスタンスで構築- 公開直前にメモリ不足が発覚 - スケールアップ - Webコンソールでポチポチやるだけ- スナップショットに感動 - Webコンソールでポチポチやるだけ- SecurityGroup 便利すぎる - Webコンソールでポチポチやるだけ

EC2 のみの構成

Page 31: Cloud on the BEACH 2016 - 会社にAWSを導入した話

ら、楽すぎる・・ (; ゚ д ゚ )

Page 32: Cloud on the BEACH 2016 - 会社にAWSを導入した話

あと、

Page 33: Cloud on the BEACH 2016 - 会社にAWSを導入した話

万が一の場合でも、スナップショットから戻せばいい

Page 34: Cloud on the BEACH 2016 - 会社にAWSを導入した話

メモリが足りなくなったら、スケールアップしたらいい

Page 35: Cloud on the BEACH 2016 - 会社にAWSを導入した話

安心して開発に集中できました

Page 36: Cloud on the BEACH 2016 - 会社にAWSを導入した話

現在

Page 37: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- EC2 - 開発・検証サーバー - プロジェクトごとにインスタンス - ( 受託 ) 本番環境は AWS 以外を使用- S3 - バックアップファイル置き場

こんな感じで使ってます

Page 38: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- SES - 機器からのアラートメール - 複合機のスキャンメール- AWS ガッツリ - 自社サービス

こんな感じで使ってます

Page 39: Cloud on the BEACH 2016 - 会社にAWSを導入した話

3. 導入して良かった点

Page 40: Cloud on the BEACH 2016 - 会社にAWSを導入した話

サーバー周りで取られる時間が減った

導入して良かった点 その 1

Page 41: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- 本番環境と同じ環境で検証したいけど 手配できない ( 時間・コスト的に )- 突然、お客さんから開発中ページを見たい と言われたが、外部公開できる環境が無い   - てか、やってる時間ない- 社内開発機のリソースがもう限界- 発注したサーバーの納期が遅い- 機械学習で GPU 積んでる PC 使いたい

こんなことありませんか?

Page 42: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS なら

Page 43: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- Web -> EC2 / DB -> RDS- Web上でポチポチ- イメージから復元 - 本番環境のコピーも作れます - 1 つ雛形作っておくとか- お客さんだけに公開もすぐできる- GPU 積んでるインスタンスもあるので、 機械学習用途でもバッチリ

とっても簡単

Page 44: Cloud on the BEACH 2016 - 会社にAWSを導入した話

Web コンソールでアクセス制限便利すぎる

Page 45: Cloud on the BEACH 2016 - 会社にAWSを導入した話

RDS 使えば DB 周りで時間をとられることが少ない

Page 46: Cloud on the BEACH 2016 - 会社にAWSを導入した話

不要になれば捨てればいい (削除する )

Page 47: Cloud on the BEACH 2016 - 会社にAWSを導入した話

サーバー周りで取られる時間が減った導入して良かった点 その 1

Page 48: Cloud on the BEACH 2016 - 会社にAWSを導入した話

サーバー周りで取られる時間が減った導入して良かった点 その 1

開発に時間が割けるようになった

Page 49: Cloud on the BEACH 2016 - 会社にAWSを導入した話

大企業しか触れなかったようなものが触れる

導入して良かった点 その 2

Page 50: Cloud on the BEACH 2016 - 会社にAWSを導入した話

あの高価なロードバランサーも簡単に導入できる(ELB)

Page 51: Cloud on the BEACH 2016 - 会社にAWSを導入した話

SSL 証明書はロードバランサー側に入れるのでWeb サーバーの設定不要

Page 52: Cloud on the BEACH 2016 - 会社にAWSを導入した話

オートスケールする環境を(割と )簡単に構築できる

Page 53: Cloud on the BEACH 2016 - 会社にAWSを導入した話

事例 : Facebook アプリElastic Beanstalk container

EC2 instance

Elastic Load Balancing

Amazon Route 53

AmazonS3

AmazonRDS

AmazonSES

Auto Scaling group

Page 54: Cloud on the BEACH 2016 - 会社にAWSを導入した話

事例 : JobAntennaJobAntenna( ジョブアンテナ ) とは、沖縄の「はたらく」をもっと面白く ! する沖縄の求人・転職サイトです

Page 56: Cloud on the BEACH 2016 - 会社にAWSを導入した話

安心して開発に集中できます

Page 57: Cloud on the BEACH 2016 - 会社にAWSを導入した話

これら以外にもたくさんのサービスがあります

Page 58: Cloud on the BEACH 2016 - 会社にAWSを導入した話

大企業しか触れなかったようなものが触れる導入して良かった点 その 2

Page 59: Cloud on the BEACH 2016 - 会社にAWSを導入した話

大企業しか触れなかったようなものが触れる導入して良かった点 その 2

新しい機能・アイデアの実現に向けてチャレンジできるようになった

Page 60: Cloud on the BEACH 2016 - 会社にAWSを導入した話

4. 失敗談などなど

Page 61: Cloud on the BEACH 2016 - 会社にAWSを導入した話

失敗 1. AutoScaling したらファイルが消えた

Page 62: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- AutoScale したらファイルがいなくなった・・・- 基本は外に置く - 例 - 画像 => S3 - 負荷が減るので助かります - DB => RDS or DynamoDB - ログ => CloudWatchLogs

Auto Scaling したらファイルが消えた

Page 63: Cloud on the BEACH 2016 - 会社にAWSを導入した話

捨てても大丈夫な作りを最初から考慮しておく

Page 64: Cloud on the BEACH 2016 - 会社にAWSを導入した話

失敗 2. 増え続ける EC2

Page 65: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- 東京リージョン以外に海外にも・・- 開発サーバーはエンジニア以外も見てるので、 なんだかんだ 24h起動- 時間あたりは安く見えるけど、塵も積もれば・・orz- MarketPlace で実は有料だったり・・- 使っていないはずなのに落としてない・・- Elastic IP の解放し忘れ

増え続ける EC2

Page 66: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- 不要なインスタンスは停止 & EIP 解放- スポット・リザーブドインスタンスの活用- 開発用途なら小さいインスタンスでスタート- Route53+CLI で 起動時に EIP が変わっても ドメイン名でアクセスできるようにする- AWS Lambda でスケジュール起動・停止- 大きいインスタンスに Docker 入れて・・

対策

Page 67: Cloud on the BEACH 2016 - 会社にAWSを導入した話

全然できてません (^^;)

Page 68: Cloud on the BEACH 2016 - 会社にAWSを導入した話

失敗 3. EBS の I/O で課金

Page 69: Cloud on the BEACH 2016 - 会社にAWSを導入した話
Page 70: Cloud on the BEACH 2016 - 会社にAWSを導入した話
Page 71: Cloud on the BEACH 2016 - 会社にAWSを導入した話

\ (^o^)/オワタ

Page 72: Cloud on the BEACH 2016 - 会社にAWSを導入した話

- ゲームサーバー用途で使用- I/O結構するミドルウェアを使用 ?- メモリ足りなくて Swap ガリガリ ?- コストを気にして仇となる- I/O の処理を見直し -> 解消

原因と対策

Page 73: Cloud on the BEACH 2016 - 会社にAWSを導入した話

CloudWatch は設定すべし

Page 74: Cloud on the BEACH 2016 - 会社にAWSを導入した話

5. こんなのも作ってます

Page 75: Cloud on the BEACH 2016 - 会社にAWSを導入した話

お知らせ bot(AWS Lambda)

Page 76: Cloud on the BEACH 2016 - 会社にAWSを導入した話

お知らせ bot(AWS Lambda + PhantomJS)

Page 78: Cloud on the BEACH 2016 - 会社にAWSを導入した話

6. まとめ

Page 79: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS を使うとサーバー周りに割く時間を減らせますその分、開発に集中できます

まとめ

Page 80: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS を使うと新しいことにチャレンジできます

まとめ

Page 81: Cloud on the BEACH 2016 - 会社にAWSを導入した話

逆に、うまく使えないとコストがかさみますので要注意

まとめ

Page 82: Cloud on the BEACH 2016 - 会社にAWSを導入した話

まずは試してみたら?

Page 83: Cloud on the BEACH 2016 - 会社にAWSを導入した話

AWS は情報たくさんあります

Page 84: Cloud on the BEACH 2016 - 会社にAWSを導入した話

安心ですね (^^)

Page 85: Cloud on the BEACH 2016 - 会社にAWSを導入した話

え?ちゃんと使えるかまだ不安?

Page 86: Cloud on the BEACH 2016 - 会社にAWSを導入した話

安心してください

Page 87: Cloud on the BEACH 2016 - 会社にAWSを導入した話

がありますよ

Page 88: Cloud on the BEACH 2016 - 会社にAWSを導入した話

またのご参加をお待ちしております

Page 89: Cloud on the BEACH 2016 - 会社にAWSを導入した話

質問ありますか?

Page 90: Cloud on the BEACH 2016 - 会社にAWSを導入した話

ご清聴ありがとうございました

Page 91: Cloud on the BEACH 2016 - 会社にAWSを導入した話

焦るんじゃない、俺は開発に集中したいだけなんだ