SlideShare a Scribd company logo
1 of 111
Download to read offline
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
ゲーム事業本部 恋愛ゲームチーム 藤原 涼!
ゲームインフラチーム 本田 恭!
2014年07月18日
AutoScale × ゲーム
∼運用効率化への取り組み∼
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
運用効率化に向けたAWS導入背景から運用のお話
AWSをさらに活用するための技術的なお話
∼後半∼
∼前半∼
Agenda
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
1:サービスの特徴とシステム
2:AWSの導入に向けて
3:AWSを利用して発生した問題
Agenda
∼前半∼
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
自己紹介
藤原 涼 (ふじわらりょう)
- 2012年新卒入社 (3年目)
- Twitter @megadreams14
AWSを使い始めた日
- 2013年6月17日(月)
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
女性向け
「恋愛ソーシャルゲーム」
における導入事例
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
恋愛ソーシャルゲームとは
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
恋愛ソーシャルゲームとは
華やかで
甘いストーリー
が楽しめる
http://ikemen.cybird.ne.jp/of/play.html
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
アバターなどを
着せ替えて可愛く
コーディネイトできる
恋愛ソーシャルゲームとは
http://ikemen.cybird.ne.jp/of/play.html
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
恋愛ソーシャルゲームとは
http://ikemen.cybird.ne.jp/of/message.html
私達が皆様にお約束すること
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
リリース一覧
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
現在提供している恋愛ソーシャルゲーム
イケメン大奥
恋の園
イケメン恋戦
平清盛
100日間のプリンセス
もうひとつのイケメン王宮
イケメン王宮
真夜中のシンデレラ
新章イケメン大奥
禁じられた恋
イケメン幕末
運命の恋
ラブセン
∼V6とヒミツの恋∼
美男宮殿
月下灰姑娘
美男大奧
江戶奇緣
イケメン夜曲
ロミオと秘密のジュリエット
한밤중의 신데렐라
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 GooglePlay
Ameba
AppStore GooglePlay
AppStore GooglePlay AppStore GooglePlay
GREE Mobage Ameba
AppStore GooglePlay
dゲーム
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 GooglePlay
Ameba
AppStore GooglePlay
AppStore GooglePlay AppStore GooglePlay
GREE Mobage Ameba
AppStore GooglePlay
dゲーム
全40サイト
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
特徴
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
朝と夜にアクセス上昇
月1回の大きなイベント
弊社恋愛ソーシャルゲームの特徴
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
朝と夜にアクセス上昇
弊社恋愛ソーシャルゲームの特徴
通勤通学時間帯・日付変更時に集中
http://gamebiz.jp/?p=127080
1日のアクセス数の変化
朝 夜
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
月1回の大きなイベント
弊社恋愛ソーシャルゲームの特徴
通常の約5倍のアクセス
イベント開始時のアクセス数の変化
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
月1回の大きなイベント
弊社恋愛ソーシャルゲームの特徴
アバターの付与
華やかにドレスアップ♪
「100日間のプリンセス◆もうひとつのイケメン王宮」より
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
月1回の大きなイベント
弊社恋愛ソーシャルゲームの特徴
アバターの付与
華やかにドレスアップ♪
「100日間のプリンセス◆もうひとつのイケメン王宮」より
アバター合成でサーバ負荷
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
システム要件
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
弊社恋愛ソーシャルゲームのシステム要件
Web LoadBarancer
Webサーバ アバター合成サーバ
Server Server Server
Image LoadBarancer
Server Server Server
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
1:サービスの特徴とシステム
∼前半∼
2:AWSの導入に向けて
3:AWSを利用して発生した問題
Agenda
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AWSを使うまでの苦労
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
イベント前のサーバ追加
手動でサーバ追加
サーバの追加に時間がかかる
AWSを使うまでの苦労
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
コンテンツ数が多い
イベント前のサーバ追加
LB LB
LB LB
LB LB
LB LB
LB LB
LB LB
LB LB
AWSを使うまでの苦労
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
事前追加や障害対応
アラートメール
状況確認
サーバ追加
手動でサーバ追加
AWSを使うまでの苦労
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
30分∼2時間程度
サーバの追加に時間がかかる
サーバ追加 ステータスが変わらない
AWSを使うまでの苦労
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
機会損失 運用コスト
運用上の課題
AWSを使うまでの苦労
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScale
URL
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleとは
サーバの負荷に合わせて
自動でサーバを追加/削除する機能
サーバ負荷 スケジュール
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用するには
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
サーバ構築の自動化
スケールイン時のデータの扱い
AutoScaleを利用するには
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
増えるだけでなく減ることも考慮
ログファイル
セッションデータ
画像ファイル
AutoScaleを利用するには
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
サーバ構築の自動化
スケールイン時のデータの扱い
AutoScaleを利用するには
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AMI
画像ファイル Apacheの設定
ミドルウェアのインストール
AMIで実現可能・・・だが
サーバ構築の自動化
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 GooglePlay
Ameba
AppStore GooglePlay
AppStore GooglePlay AppStore GooglePlay
GREE Mobage Ameba
AppStore GooglePlay
dゲーム
設定が異なる複数のAMIが必要
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
http://www.techtonet.com/jenkins-continuous-integration/
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
サーバ構築の自動化を目指して
手動によるミスを無くすことが出来る
サーバごとに設定値を変更出来る
繰り返し作業を自動化出来る
Chef導入理由
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で設定したこと∼
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分
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
NTP
ユーザディレクトリの設定
yum:
yum: remi
yum: td
yum
swap
SELinux
ユーザの作成
sudo
ファイアウォールの設定
【
【
コンパイル系パッケージインストール
mail,sar
git
社内
SWFEditor
Imagick
全34項目
サーバ構築の自動化を目指して ∼Chefで設定したこと∼
PHP
PHP
MySQL
Fluentd
Apache:
ZABBIX: agent
Chef:knife
起動スクリプトの配置
起動スクリプトのデーモン化
ホストの設定
【
Apache :
Apache
ZABBIX: agent
Fluentd : td-agent
サーバ構築をスピードよく
約20分
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
イケメン幕末
運命の恋
イケメン夜曲
ロミオと秘密のジュリエット
共通の部分はAMIの中で定義
サーバ構築の自動化を目指して ∼Chefで設定したこと∼
イケメン夜曲用AMI イケメン幕末用AMI
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
設定の違いのみをChefで実行
サーバ構築の自動化を目指して ∼Chefで設定したこと∼
イケメン幕末
運命の恋
イケメン夜曲
ロミオと秘密のジュリエット
GREE
イケメン夜曲用AMI
GooglePlay
イケメン幕末用AMI
AppStoreMobage GooglePlayAppStoreAmeba
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項目
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分
+ デプロイ
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
Chef × AWS
サーバ構築の自動化を目指して ∼Chefの実行∼
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScale構成図
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
各ゾーンに均等にインスタンスを配置
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
オンデマンドインスタンス
Auto Scaling Groupオンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
CloudWatchでサーバ監視
CloudWatch
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
CloudWatchでサーバ監視
CloudWatch
アラートを検知
Alarm
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
CloudWatchでサーバ監視
CloudWatch
Alarm
AMIから起動
AMI
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
CloudWatchでサーバ監視
CloudWatch
Alarm
Chefの実行
AMI
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
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleによる運用が順調にスタート
AutoScaleを利用した構成図
CPUロードアベレージ
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
1:サービスの特徴とシステム
∼前半∼
2:AWSを導入に向けて
3:AWSを利用して発生した問題
Agenda
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AWSを使ってみて
利便性
オンデマンドの価格
機能とサポート
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
価格・・・高い問題
ç
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
価格・・・やはり高い問題
リザーブドインスタンス検討
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
リザーブドインスタンスとは
予約金を一括で支払うことで、
期間内の時間あたりの料金が安くなる
インスタンス性能の変更に制約がある
年単位での支払い
∼特徴∼
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
リザーブドインスタンスとは
予約金を一括で支払うことで、
期間内の時間あたりの料金が安くなる
インスタンス性能の変更に制約がある
年単位での支払い
∼特徴∼
性能決めつけはリスク
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
価格・・・やはり高い問題
スポットインスタンス検討
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットインスタンスとは
需要と共有のバランスによって
サーバの価格が決まる入札制度
必要なときに短時間だけ利用
約5分の1の価格
∼特徴∼
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
Instance Type
Availability zone
それぞれ価格が違う
スポットインスタンスとは
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットインスタンスの特徴
2:サーバ価格より入札額が低いと
1:価格が変動
・サーバが落ちる
・サーバが起動しない
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
1:価格が変動
需要と供給のバランスで価格が変動
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
2:サーバ価格より入札額が低いと落ちる
入札額 現在のサーバ価格<=
サーバが落ちる
※自動でサーバが落ちた場合、1時間未満の使用料については課金されない
既にサーバを利用中の場合
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
2:サーバ価格より入札額が低いと起動しない
入札額 現在のサーバ価格<=
これからサーバを利用する場合
サーバが起動しない
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットインスタンスの特徴
2:サーバ価格より入札額が低いと
1:価格が変動
・サーバが落ちる
・
本番での運用はリスク
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットインスタンスの問題点
価格高くなる
サーバ落ちる サーバ起動しない
本番運用での課題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
価格情報を監視
CYBIRDが考えたスポットの解決策1
ç
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
解決策1:価格情報を監視
価格変動の状況を把握する
入札価格の決定
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
解決策1:価格情報を監視
http://www.zabbix.com/jp/img/logo/zabbix_logo_500x131.png
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
価格情報を監視・記録
解決策1:価格情報を監視
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットとAutoScale
CYBIRDが考えたスポットの解決策2
ç
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
入札価格の変更はConfigの変更だけで可能
解決策2:AutoScaleの利用
AutoScaleの利点
設定されたインスタンス起動数を担保する仕組み
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
解決策2:AutoScaleの利用
AutoScalingGroup
・インスタンス起動数
・LaunchConfigの指定
LaunchConfig
・インスタンスタイプ
・スポットインスタンス入札額
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
入札価格の変更はConfigの変更だけで可能
解決策2:インスタンス起動数を担保する仕組み
AutoScaleの利点
設定されたインスタンス起動数を担保する仕組み
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScalingGroup
・インスタンス起動数
・LaunchConfigの指定
LaunchConfig
・インスタンスタイプ
・スポットインスタンス入札額
解決策2:インスタンス起動数を担保する仕組み
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
解決策2:インスタンス起動数を担保する仕組み
オンデマンド
インスタンス
すぐにサーバ起動
スポットインスタンス
入札価格足りている
入札後サーバ起動
スポットインスタンス
入札価格足りていない
入札待ちが続く
設定したサーバの起動数に足りていない時
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
解決策2:インスタンス起動数を担保する仕組み
オンデマンド
インスタンス
すぐにサーバ起動
スポットインスタンス
入札価格足りている
入札後サーバ起動
スポットインスタンス
入札価格足りていない
入札待ちが続く
設定したサーバの起動数に足りていない時
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
入札価格の変更はConfigの変更だけで可能
AutoScaleの利点
設定されたインスタンス起動数を担保する仕組み
解決策2:AutoScaleの利用
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
解決策2:AutoScaleの利用
AutoScalingGroup
・インスタンス起動数
・LaunchConfigの指定
LaunchConfig
・インスタンスタイプ
・スポットインスタンス入札額
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScalingGroupの設定
解決策2:AutoScaleの利用
LaunchConfigA
$2.0入札
m3.2xlarge
AutoScalingGroup
2台起動
LaunchConfigA
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
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
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
無事にサーバ起動
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
構成図
CYBIRDが考えたスポットインスタンス運用
ç
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AutoScaleを利用した構成図
ゾーンA ゾーンB
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
オンデマンド
EC2
Elastic Load
Balancing
スポットインスタンス
AutoScalingGroup
スポット
EC2
スポット
EC2
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
オンデマンドインスタンス
スポットインスタンス
価格・・・高い問題
オンデマンドとスポットの利用比率
1ヶ月の使用時間の比率
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
オンデマンドインスタンス
スポットインスタンス
オンデマンドとスポットの利用比率
1ヶ月の使用時間の比率
3∼4割のコスト削減
価格・・・高い問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
オンデマンドインスタンス
スポットインスタンス
オンデマンドとスポットの利用比率
1ヶ月の使用時間の比率
3∼4割のコスト削減
価格・・・高い問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットの利用者が増えた
ç
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
2013年8月からスポットを利用
スポットの利用者が増えた問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
価格変動はほとんど無かった
スポットの利用者が増えた問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
価格変動が激しい
スポットの利用者が増えた問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
利用者が増えたことで起きた問題
スポットの利用者が増えた問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
朝と夜にアクセス上昇
月1回の大きなイベント
再掲
スポットの利用者が増えた問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
通常時のサーバの例
オンデマンド
WebServer
スポットの利用者が増えた問題
スポット
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
イベントに備えサーバ追加
オンデマンド オンデマンド
WebServer
スポット スポット
オンデマンド オンデマンド
スポット スポット
スポットの利用者が増えた問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットインスタンスの価格上昇
スポットの利用者が増えた問題
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
スポットの利用者が増えた問題
スポットインスタンスの価格上昇
自分たちで価格吊り上げる
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
現在取り組んでいること
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
現在取り組んでいること
スポットインスタンスConfig切り替え自動化
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
今出来ていること
現在取り組んでいること
スポットの!
価格状況が把握
AutoScaleの!
容易な設定変更
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
やりたいこと
AutoScaleの!
容易な設定変更
現在取り組んでいること
スポットの!
価格状況が把握
自動化
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
現在取り組んでいること
1:価格変動のアラートの閾値を設定
2:最適なインスタンス・入札額の選定
3:AutoScalingGroupに適用
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
現在取り組んでいること
1:価格変動のアラートの閾値を設定
安定稼働とコスト最適化を目指す
3:
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
AWSのAutoScale
運用コスト削減
様々なツールと組み合わせることで!
ニーズに合ったソリューションを構築
AutoScale スポットインスタンス
Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved.
ここからは!
より技術的なお話

More Related Content

What's hot

Spot instance利用のすゝめ
Spot instance利用のすゝめSpot instance利用のすゝめ
Spot instance利用のすゝめ
Machie Atarashi
 
これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア
外道 父
 
ドリコムのInfrastructure as code
ドリコムのInfrastructure as codeドリコムのInfrastructure as code
ドリコムのInfrastructure as code
Yosuke Hiraishi
 
クラウドのなかみ
クラウドのなかみクラウドのなかみ
クラウドのなかみ
Satoshi Hirata
 

What's hot (20)

Spot instance利用のすゝめ
Spot instance利用のすゝめSpot instance利用のすゝめ
Spot instance利用のすゝめ
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
Aerospike 02 監視
Aerospike 02 監視Aerospike 02 監視
Aerospike 02 監視
 
これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
Aerospike xdr (Cross Datacenter Replication)
Aerospike xdr (Cross Datacenter Replication)Aerospike xdr (Cross Datacenter Replication)
Aerospike xdr (Cross Datacenter Replication)
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 
ドリコムのInfrastructure as code
ドリコムのInfrastructure as codeドリコムのInfrastructure as code
ドリコムのInfrastructure as code
 
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
 
July techfesta2014 f30
July techfesta2014 f30July techfesta2014 f30
July techfesta2014 f30
 
コンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのか
 
【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会【基礎編】社内向けMySQL勉強会
【基礎編】社内向けMySQL勉強会
 
20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe
 
クラウドのなかみ
クラウドのなかみクラウドのなかみ
クラウドのなかみ
 
マンガボックスのiOS10プッシュ通知導入事例
マンガボックスのiOS10プッシュ通知導入事例マンガボックスのiOS10プッシュ通知導入事例
マンガボックスのiOS10プッシュ通知導入事例
 
【さくらのクラウド】クラウドマスター認定試験終了者向け講習と、上級者への道(Terraform)
【さくらのクラウド】クラウドマスター認定試験終了者向け講習と、上級者への道(Terraform)【さくらのクラウド】クラウドマスター認定試験終了者向け講習と、上級者への道(Terraform)
【さくらのクラウド】クラウドマスター認定試験終了者向け講習と、上級者への道(Terraform)
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
【AWS共催】"Hosted Rancher on AWS" オンラインミートアップ
【AWS共催】"Hosted Rancher on AWS" オンラインミートアップ【AWS共催】"Hosted Rancher on AWS" オンラインミートアップ
【AWS共催】"Hosted Rancher on AWS" オンラインミートアップ
 

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

#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
Abe Junichiro
 

Similar to AutoScale×ゲーム ~運用効率化への取り組み~ (20)

[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI [網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI
 
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
WindowsシステムのAWS移行とMulti-AZ化 - JAWS DAYS 2015 WindowsシステムのAWS移行とMulti-AZ化 - JAWS DAYS 2015
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
 
20150226_JAWS_UG札幌
20150226_JAWS_UG札幌20150226_JAWS_UG札幌
20150226_JAWS_UG札幌
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
 
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
AWS re:invent振り返りServerlessでサーバコスト以外もいろいろ削減
 
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう![沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
SoftLayerを使ってみよう
SoftLayerを使ってみようSoftLayerを使ってみよう
SoftLayerを使ってみよう
 
簡単!お手軽!!RDSでDR環境構築 - JAWS DAYS 2015
簡単!お手軽!!RDSでDR環境構築 - JAWS DAYS 2015簡単!お手軽!!RDSでDR環境構築 - JAWS DAYS 2015
簡単!お手軽!!RDSでDR環境構築 - JAWS DAYS 2015
 
AWSとは、AWS構築事例紹介
AWSとは、AWS構築事例紹介AWSとは、AWS構築事例紹介
AWSとは、AWS構築事例紹介
 
サーバーワークス re:invent_2016~新サービス・アップデート紹介~
サーバーワークス re:invent_2016~新サービス・アップデート紹介~サーバーワークス re:invent_2016~新サービス・アップデート紹介~
サーバーワークス re:invent_2016~新サービス・アップデート紹介~
 
AWSと網元でWordPressサーバ構築(公開用)
AWSと網元でWordPressサーバ構築(公開用)AWSと網元でWordPressサーバ構築(公開用)
AWSと網元でWordPressサーバ構築(公開用)
 
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
 
2013/12/05 Serverworks Seminar 小室分
2013/12/05 Serverworks Seminar 小室分2013/12/05 Serverworks Seminar 小室分
2013/12/05 Serverworks Seminar 小室分
 
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
(AWS DevOps祭り 2018) AWS Management Toolsサービスアプデートのご紹介
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard Cloud
 
Jaws-warrantee
Jaws-warranteeJaws-warrantee
Jaws-warrantee
 
Jcss 「はじめよう!クラウド」配布用
Jcss 「はじめよう!クラウド」配布用Jcss 「はじめよう!クラウド」配布用
Jcss 「はじめよう!クラウド」配布用
 

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

  • 1. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. ゲーム事業本部 恋愛ゲームチーム 藤原 涼! ゲームインフラチーム 本田 恭! 2014年07月18日 AutoScale × ゲーム ∼運用効率化への取り組み∼
  • 2. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 運用効率化に向けたAWS導入背景から運用のお話 AWSをさらに活用するための技術的なお話 ∼後半∼ ∼前半∼ Agenda
  • 3. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 1:サービスの特徴とシステム 2:AWSの導入に向けて 3:AWSを利用して発生した問題 Agenda ∼前半∼
  • 4. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 自己紹介 藤原 涼 (ふじわらりょう) - 2012年新卒入社 (3年目) - Twitter @megadreams14 AWSを使い始めた日 - 2013年6月17日(月)
  • 5. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 女性向け 「恋愛ソーシャルゲーム」 における導入事例
  • 6. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 恋愛ソーシャルゲームとは
  • 7. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 恋愛ソーシャルゲームとは 華やかで 甘いストーリー が楽しめる http://ikemen.cybird.ne.jp/of/play.html
  • 8. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. アバターなどを 着せ替えて可愛く コーディネイトできる 恋愛ソーシャルゲームとは http://ikemen.cybird.ne.jp/of/play.html
  • 9. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 恋愛ソーシャルゲームとは http://ikemen.cybird.ne.jp/of/message.html 私達が皆様にお約束すること
  • 10. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. リリース一覧
  • 11. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 現在提供している恋愛ソーシャルゲーム イケメン大奥 恋の園 イケメン恋戦 平清盛 100日間のプリンセス もうひとつのイケメン王宮 イケメン王宮 真夜中のシンデレラ 新章イケメン大奥 禁じられた恋 イケメン幕末 運命の恋 ラブセン ∼V6とヒミツの恋∼ 美男宮殿 月下灰姑娘 美男大奧 江戶奇緣 イケメン夜曲 ロミオと秘密のジュリエット 한밤중의 신데렐라
  • 12. 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 GooglePlay Ameba AppStore GooglePlay AppStore GooglePlay AppStore GooglePlay GREE Mobage Ameba AppStore GooglePlay dゲーム
  • 13. 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 GooglePlay Ameba AppStore GooglePlay AppStore GooglePlay AppStore GooglePlay GREE Mobage Ameba AppStore GooglePlay dゲーム 全40サイト
  • 14. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 特徴
  • 15. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 朝と夜にアクセス上昇 月1回の大きなイベント 弊社恋愛ソーシャルゲームの特徴
  • 16. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 朝と夜にアクセス上昇 弊社恋愛ソーシャルゲームの特徴 通勤通学時間帯・日付変更時に集中 http://gamebiz.jp/?p=127080 1日のアクセス数の変化 朝 夜
  • 17. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 月1回の大きなイベント 弊社恋愛ソーシャルゲームの特徴 通常の約5倍のアクセス イベント開始時のアクセス数の変化
  • 18. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 月1回の大きなイベント 弊社恋愛ソーシャルゲームの特徴 アバターの付与 華やかにドレスアップ♪ 「100日間のプリンセス◆もうひとつのイケメン王宮」より
  • 19. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 月1回の大きなイベント 弊社恋愛ソーシャルゲームの特徴 アバターの付与 華やかにドレスアップ♪ 「100日間のプリンセス◆もうひとつのイケメン王宮」より アバター合成でサーバ負荷
  • 20. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. システム要件
  • 21. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 弊社恋愛ソーシャルゲームのシステム要件 Web LoadBarancer Webサーバ アバター合成サーバ Server Server Server Image LoadBarancer Server Server Server
  • 22. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 1:サービスの特徴とシステム ∼前半∼ 2:AWSの導入に向けて 3:AWSを利用して発生した問題 Agenda
  • 23. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AWSを使うまでの苦労
  • 24. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. イベント前のサーバ追加 手動でサーバ追加 サーバの追加に時間がかかる AWSを使うまでの苦労
  • 25. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. コンテンツ数が多い イベント前のサーバ追加 LB LB LB LB LB LB LB LB LB LB LB LB LB LB AWSを使うまでの苦労
  • 26. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 事前追加や障害対応 アラートメール 状況確認 サーバ追加 手動でサーバ追加 AWSを使うまでの苦労
  • 27. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 30分∼2時間程度 サーバの追加に時間がかかる サーバ追加 ステータスが変わらない AWSを使うまでの苦労
  • 28. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 機会損失 運用コスト 運用上の課題 AWSを使うまでの苦労
  • 29. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScale URL
  • 30. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleとは サーバの負荷に合わせて 自動でサーバを追加/削除する機能 サーバ負荷 スケジュール
  • 31. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用するには
  • 32. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. サーバ構築の自動化 スケールイン時のデータの扱い AutoScaleを利用するには
  • 33. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 増えるだけでなく減ることも考慮 ログファイル セッションデータ 画像ファイル AutoScaleを利用するには
  • 34. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. サーバ構築の自動化 スケールイン時のデータの扱い AutoScaleを利用するには
  • 35. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AMI 画像ファイル Apacheの設定 ミドルウェアのインストール AMIで実現可能・・・だが サーバ構築の自動化
  • 36. 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 GooglePlay Ameba AppStore GooglePlay AppStore GooglePlay AppStore GooglePlay GREE Mobage Ameba AppStore GooglePlay dゲーム 設定が異なる複数のAMIが必要
  • 37. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. http://www.techtonet.com/jenkins-continuous-integration/
  • 38. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. サーバ構築の自動化を目指して 手動によるミスを無くすことが出来る サーバごとに設定値を変更出来る 繰り返し作業を自動化出来る Chef導入理由
  • 39. 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で設定したこと∼
  • 40. 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分
  • 41. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. NTP ユーザディレクトリの設定 yum: yum: remi yum: td yum swap SELinux ユーザの作成 sudo ファイアウォールの設定 【 【 コンパイル系パッケージインストール mail,sar git 社内 SWFEditor Imagick 全34項目 サーバ構築の自動化を目指して ∼Chefで設定したこと∼ PHP PHP MySQL Fluentd Apache: ZABBIX: agent Chef:knife 起動スクリプトの配置 起動スクリプトのデーモン化 ホストの設定 【 Apache : Apache ZABBIX: agent Fluentd : td-agent サーバ構築をスピードよく 約20分
  • 42. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. イケメン幕末 運命の恋 イケメン夜曲 ロミオと秘密のジュリエット 共通の部分はAMIの中で定義 サーバ構築の自動化を目指して ∼Chefで設定したこと∼ イケメン夜曲用AMI イケメン幕末用AMI
  • 43. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 設定の違いのみをChefで実行 サーバ構築の自動化を目指して ∼Chefで設定したこと∼ イケメン幕末 運命の恋 イケメン夜曲 ロミオと秘密のジュリエット GREE イケメン夜曲用AMI GooglePlay イケメン幕末用AMI AppStoreMobage GooglePlayAppStoreAmeba
  • 44. 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項目
  • 45. 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分 + デプロイ
  • 46. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. Chef × AWS サーバ構築の自動化を目指して ∼Chefの実行∼
  • 47. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScale構成図
  • 48. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB 各ゾーンに均等にインスタンスを配置 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing
  • 49. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB オンデマンドインスタンス Auto Scaling Groupオンデマンド EC2 オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing
  • 50. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing CloudWatchでサーバ監視 CloudWatch
  • 51. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing CloudWatchでサーバ監視 CloudWatch アラートを検知 Alarm
  • 52. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing CloudWatchでサーバ監視 CloudWatch Alarm AMIから起動 AMI
  • 53. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing CloudWatchでサーバ監視 CloudWatch Alarm Chefの実行 AMI
  • 54. 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
  • 55. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleによる運用が順調にスタート AutoScaleを利用した構成図 CPUロードアベレージ
  • 56. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 1:サービスの特徴とシステム ∼前半∼ 2:AWSを導入に向けて 3:AWSを利用して発生した問題 Agenda
  • 57. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AWSを使ってみて 利便性 オンデマンドの価格 機能とサポート
  • 58. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 価格・・・高い問題 ç
  • 59. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 価格・・・やはり高い問題 リザーブドインスタンス検討
  • 60. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. リザーブドインスタンスとは 予約金を一括で支払うことで、 期間内の時間あたりの料金が安くなる インスタンス性能の変更に制約がある 年単位での支払い ∼特徴∼
  • 61. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. リザーブドインスタンスとは 予約金を一括で支払うことで、 期間内の時間あたりの料金が安くなる インスタンス性能の変更に制約がある 年単位での支払い ∼特徴∼ 性能決めつけはリスク
  • 62. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 価格・・・やはり高い問題 スポットインスタンス検討
  • 63. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットインスタンスとは 需要と共有のバランスによって サーバの価格が決まる入札制度 必要なときに短時間だけ利用 約5分の1の価格 ∼特徴∼
  • 64. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. Instance Type Availability zone それぞれ価格が違う スポットインスタンスとは
  • 65. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットインスタンスの特徴 2:サーバ価格より入札額が低いと 1:価格が変動 ・サーバが落ちる ・サーバが起動しない
  • 66. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 1:価格が変動 需要と供給のバランスで価格が変動
  • 67. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 2:サーバ価格より入札額が低いと落ちる 入札額 現在のサーバ価格<= サーバが落ちる ※自動でサーバが落ちた場合、1時間未満の使用料については課金されない 既にサーバを利用中の場合
  • 68. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 2:サーバ価格より入札額が低いと起動しない 入札額 現在のサーバ価格<= これからサーバを利用する場合 サーバが起動しない
  • 69. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットインスタンスの特徴 2:サーバ価格より入札額が低いと 1:価格が変動 ・サーバが落ちる ・ 本番での運用はリスク
  • 70. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットインスタンスの問題点 価格高くなる サーバ落ちる サーバ起動しない 本番運用での課題
  • 71. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 価格情報を監視 CYBIRDが考えたスポットの解決策1 ç
  • 72. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 解決策1:価格情報を監視 価格変動の状況を把握する 入札価格の決定
  • 73. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 解決策1:価格情報を監視 http://www.zabbix.com/jp/img/logo/zabbix_logo_500x131.png
  • 74. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 価格情報を監視・記録 解決策1:価格情報を監視
  • 75. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットとAutoScale CYBIRDが考えたスポットの解決策2 ç
  • 76. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 入札価格の変更はConfigの変更だけで可能 解決策2:AutoScaleの利用 AutoScaleの利点 設定されたインスタンス起動数を担保する仕組み
  • 77. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 解決策2:AutoScaleの利用 AutoScalingGroup ・インスタンス起動数 ・LaunchConfigの指定 LaunchConfig ・インスタンスタイプ ・スポットインスタンス入札額
  • 78. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 入札価格の変更はConfigの変更だけで可能 解決策2:インスタンス起動数を担保する仕組み AutoScaleの利点 設定されたインスタンス起動数を担保する仕組み
  • 79. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScalingGroup ・インスタンス起動数 ・LaunchConfigの指定 LaunchConfig ・インスタンスタイプ ・スポットインスタンス入札額 解決策2:インスタンス起動数を担保する仕組み
  • 80. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 解決策2:インスタンス起動数を担保する仕組み オンデマンド インスタンス すぐにサーバ起動 スポットインスタンス 入札価格足りている 入札後サーバ起動 スポットインスタンス 入札価格足りていない 入札待ちが続く 設定したサーバの起動数に足りていない時
  • 81. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 解決策2:インスタンス起動数を担保する仕組み オンデマンド インスタンス すぐにサーバ起動 スポットインスタンス 入札価格足りている 入札後サーバ起動 スポットインスタンス 入札価格足りていない 入札待ちが続く 設定したサーバの起動数に足りていない時
  • 82. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 入札価格の変更はConfigの変更だけで可能 AutoScaleの利点 設定されたインスタンス起動数を担保する仕組み 解決策2:AutoScaleの利用
  • 83. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 解決策2:AutoScaleの利用 AutoScalingGroup ・インスタンス起動数 ・LaunchConfigの指定 LaunchConfig ・インスタンスタイプ ・スポットインスタンス入札額
  • 84. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScalingGroupの設定 解決策2:AutoScaleの利用 LaunchConfigA $2.0入札 m3.2xlarge AutoScalingGroup 2台起動 LaunchConfigA
  • 85. 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
  • 86. 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
  • 87. 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 無事にサーバ起動
  • 88. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 構成図 CYBIRDが考えたスポットインスタンス運用 ç
  • 89. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing
  • 90. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AutoScaleを利用した構成図 ゾーンA ゾーンB オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 オンデマンド EC2 Elastic Load Balancing スポットインスタンス AutoScalingGroup スポット EC2 スポット EC2
  • 91. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. オンデマンドインスタンス スポットインスタンス 価格・・・高い問題 オンデマンドとスポットの利用比率 1ヶ月の使用時間の比率
  • 92. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. オンデマンドインスタンス スポットインスタンス オンデマンドとスポットの利用比率 1ヶ月の使用時間の比率 3∼4割のコスト削減 価格・・・高い問題
  • 93. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. オンデマンドインスタンス スポットインスタンス オンデマンドとスポットの利用比率 1ヶ月の使用時間の比率 3∼4割のコスト削減 価格・・・高い問題
  • 94. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットの利用者が増えた ç
  • 95. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 2013年8月からスポットを利用 スポットの利用者が増えた問題
  • 96. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 価格変動はほとんど無かった スポットの利用者が増えた問題
  • 97. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 価格変動が激しい スポットの利用者が増えた問題
  • 98. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 利用者が増えたことで起きた問題 スポットの利用者が増えた問題
  • 99. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 朝と夜にアクセス上昇 月1回の大きなイベント 再掲 スポットの利用者が増えた問題
  • 100. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 通常時のサーバの例 オンデマンド WebServer スポットの利用者が増えた問題 スポット
  • 101. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. イベントに備えサーバ追加 オンデマンド オンデマンド WebServer スポット スポット オンデマンド オンデマンド スポット スポット スポットの利用者が増えた問題
  • 102. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットインスタンスの価格上昇 スポットの利用者が増えた問題
  • 103. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. スポットの利用者が増えた問題 スポットインスタンスの価格上昇 自分たちで価格吊り上げる
  • 104. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 現在取り組んでいること
  • 105. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 現在取り組んでいること スポットインスタンスConfig切り替え自動化
  • 106. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 今出来ていること 現在取り組んでいること スポットの! 価格状況が把握 AutoScaleの! 容易な設定変更
  • 107. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. やりたいこと AutoScaleの! 容易な設定変更 現在取り組んでいること スポットの! 価格状況が把握 自動化
  • 108. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 現在取り組んでいること 1:価格変動のアラートの閾値を設定 2:最適なインスタンス・入札額の選定 3:AutoScalingGroupに適用
  • 109. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. 現在取り組んでいること 1:価格変動のアラートの閾値を設定 安定稼働とコスト最適化を目指す 3:
  • 110. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. AWSのAutoScale 運用コスト削減 様々なツールと組み合わせることで! ニーズに合ったソリューションを構築 AutoScale スポットインスタンス
  • 111. Copyright 2014 CYBIRD Co., Ltd. All Rights Reserved. ここからは! より技術的なお話