31
CONCRETE5 を AWS をををを をををををををををををををを をを

20160925 jaws kyoto

  • Upload
    -

  • View
    42

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 20160925 jaws kyoto

CONCRETE5 を AWS で冗長化コンクリートファイブジャパン 岩本

Page 2: 20160925 jaws kyoto

concrete5 の方から来ました。

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 2

Page 3: 20160925 jaws kyoto

3

会社紹介■ コンクリートファイブジャパン株式会社– CMS concrete5 の導入– 運用支援– コンサルティング– テクニカルサポート– ヘルプデスクなど

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved.

Page 4: 20160925 jaws kyoto

4

自己紹介■ レンタルサーバー会社でサーバーエンジニア・プリセールスを経験の後に、大規模アパレル EC サイトの運営に携わりました。

現在は、サーバー・インフラの設計・構築・運用支援・コンサルティングを主に担当をしています。

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved.

Page 5: 20160925 jaws kyoto

5

わさびちゃん(♀)

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved.

Page 6: 20160925 jaws kyoto

絶対に落としてはいけないサイトがある!

Page 7: 20160925 jaws kyoto

冗長化

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 7

Page 8: 20160925 jaws kyoto

冗長化とは?■ システムの一部に何らかの障害が発生した場合に備え、障害発生後でもシステム全体の機能を維持し続けられるように、予備装置を平常時からバックアップとして配置し運用しておくこと。

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 8

Page 9: 20160925 jaws kyoto

システムのバックアップ

■ コールドスタンバイ■ ホットスタンバイ

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 9

Page 10: 20160925 jaws kyoto

今日は「ホットスタンバイ」の話をします。

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 10

Page 11: 20160925 jaws kyoto

ホットスタンバイ

■ シングルポイント(単一障害点)を無くす事

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 11

Page 12: 20160925 jaws kyoto

冗長化(ホットスタンバイ)を考える

■ インフラレイヤ■ アプリケーションレイヤ

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 12

Page 13: 20160925 jaws kyoto

インフラレイヤ■ インフラレイヤでの冗長化(一般的な CMS 、 WEB-DB 構成の場合)– WEB サーバーの冗長化– DB サーバーの冗長化

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 13

Page 14: 20160925 jaws kyoto

アプリケーションレイヤ■ アプリケーションレイヤでの冗長化(一般的な CMS の場合)– ブラウザのセッション– ファイルの共有化– データの共有化

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 14

Page 15: 20160925 jaws kyoto

アプリケーションを考慮した AWS 構成■ WEB サーバー( EC2 )■ DB サーバー( RDS )■ 共用ストレージ( AmazonS3 )■ セッションの共有( Elasticache )

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 15

Page 16: 20160925 jaws kyoto

concrete5 + AWS

■ アップロードファイルの共有■ データの共有■ ブラウザのセッションの共有■ キャッシュの共有

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 16

Page 17: 20160925 jaws kyoto

構成図

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 17

Page 18: 20160925 jaws kyoto

アップロードファイルの共有■ Storage for Amazon S3 アドオン

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 18

Page 19: 20160925 jaws kyoto

データの共有

■ concrete5 のデータ保存先に RDS を指定

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 19

Page 20: 20160925 jaws kyoto

セッション・キャッシュの共有■ 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

Page 21: 20160925 jaws kyoto

別のアプローチ

■NFS による共有

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 21

Page 22: 20160925 jaws kyoto

ベンチマーク■ キャッシュ– LocalFile– Memcahed ( Elasticache )– NFS

■ ファイル– LocalFile– Amazon S3– NFS

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 22

Page 23: 20160925 jaws kyoto

キャッシュ

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

Page 24: 20160925 jaws kyoto

ファイル

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

Page 25: 20160925 jaws kyoto

NFS についての考察■ NFS のマネージドサービス EFS

■ EFS と S3 の価格差– EFS : $0.30/GB- 月– S3 : $0.0300/GB- 月■ EFS は EC2 からの配信となる

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 25

Page 26: 20160925 jaws kyoto

注意その 1

■冗長化≠負荷対策

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 26

Page 27: 20160925 jaws kyoto

注意その 2

■ 冗長化しても切り替えに時間を要する

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 27

Page 28: 20160925 jaws kyoto

注意その 3

■ 全てのシステム障害に対応できるわけではない。

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 28

Page 29: 20160925 jaws kyoto

うさぎ落ちてます。

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 29

Page 30: 20160925 jaws kyoto

まとめ■ マネージドサービスを積極的に利用■ 冗長化すると、構成(インスタンス台数)が倍になります■ 許容ダウンタイムを確認■ 冗長化をしても、バーストに耐えれるわけではありません■ 冗長化は万能ではありません■ (泥臭いですが)そのサービスがミッションクリティカルであれば、きちんと監視サービスもつけましょう

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 30

Page 31: 20160925 jaws kyoto

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

Copyright 2016 © concrete5 Japan Inc. All Rights Reserved. 31