20160925 jaws kyoto
Transcript of 20160925 jaws kyoto
CONCRETE5 を AWS で冗長化コンクリートファイブジャパン 岩本
concrete5 の方から来ました。
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 2
3
会社紹介■ コンクリートファイブジャパン株式会社– CMS concrete5 の導入– 運用支援– コンサルティング– テクニカルサポート– ヘルプデスクなど
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved.
4
自己紹介■ レンタルサーバー会社でサーバーエンジニア・プリセールスを経験の後に、大規模アパレル EC サイトの運営に携わりました。
現在は、サーバー・インフラの設計・構築・運用支援・コンサルティングを主に担当をしています。
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved.
5
わさびちゃん(♀)
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved.
絶対に落としてはいけないサイトがある!
冗長化
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 7
冗長化とは?■ システムの一部に何らかの障害が発生した場合に備え、障害発生後でもシステム全体の機能を維持し続けられるように、予備装置を平常時からバックアップとして配置し運用しておくこと。
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 8
システムのバックアップ
■ コールドスタンバイ■ ホットスタンバイ
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 9
今日は「ホットスタンバイ」の話をします。
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 10
ホットスタンバイ
■ シングルポイント(単一障害点)を無くす事
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 11
冗長化(ホットスタンバイ)を考える
■ インフラレイヤ■ アプリケーションレイヤ
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 12
インフラレイヤ■ インフラレイヤでの冗長化(一般的な CMS 、 WEB-DB 構成の場合)– WEB サーバーの冗長化– DB サーバーの冗長化
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 13
アプリケーションレイヤ■ アプリケーションレイヤでの冗長化(一般的な CMS の場合)– ブラウザのセッション– ファイルの共有化– データの共有化
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 14
アプリケーションを考慮した AWS 構成■ WEB サーバー( EC2 )■ DB サーバー( RDS )■ 共用ストレージ( AmazonS3 )■ セッションの共有( Elasticache )
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 15
concrete5 + AWS
■ アップロードファイルの共有■ データの共有■ ブラウザのセッションの共有■ キャッシュの共有
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 16
構成図
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 17
アップロードファイルの共有■ Storage for Amazon S3 アドオン
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 18
データの共有
■ concrete5 のデータ保存先に RDS を指定
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 19
セッション・キャッシュの共有■ https://github.com/hissy/scaling-concrete5
return array( // Change session handler to memcache 'session' => array( 'handler' => 'memcached', 'memcached' => array( 'servers' => array( array( 'host' => 'example.domain.of.memcache.cache.amazonaws.com', 'port' => '11211', ), ), ), ), // Change full page caching adapter to memcache 'cache' => array( 'overrides' => false, 'page' => array( 'adapter' => 'memcached', 'memcached' => array( 'servers' => array( array( 'host' => 'example.domain.of.memcache.cache.amazonaws.com', 'port' => '11211', ), ), ), ), ),); Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 20
別のアプローチ
■NFS による共有
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 21
ベンチマーク■ キャッシュ– LocalFile– Memcahed ( Elasticache )– NFS
■ ファイル– LocalFile– Amazon S3– NFS
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 22
キャッシュ
1 2 3 AVG
45.2
6 50.7
2
53.2
9
49.7
6
45.0
0
46.7
4
42.5
2
44.7
5 51.6
6
49.8
2
52.5
6
51.3
5
Localfile Memcahed NFS
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 23
ファイル
1 2 3 AVG
9.64
11.5
8
10.9
6
10.7
3
9.95
11.1
6
10.8
4
10.6
5
10.3
3
10.0
6 10.9
7
10.4
5
Localfile S3 NFS
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 24
NFS についての考察■ NFS のマネージドサービス EFS
■ EFS と S3 の価格差– EFS : $0.30/GB- 月– S3 : $0.0300/GB- 月■ EFS は EC2 からの配信となる
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 25
注意その 1
■冗長化≠負荷対策
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 26
注意その 2
■ 冗長化しても切り替えに時間を要する
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 27
注意その 3
■ 全てのシステム障害に対応できるわけではない。
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 28
うさぎ落ちてます。
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 29
まとめ■ マネージドサービスを積極的に利用■ 冗長化すると、構成(インスタンス台数)が倍になります■ 許容ダウンタイムを確認■ 冗長化をしても、バーストに耐えれるわけではありません■ 冗長化は万能ではありません■ (泥臭いですが)そのサービスがミッションクリティカルであれば、きちんと監視サービスもつけましょう
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 30
ご静聴ありがとうございました。
Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 31