autoscale×ゲーム ~運用効率化への取り組み~

111
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. ゲーム事業本部 恋愛ゲームチーム 藤原 ゲームインフラチーム 本田 20140718AutoScale × ゲーム ~運用効率化への取り組み~

Upload: ryo-fujiwara

Post on 28-Nov-2014

31.293 views

Category:

Documents


0 download

DESCRIPTION

AWS Summit Tokyo 2014 TC-09 で発表した資料になります。 タイトル:TC-09「AutoScale×ゲーム ~運用効率化への取り組み~」について === イベント概要 === AWS Summit Tokyo 2014について 開催日:2014年7月17日(木)~18日(金) 9:15 ~ 19:00 会場:グランドプリンスホテル新高輪 (国際館パミール) 主催:アマゾン データ サービス ジャパン株式会社 サイトURL:http://www.awssummittokyo.com/ スケジュール:http://www.awssummittokyo.com/schedule.html セッション紹介:http://www.awssummittokyo.com/session.html#tc9 後半 => http://www.slideshare.net/TakashiHonda0628/aws-summit-2014tokyo

TRANSCRIPT

Page 1: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

ゲーム事業本部 恋愛ゲームチーム 藤原 涼!ゲームインフラチーム 本田 恭!

2014年07月18日

AutoScale × ゲーム ~運用効率化への取り組み~

Page 2: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

運用効率化に向けたAWS導入背景から運用のお話

AWSをさらに活用するための技術的なお話

~後半~

~前半~

Agenda

Page 3: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

1:サービスの特徴とシステム

2:AWSの導入に向けて

3:AWSを利用して発生した問題

Agenda

~前半~

Page 4: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

自己紹介

藤原 涼 (ふじわらりょう)- 2012年新卒入社 (3年目)

- Twitter @megadreams14

AWSを使い始めた日- 2013年6月17日(月)

Page 5: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

女性向け 「恋愛ソーシャルゲーム」 における導入事例

Page 6: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

恋愛ソーシャルゲームとは

Page 7: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

恋愛ソーシャルゲームとは

華やかで 甘いストーリー が楽しめる

http://ikemen.cybird.ne.jp/of/play.html

Page 8: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

アバターなどを 着せ替えて可愛く コーディネイトできる

恋愛ソーシャルゲームとは

http://ikemen.cybird.ne.jp/of/play.html

Page 9: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

恋愛ソーシャルゲームとは

http://ikemen.cybird.ne.jp/of/message.html

私達が皆様にお約束すること

Page 10: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

リリース一覧

Page 11: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在提供している恋愛ソーシャルゲーム

イケメン大奥 恋の園

イケメン恋戦 平清盛

100日間のプリンセス もうひとつのイケメン王宮

イケメン王宮 真夜中のシンデレラ

新章イケメン大奥 禁じられた恋

イケメン幕末 運命の恋

ラブセン ~V6とヒミツの恋~

美男宮殿 月下灰姑娘

美男大奧 江戶奇緣

イケメン夜曲 ロミオと秘密のジュリエット

한밤중의 신데렐라

Page 12: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在提供している恋愛ソーシャルゲーム

GREE Mobage Ameba

AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

GREE Ameba

AppStore GooglePlay

Ameba

AppStore GooglePlay

Ameba

AppStore GooglePlay

AppStore GooglePlayAmeba

AppStore GooglePlayAppStore GooglePlay AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

dゲーム

Page 13: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在提供している恋愛ソーシャルゲーム

GREE Mobage Ameba

AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

GREE Ameba

AppStore GooglePlay

Ameba

AppStore GooglePlay

Ameba

AppStore GooglePlay

AppStore GooglePlayAmeba

AppStore GooglePlayAppStore GooglePlay AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

dゲーム

全40サイト

Page 14: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

特徴

Page 15: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

朝と夜にアクセス上昇

月1回の大きなイベント

弊社恋愛ソーシャルゲームの特徴

Page 16: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

朝と夜にアクセス上昇

弊社恋愛ソーシャルゲームの特徴

通勤通学時間帯・日付変更時に集中

http://gamebiz.jp/?p=127080

1日のアクセス数の変化

朝 夜

Page 17: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

月1回の大きなイベント

弊社恋愛ソーシャルゲームの特徴

通常の約5倍のアクセスイベント開始時のアクセス数の変化

Page 18: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

月1回の大きなイベント

弊社恋愛ソーシャルゲームの特徴

アバターの付与

華やかにドレスアップ♪

「100日間のプリンセス◆もうひとつのイケメン王宮」より

Page 19: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

月1回の大きなイベント

弊社恋愛ソーシャルゲームの特徴

アバターの付与

華やかにドレスアップ♪

「100日間のプリンセス◆もうひとつのイケメン王宮」より

アバター合成でサーバ負荷

Page 20: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

システム要件

Page 21: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

弊社恋愛ソーシャルゲームのシステム要件

Web LoadBarancer

Webサーバ アバター合成サーバ

Server Server Server

Image LoadBarancer

Server Server Server

Page 22: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

1:サービスの特徴とシステム

~前半~

2:AWSの導入に向けて

3:AWSを利用して発生した問題

Agenda

Page 23: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AWSを使うまでの苦労

Page 24: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

イベント前のサーバ追加

手動でサーバ追加

サーバの追加に時間がかかる

AWSを使うまでの苦労

Page 25: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

コンテンツ数が多い

イベント前のサーバ追加

LB LBLB LBLB LBLB LBLB LBLB LBLB LB

AWSを使うまでの苦労

Page 26: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

事前追加や障害対応

アラートメール

状況確認

サーバ追加

手動でサーバ追加

AWSを使うまでの苦労

Page 27: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

30分~2時間程度

サーバの追加に時間がかかる

サーバ追加 ステータスが変わらない

AWSを使うまでの苦労

Page 28: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

機会損失 運用コスト

運用上の課題

AWSを使うまでの苦労

Page 29: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScale

URL

Page 30: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleとは

サーバの負荷に合わせて

自動でサーバを追加/削除する機能

サーバ負荷 スケジュール

Page 31: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用するには

Page 32: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

サーバ構築の自動化

スケールイン時のデータの扱い

AutoScaleを利用するには

Page 33: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

増えるだけでなく減ることも考慮

ログファイル

セッションデータ

画像ファイル

AutoScaleを利用するには

Page 34: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

サーバ構築の自動化

スケールイン時のデータの扱い

AutoScaleを利用するには

Page 35: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AMI

画像ファイル Apacheの設定

ミドルウェアのインストール

AMIで実現可能・・・だが

サーバ構築の自動化

Page 36: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在提供している恋愛ソーシャルゲーム

GREE Mobage Ameba

AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

GREE Ameba

AppStore GooglePlay

Ameba

AppStore GooglePlay

Ameba

AppStore GooglePlay

AppStore GooglePlayAmeba

AppStore GooglePlayAppStore GooglePlay AppStore GooglePlay

GREE Mobage Ameba

AppStore GooglePlay

dゲーム

設定が異なる複数のAMIが必要

Page 37: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

http://www.techtonet.com/jenkins-continuous-integration/

Page 38: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

サーバ構築の自動化を目指して

手動によるミスを無くすことが出来る

サーバごとに設定値を変更出来る

繰り返し作業を自動化出来る

Chef導入理由

Page 39: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

NTPのインストール ユーザディレクトリの設定 yum: epelレポジトリ追加 yum: remiレポジトリ追加 yum: tdレポジトリ追加 yumのキャッシュをクリア swap領域の設定 SELinuxの設定 ユーザの作成 sudo権限の設定 ファイアウォールの設定 【AWS】CLIのインストール 【AWS】S3コマンドのインストール コンパイル系パッケージインストール mail,sarコマンドなどのインストール gitのインストール 社内gitレポジトリへのアクセス設定 SWFEditorのインストール Imagickのインストール

PHPのインストール PHPパッケージのインストール MySQLクライアントのインストール Fluentdクライアントインストール Apache:インストール ZABBIX: agentインストール Chef:knifeコマンドの設定 起動スクリプトの配置 起動スクリプトのデーモン化 ホストの設定 【AWS】ディスクパーティションの設定 Apache : virtualhostsの設定 Apache : 起動 ZABBIX: agent起動 Fluentd : td-agent: 起動

全34項目

サーバ構築の自動化を目指して ~Chefで設定したこと~

Page 40: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

NTPのインストール ユーザディレクトリの設定 yum: epelレポジトリ追加 yum: remiレポジトリ追加 yum: tdレポジトリ追加 yumのキャッシュをクリア swap領域の設定 SELinuxの設定 ユーザの作成 sudo権限の設定 ファイアウォールの設定 【AWS】CLIのインストール 【AWS】S3コマンドのインストール コンパイル系パッケージインストール mail,sarコマンドなどのインストール gitのインストール 社内gitレポジトリへのアクセス設定 SWFEditorのインストール Imagickのインストール

全34項目

サーバ構築の自動化を目指して ~Chefで設定したこと~PHPのインストール PHPパッケージのインストール MySQLクライアントのインストール Fluentdクライアントインストール Apache:インストール ZABBIX: agentインストール Chef:knifeコマンドの設定 起動スクリプトの配置 起動スクリプトのデーモン化 ホストの設定 【AWS】ディスクパーティションの設定 Apache : virtualhostsの設定 Apache : 起動 ZABBIX: agent起動 Fluentd : td-agent: 起動

約20分

Page 41: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

NTPユーザディレクトリの設定yum: yum: remiyum: tdyumswapSELinuxユーザの作成sudoファイアウォールの設定【【コンパイル系パッケージインストールmail,sargit社内SWFEditorImagick

全34項目

サーバ構築の自動化を目指して ~Chefで設定したこと~PHPPHPMySQLFluentdApache:ZABBIX: agentChef:knife起動スクリプトの配置起動スクリプトのデーモン化ホストの設定【Apache : Apache ZABBIX: agentFluentd : td-agent

サーバ構築をスピードよく

約20分

Page 42: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

イケメン幕末 運命の恋

イケメン夜曲 ロミオと秘密のジュリエット

共通の部分はAMIの中で定義

サーバ構築の自動化を目指して ~Chefで設定したこと~

イケメン夜曲用AMI イケメン幕末用AMI

Page 43: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

設定の違いのみをChefで実行

サーバ構築の自動化を目指して ~Chefで設定したこと~

イケメン幕末 運命の恋

イケメン夜曲 ロミオと秘密のジュリエット

GREE

イケメン夜曲用AMI

GooglePlay

イケメン幕末用AMI

AppStoreMobage GooglePlayAppStoreAmeba

Page 44: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

NTPのインストール ユーザディレクトリの設定 yum: epelレポジトリ追加 yum: remiレポジトリ追加 yum: tdレポジトリ追加 yumのキャッシュをクリア swap領域の設定 SELinuxの設定 ユーザの作成 sudo権限の設定 ファイアウォールの設定 【AWS】CLIのインストール 【AWS】S3コマンドのインストール コンパイル系パッケージインストール mail,sarコマンドなどのインストール gitのインストール 社内gitレポジトリへのアクセス設定 SWFEditorのインストール Imagickのインストール

PHPのインストール PHPパッケージのインストール MySQLクライアントのインストール Fluentdクライアントインストール Apache:インストール ZABBIX: agentインストール Chef:knifeコマンドの設定 起動スクリプトの配置 起動スクリプトのデーモン化 ホストの設定 【AWS】ディスクパーティションの設定 Apache : virtualhostsの設定 Apache : 起動 ZABBIX: agent起動 Fluentd : td-agent: 起動

サーバ構築の自動化を目指して ~Chefで設定したこと~

共通28項目

全34項目

Page 45: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

NTPのインストール ユーザディレクトリの設定 yum: epelレポジトリ追加 yum: remiレポジトリ追加 yum: tdレポジトリ追加 yumのキャッシュをクリア swap領域の設定 SELinuxの設定 ユーザの作成 sudo権限の設定 ファイアウォールの設定 【AWS】CLIのインストール 【AWS】S3コマンドのインストール コンパイル系パッケージインストール mail,sarコマンドなどのインストール gitのインストール 社内gitレポジトリへのアクセス設定 SWFEditorのインストール Imagickのインストール

PHPのインストール PHPパッケージのインストール MySQLクライアントのインストール Fluentdクライアントインストール Apache:インストール ZABBIX: agentインストール Chef:knifeコマンドの設定 起動スクリプトの配置 起動スクリプトのデーモン化 ホストの設定 【AWS】ディスクパーティションの設定 Apache : virtualhostsの設定 Apache : 起動 ZABBIX: agent起動 Fluentd : td-agent: 起動

全34項目

サーバ構築の自動化を目指して ~Chefで設定したこと~

設定6項目

約5分

+ デプロイ

Page 46: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

Chef × AWS

サーバ構築の自動化を目指して ~Chefの実行~

Page 47: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScale構成図

Page 48: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

各ゾーンに均等にインスタンスを配置

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

Page 49: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンドインスタンス Auto Scaling Groupオンデマンド

EC2オンデマンド

EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

Page 50: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

CloudWatchでサーバ監視CloudWatch

Page 51: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

CloudWatchでサーバ監視CloudWatch

アラートを検知Alarm

Page 52: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

CloudWatchでサーバ監視CloudWatch

Alarm

AMIから起動

AMI

Page 53: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

CloudWatchでサーバ監視CloudWatch

Alarm

Chefの実行

AMI

Page 54: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

CloudWatchでサーバ監視CloudWatch

Alarm

2台ずつ追加

AMI

EC2 Instance

EC2 Instance

Page 55: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleによる運用が順調にスタートAutoScaleを利用した構成図

CPUロードアベレージ

Page 56: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

1:サービスの特徴とシステム

~前半~

2:AWSを導入に向けて

3:AWSを利用して発生した問題

Agenda

Page 57: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AWSを使ってみて

利便性

オンデマンドの価格

機能とサポート

Page 58: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

価格・・・高い問題≈ç

Page 59: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

価格・・・やはり高い問題

リザーブドインスタンス検討

Page 60: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

リザーブドインスタンスとは

予約金を一括で支払うことで、 期間内の時間あたりの料金が安くなる

インスタンス性能の変更に制約がある

年単位での支払い

~特徴~

Page 61: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

リザーブドインスタンスとは

予約金を一括で支払うことで、 期間内の時間あたりの料金が安くなる

インスタンス性能の変更に制約がある

年単位での支払い

~特徴~性能決めつけはリスク

Page 62: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

価格・・・やはり高い問題

スポットインスタンス検討

Page 63: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットインスタンスとは

需要と共有のバランスによって

サーバの価格が決まる入札制度

必要なときに短時間だけ利用

約5分の1の価格~特徴~

Page 64: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

Instance Type

Availability zone

それぞれ価格が違う

スポットインスタンスとは

Page 65: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットインスタンスの特徴

2:サーバ価格より入札額が低いと

1:価格が変動

・サーバが落ちる

・サーバが起動しない

Page 66: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

1:価格が変動

需要と供給のバランスで価格が変動

Page 67: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

2:サーバ価格より入札額が低いと落ちる

入札額 現在のサーバ価格<=

サーバが落ちる

※自動でサーバが落ちた場合、1時間未満の使用料については課金されない

既にサーバを利用中の場合

Page 68: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

2:サーバ価格より入札額が低いと起動しない

入札額 現在のサーバ価格<=

これからサーバを利用する場合

サーバが起動しない

Page 69: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットインスタンスの特徴

2:サーバ価格より入札額が低いと

1:価格が変動

・サーバが落ちる

本番での運用はリスク

Page 70: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットインスタンスの問題点

価格高くなる

サーバ落ちる サーバ起動しない

本番運用での課題

Page 71: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

価格情報を監視

CYBIRDが考えたスポットの解決策1

ō

Page 72: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

解決策1:価格情報を監視

価格変動の状況を把握する

入札価格の決定

Page 73: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

解決策1:価格情報を監視

http://www.zabbix.com/jp/img/logo/zabbix_logo_500x131.png

Page 74: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

価格情報を監視・記録

解決策1:価格情報を監視

Page 75: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットとAutoScale

CYBIRDが考えたスポットの解決策2

ō

Page 76: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

入札価格の変更はConfigの変更だけで可能

解決策2:AutoScaleの利用

AutoScaleの利点

設定されたインスタンス起動数を担保する仕組み

Page 77: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

解決策2:AutoScaleの利用

AutoScalingGroup・インスタンス起動数・LaunchConfigの指定

LaunchConfig・インスタンスタイプ・スポットインスタンス入札額

Page 78: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

入札価格の変更はConfigの変更だけで可能

解決策2:インスタンス起動数を担保する仕組み

AutoScaleの利点

設定されたインスタンス起動数を担保する仕組み

Page 79: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScalingGroup・インスタンス起動数・LaunchConfigの指定

LaunchConfig・インスタンスタイプ・スポットインスタンス入札額

解決策2:インスタンス起動数を担保する仕組み

Page 80: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

解決策2:インスタンス起動数を担保する仕組み

オンデマンド インスタンス すぐにサーバ起動

スポットインスタンス 入札価格足りている 入札後サーバ起動

スポットインスタンス 入札価格足りていない 入札待ちが続く

設定したサーバの起動数に足りていない時

Page 81: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

解決策2:インスタンス起動数を担保する仕組み

オンデマンド インスタンス すぐにサーバ起動

スポットインスタンス 入札価格足りている 入札後サーバ起動

スポットインスタンス 入札価格足りていない 入札待ちが続く

設定したサーバの起動数に足りていない時

Page 82: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

入札価格の変更はConfigの変更だけで可能

AutoScaleの利点

設定されたインスタンス起動数を担保する仕組み

解決策2:AutoScaleの利用

Page 83: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

解決策2:AutoScaleの利用

AutoScalingGroup・インスタンス起動数・LaunchConfigの指定

LaunchConfig・インスタンスタイプ・スポットインスタンス入札額

Page 84: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScalingGroupの設定

解決策2:AutoScaleの利用

LaunchConfigA

$2.0入札m3.2xlarge

AutoScalingGroup

2台起動

LaunchConfigA

Page 85: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScalingGroupの設定

解決策2:AutoScaleの利用

LaunchConfigAの入札額では入札価格が足りない

ずっと入札を待ち続ける

AutoScalingGroup

2台起動

LaunchConfigA

入札待ちConfigA

LaunchConfigA

$2.0入札m3.2xlarge

m3.2xlargeの価格 = $3.0

Page 86: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScalingGroupの設定

解決策2:AutoScaleの利用

LaunchConfigA

$2.0入札m3.2xlargeLaunchConfigB

$3.0入札c3.2xlarge

AutoScalingGroup

2台起動

LaunchConfigB

サーバが起動できるLaunchConfigBに切り替える

新規で入札が入る入札中止ConfigA

新規入札ConfigB

c3.2xlargeの価格 = $0.8

Page 87: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScalingGroupの設定

解決策2:AutoScaleの利用

LaunchConfigA

$2.0入札m3.2xlargeLaunchConfigB

$3.0入札c3.2xlarge

AutoScalingGroup

2台起動

LaunchConfigB

サーバが起動できるLaunchConfigBに切り替える

新規で入札が入る入札中止ConfigA

新規入札ConfigB

c3.2xlargeの価格 = $0.8無事にサーバ起動

Page 88: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

構成図

CYBIRDが考えたスポットインスタンス運用

ō

Page 89: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

Page 90: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AutoScaleを利用した構成図

ゾーンA ゾーンB

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

オンデマンド EC2

Elastic Load Balancing

スポットインスタンス AutoScalingGroup

スポット EC2

スポット EC2

Page 91: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

オンデマンドインスタンススポットインスタンス

価格・・・高い問題

オンデマンドとスポットの利用比率

1ヶ月の使用時間の比率

Page 92: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

オンデマンドインスタンススポットインスタンス

オンデマンドとスポットの利用比率

1ヶ月の使用時間の比率

3~4割のコスト削減

価格・・・高い問題

Page 93: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

オンデマンドインスタンススポットインスタンス

オンデマンドとスポットの利用比率

1ヶ月の使用時間の比率

3~4割のコスト削減

価格・・・高い問題

Page 94: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットの利用者が増えた≈ç

Page 95: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

2013年8月からスポットを利用

スポットの利用者が増えた問題

Page 96: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

価格変動はほとんど無かった

スポットの利用者が増えた問題

Page 97: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

価格変動が激しい

スポットの利用者が増えた問題

Page 98: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

利用者が増えたことで起きた問題

スポットの利用者が増えた問題

Page 99: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

朝と夜にアクセス上昇

月1回の大きなイベント

再掲

スポットの利用者が増えた問題

Page 100: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

通常時のサーバの例

オンデマンド

WebServer

スポットの利用者が増えた問題

スポット

Page 101: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

イベントに備えサーバ追加

オンデマンド オンデマンド

WebServer

スポット スポット

オンデマンド オンデマンド

スポット スポット

スポットの利用者が増えた問題

Page 102: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットインスタンスの価格上昇

スポットの利用者が増えた問題

Page 103: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

スポットの利用者が増えた問題

スポットインスタンスの価格上昇

自分たちで価格吊り上げる

Page 104: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在取り組んでいること

Page 105: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在取り組んでいること

スポットインスタンスConfig切り替え自動化

Page 106: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

今出来ていること

現在取り組んでいること

スポットの!価格状況が把握

AutoScaleの!容易な設定変更

Page 107: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

やりたいこと

AutoScaleの!容易な設定変更

現在取り組んでいること

スポットの!価格状況が把握

自動化

Page 108: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在取り組んでいること

1:価格変動のアラートの閾値を設定

2:最適なインスタンス・入札額の選定

3:AutoScalingGroupに適用

Page 109: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

現在取り組んでいること

1:価格変動のアラートの閾値を設定

安定稼働とコスト最適化を目指す

3:

Page 110: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

AWSのAutoScale

運用コスト削減

様々なツールと組み合わせることで!ニーズに合ったソリューションを構築

AutoScale スポットインスタンス

Page 111: AutoScale×ゲーム ~運用効率化への取り組み~

Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.

ここからは!より技術的なお話