DMMにおける 会員基盤プラットフォームへの AWS...

61
DMMにおける 会員基盤プラットフォームへの AWS導入から活用事例の紹介 株式会社DMM.comラボ 岩崎 / 飯田 涼太 / 西村 政輝 2017.6.2 AWS Summit Tokyo 2017 Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。 1

Transcript of DMMにおける 会員基盤プラットフォームへの AWS...

Page 1: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

DMMにおける会員基盤プラットフォームへのAWS導入から活用事例の紹介

株式会社DMM.comラボ 岩崎 磨 / 飯田 涼太 / 西村 政輝

2017.6.2 AWS Summit Tokyo 2017Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。 1

Page 2: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

法務情報

• DMMは第三者の製品・サービスについて、特定の製造者やサービス

提供者につき、製品やサービスを評価するものではありません。

• 当社事例は、あくまで当社事案であり各社のシステム・サービス

要件等によって、機能、パフォーマンスその他の面で該当しない

場合があります。

• 本プレゼンテーションは当社構築したAWSシステムに関する技術者

の現時点での感想に基づいています。

• Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved.

無断複製・転載を禁じます。Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。 2

Page 3: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

3

発表者紹介

IT戦略本部本部長

I ♥ Infrastructure.

システム本部チームリーダーI ♥ Kanazawa.

システム本部リードエンジニア

I ♥ Scala.

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 4: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

• はじめに• DMMのクラウドへの取り組み状況

• 事例前半• 会員基盤フロントエンド改修に合わせてAWS移行した話

• 事例後半• 内製基盤アプリケーションのAWS移行における

マネージドサービス活用例

4

アジェンダ

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 5: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

DMMのサービス紹介

5Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 6: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

DMMのクラウド利用状況

6Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 7: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

• 毎年前年度比率2倍強で利用リソース量増加

• ゲームでの活用から基盤への展開フェーズへ

7

DMMでのクラウド利用状況推移

EC2利用時間

2017年データは

5月時点での予測値

2014年 2015年 2016年 2017年Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 8: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

DMMクラウド推進の取り組み

8Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 9: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

大切にしていること

・スピード感何かあっても作ってからごめんなさいするスタイル(DS方式)

・標準化ではなくリファレンス化ルール(標準化)の押し付けでは活用は広がらないエンジニアが作った機能を横展開して皆の効率をあげていく軸

9Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 10: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

勉強会はたくさん開催

エンジニアはみんな勉強会大好き!

新社屋セミナースペースを活用してAWS勉強会を連日開催

10Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 11: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

開発者向けAWS自由利用環境の提供

DMMのエンジニア・デザイナーはAWS環境を私的利用でも自由に利用できるようにしました。

名付けて ”AWS実弾演習場”

• DMMの開発者1人ひとりにアカウントを発行しAWSサービスが好きなように

試せる環境を提供

• コストについては使いすぎ抑止のためにBillingAlertを設定

• 新機能のAWS Organizationsでアカウント作成、BillingAlert設定、権限剥奪

については集中的に運用

11Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 12: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

会員基盤フロントエンド改修に合わせてAWS移行した話

事例紹介前半DMM会員機能の一部のAWS移行について

2017.6.2 AWS Summit Tokyo 201712Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 13: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

背景としてオンプレ上で稼働するモノリシックなサービス基盤が存在。

急激な事業拡大による運用コスト肥大化が課題

もっと事業をリードできるスピード感を求めて

マイクロサービス化を進めていく中でAWSを利用したら解決が捗りました!

13

事例の概要

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 14: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

●当時基盤の課題点

●私たちの解決事例

●まとめ

14

アジェンダ

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 15: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

当時の基盤の課題点

15Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 16: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

1. もっと運用をツール化できる

2. もっと検証精度を上げられる

3. 検証時間も短縮できる

16

当時の基盤の課題点

基盤として、まだ改善の余地が見込める

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 17: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

インシデントやイベント対応など運用がツール化できておらず属人化しがち

→ 対応が後手に回り復旧時間が長期化

17

担当者連絡

担当者対応

障害 復旧

課題点の具体例1

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 18: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

サーバの維持管理を含めた費用対効果の観点から検証環境と本番環境の構成が一部異なり

→ 検証環境では再現しない場合がある

検証環境OK

ユーザ環境NG

開発環境OK

18Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点の具体例2

Page 19: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

モノリシックかつ複雑な基盤となっており変更は小さくても、影響が小さいとは限らない

→ 常にじっくり時間をかける保守的な対応

19

WebServer

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点の具体例3

Page 20: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

私たちの解決事例

20Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 21: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

virtual private cloud

Availability Zone Availability Zone

21

課題点1: 復旧時間の短縮に向けて

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 22: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

22

Multi-AZでのClustering

Multi-AZの Auto Scaling Groupを設定

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点1: 復旧時間の短縮に向けて

virtual private cloud

Availability Zone Availability Zone

Page 23: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

基本的に人の手を介さずに設定に従った自動復旧を設定することで

→ Multi-AZ高可用性とAWSの

マネージドサービスにより復旧までを時短化

23

担当者連絡

担当者対応

障害 復旧

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点1: 復旧時間の短縮に向けて

Page 24: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

必要な時だけ、全く同じ構成の環境を用意

ユーザ用 検証用24

課題点2: リリース前の検証精度向上に向けて

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

関係者ONLY

Page 25: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

ユーザアクセスを解放

25

検証が済んだらアクセスもリソースも解放

リソースを解放

ユーザ用 検証用Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点2: リリース前の検証精度向上に向けて

Page 26: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

26Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点2: リリース前の検証精度向上に向けて

Page 27: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

27

Ansible + PackerでベースとなるAmazon Machine Imageを

用途ごとに作成

構成をstackとしてテンプレ化しAWS CloudFormationで環境を量産

課題点2: リリース前の検証精度向上に向けて

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 28: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

クラウドのオンデマンドなリソースにAWS CloudFormationをかけ合わせることでサーバを遊ばせずに、いつも同じ状態で検証可

→ 無駄もなく効率的に、事前検証精度を向上

28

検証環境OK

ユーザ環境OK

開発環境OK

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点2: リリース前の検証精度向上に向けて

Page 29: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

29

WebServer

WebServer

LB

WebServer

WebServer

マイクロサービスとして分離し、影響範囲を明確化

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点3: 検証時間の短縮に向けて

Page 30: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

30

マネージドサービスを利用した変更管理により漏れなく対応しつつ

新規に生成した環境でスピーディな検証が可能に

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点3: 検証時間の短縮に向けて

Page 31: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

AWSを利用することでマイクロサービスとして影響範囲を明確にするだけでなく

その時々に応じた最適なリソースをスピーディかつ正確に構成して検証可能に

31

じっくり検証

日時調整対応周知

実施

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

課題点3: 検証時間の短縮に向けて

Page 32: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

まとめ

32Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 33: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

● マネージドサービスの活用○ Multi-AZの高可用性で障害を抑制○ 障害時の自動復旧で時短化

● 潤沢なリソースとCloudFormationの利用○ 同一環境を無駄なく生成・破棄○ 検証精度を向上しつつ、時間も短縮

33

まとめ

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 34: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

内製基盤アプリケーションのAWS移植における

マネージドサービス活用例事例紹介後半

DMMの高ワークロードを支える API Gateway / OAuth2認可基盤

2017.6.2 AWS Summit Tokyo 2017Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。 35

Page 35: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

• プロジェクト概要・構成図

• AWS移行で得られたもの

• AWS移行で注意したところ

• スケーリングと性能見積もり

• サービスディスカバリ

35

アジェンダ

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 36: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

プロジェクト概要・構成図

36Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 37: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

オンプレミスで製造・構築した内製 DMM API GatewayをAWSへ移行するプロジェクト

• 最重要なのは、耐障害性• DMM.comのプラットフォーム基盤の窓口となるシステム• 障害発生時の影響範囲が大きい

• APIの窓口としての安定性と低いレイテンシも必要• オンプレミス側との通信にAWS Direct Connectも導入する

37

プロジェクト概要

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 38: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

今回のAWS移行対象

38

オンプレ時の構成図

LB(L4)

LB(L4)

… …

内製 DMM API Gateway / OAuth2 認可基盤(Akka Streams and HTTP製)

BackendAPI

servers・モバイル端末・提携先システム

etc.

www.dmm.com / co.jp他サブドメインなど(数千リクエスト毎秒)

®

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 39: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

39

AWS移行後の構成図

ap-northeast-1a

AWS Direct Connect

ap-northeast-1c

DMM.comデータセンター

nginx⇒ALB

HashiCorp Valut ⇒EC2 Systems Managerパラメータストア

MySQL⇒RDS Aurora

ECSクラスタ

Redis® Sentinel ⇒ElastiCache(Redis® Cluster)

・モバイル端末・提携先システムetc..

EC2Systems MamagerParameter Store

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 40: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

40

ECSタスクと関連するコンポーネント

Amazon Kinesis Firehose

AmazonS3

Amazon ECS

Application Load Balancer

ログ収集

APIコール(HTTP)

アプリケーション タスク構成

APIコール(HTTPS)

● アプリケーション本体のコンテナ○ HTTP/HTTPSはALBと連携

● Agent類はSidecarパターンで用意○ Datadog Agent

■ アプリケーション監視■ メトリクス収集

○ fluentd ■ with fluentd-kinesis-plugin■ Kinesis Firehose ⇒ S3へログ収集

メトリクス収集

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 41: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

AWS移行で得られたもの

41Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 42: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

1. 堅牢なインフラ環境の入手• 複数データセンター級の冗長性(Multi-AZ)• インスタンス・プロセス障害時のオートヒーリング

2. ミドルウェア運用からの解放• 手段:フルマネージドサービスの活用

• ALB+ACM、ECS、RDS、ElastiCache、Kinesis Firehose

42

AWS移行で得られたもの

EC2 Systems Manager パラメータストア

↑採用例少ないと思うので次で紹介します!(他はありふれてるサービスのため省略)

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 43: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

•アプリケーション用のシークレット値の取得・格納•管理コンソールや、AWS CLI、AWS SDKを用いての操作

43

EC2パラメータストアでできたこと

AWS KMSと連携し、シークレット値を暗号化できた。

ここ!

※ 設定のイメージ例

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 44: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

シークレット値管理のミドルウェア運用等が省力化できた!

44

EC2パラメータストアで嬉しかったこと

省力化対象 before (当社オンプレミス) after (AWS)

ミドルウェア運用 HashiCorp Vault (HA構成)HashiCorp Consul (クラスタ構成)nginx

不要(フルマネージド)

SSL証明書管理 必要

ACL設計 HashiCorp Vault固有のACL AWS IAMに統合

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 45: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

AWS移行で注意したところ

45Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 46: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

1. 動的なスケーリングを前提としたElasticな構成• AWS移行後は、インスタンス利用料が従量課金

⇒ 節約のためのスケーリングを行うことにした

2. 動的なネットワーク割当への対応

• (例)アプリの設定変更をオートスケール対象全台にプッシュしたい

⇒ AWSのサービスディスカバリ機能の活用で対応• 内部DNS

• AWS CLI/SDK

46

クラウド環境利用における注意点

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 47: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

懸念• Redis® (Master-Slave構成) のレプリケーション遅延

• 局面:DMM API Gatewayへの連続リクエスト

• 例: (Write) 認可要求 → (Read) API利用時の認可判定

対策• ElastiCache Redis® Clusterを採用した上で、

Redis® Clusterへの参照・更新をプライマリノードのみに限定• 実質的なMulti-Master構成として活用

• メリット:レプリケーション遅延の考慮が不要

• 負荷対策:Redis® Clusterのシャーディングで分散47

ElastiCacheのレプリケーション遅延対策

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 48: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

スケーリングと性能見積もり

48Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 49: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

49

オートスケーリング戦略

DMMのサービスの特性として、オートスケールはスケジュールベースを基本として問題ない。

主要商材がエンターテイメントということもあり、ピークタイムが夜間で不変であるため。

オフピークの負荷はリザーブドインスタンス購入で節約

赤4時間分と黄8時間分はオンデマンドインスタンスでスケールする

出典:DMM 2017

x軸単位:時:分(十の位)y軸単位:秒間リクエスト回数

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 50: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

• スケールアウト時の注意点• 主としてスケジュールベース、副として負荷ベースを採用

• 懸念:負荷ベースではインスタンス起動やウォームアップが後追い• イベント等のスケーリングだけ個別対応

• スケールイン時の注意点• ECSはドレイニング後のEC2インスタンスを自動でターミネート

してくれない・・・• 現状(2017.6.2現在)、Lambda等で仕組みの構築が必要!• 補足:オートスケールインはDMMの場合早朝時間帯

→ ※社員就寝中・・ .zzZ

50

オートスケール設定で注意したこと

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 51: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

51

ベンチマーク概要

コンポーネント インスタンスサイズ 台数

ECS c4.xlarge(4vCPU/8GB)

4,8,12台でそれぞれ確認

RDS(Aurora MySQL)

db.r3.xlarge(4vCPU/30.5GB)

4台(M1・RR3)

ElastiCache(Redis® Cluster 3シャード)

cache.r3.large(2vCPU/13.5GB)

6台(M3・RR3)

観点• リクエスト数ごとのレスポンスタイムはどの程度か• インスタンスのスケーリングに応じてキャパシティもスケールするか

条件• 下記インスタンスでの秒間1〜10,000リクエスト時のレスポンスタイム

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 52: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

DMM API Gateway (OAuth2認可検証&ルーティング)

52

ベンチマーク構成図

ap-northeast-1a

ap-northeast-1c

HTTPSHTTP

HTTPTLS終端処理

HTTP

APIスタブ(ping-pong)

負荷試験クライアント

DMM API Gatewayを中心に負荷試験クライアントとAPIスタブを用意

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 53: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

53

ベンチマーク結果(ECS 4台)

※ タイムアウト10秒

毎秒4,500リクエストが安定限界だったがオフピークはこれで十分そう

※見えにくいですが大体16ミリ秒くらいです

(ms)

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 54: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

54

ベンチマーク結果(ECS 8台)

参考:ECS 4台

毎秒6,500リクエストまで良好な成績 & 毎秒1万リクエストにも対応

(ms)

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 55: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

55

ベンチマーク結果(ECS 12台)

毎秒1万リクエストにも余裕の対応 明らかにオーバースペック

(ms)

参考:ECS 4台 参考:ECS 8台

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 56: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

56

ベンチマーク結果(ECS 12台 percenitile値)

※ 外れ値を除外し 95パーセンタイル値まで掲載

AZ間の通信が頻繁に発生した場合でも19ミリ秒程度のレスポンスタイム

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 57: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

サービスディスカバリ

57Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 58: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

ap-northeast-1a ap-northeast-1c

58

LambdaベースでECSのディスカバリを実現

・・・

API Gateway管理者

② しかし、ECS上のDMM API Gatewayはオートスケールする。IPアドレスとportが動的に変わっていく。

・・・

※管理サイト(新規作成)

③ 解決策の一つとして、ECS上の配置情報をAWS SDKで取得し、DMM API GatewayのIPとportを管理サイトへ通知するLambdaを作成。Lambdaの実行トリガーにはECSイベントストリームが利用できた。

① ユースケースとして、APIルーティング追加やOAuthスコープ追加など、管理サイトからECS上のDMM API Gateway全台に更新をBroadcastしたい。

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 59: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

最後に

59Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 60: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

AWS環境への移行で嬉しかったこと

•マネージドで高可用なシステムが従来より簡単に構築できた!

•高ワークロードなシステムの構築も問題なかった!

AWS環境の使いこなしで気を付けたこと

•インスタンスの利用料はオートスケールの活用で節約

•サービスディスカバリはSDK等の活用で利用者側が作成

60

まとめ

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。

Page 61: DMMにおける 会員基盤プラットフォームへの AWS …€¢DMMは第三者の製品・サービスについて、特定の製造者やサービス 提供者につき、製品やサービスを評価するものではありません。•当社事例は、あくまで当社事案であり各社のシステム・サービス

ご清聴ありがとうございました本日のプレゼンテーションはDMMで構築したAWSシステムに関する技術者の現時点(2017.6.2)での感想に基づいています。DMMは第三者の製品・サービスについて、特定の製造者やサービス提供者につき、製品やサービスを評価するものではありません。

DMMは第三者の製品・サービスについて、何らかの保証を提供するものではありません。

Copyright © 2017 DMM.com Co., Ltd. All Rights Reserved. 無断複製・転載を禁じます。