AWS Cloud Storage & DB Day 2014 2014/9/9 日 経 電 子 版 におけるAWSと その 周 辺 サービスの 活 用 事 例 日 本 経 済 新 聞 社 デジタル 編 成 局 白 銀 傑 (システム サービス 開 発 担 当 )
Agenda 日 経 とウェブサービス 日 経 電 子 版 のご 紹 介 電 子 版 モバイルでAWSを 採 用 AWSを 採 用 した 理 由 システム 構 成 AWSを 使 ってみて サービス 開 始 後 の 施 策 今 後 の 展 開 2
日 経 とウェブサービス 1996 年 に 日 経 ネットを 開 始 して 以 来 自 社 環 境 を 中 心 に 配 信 マーケットやマネーの 情 報 配 信 と 機 能 提 供 など ニュースサイト 以 外 も サービスインフラとして データセンターを 保 有 主 な 配 信 設 備 はオンプレで 構 築 しサービス(これまで) それなりの 設 備 とそれなりのノウハウが 社 内 にはある 各 種 アプリケーションは 自 社 でも 開 発 2010 年 に 日 経 電 子 版 創 刊 3
日 経 電 子 版 のご 紹 介 朝 刊 と 夕 刊 約 300 本 の 記 事 約 半 分 日 経 独 自 の 記 事 発 行 部 数 約 300 万 部 国 内 61 拠 点 海 外 36 拠 点 1300 人 の 記 者 上 場 企 業 約 3600 社 すべて + その 他 有 力 企 業 に 担 当 記 者 がいる 新 聞 社 4
日 経 電 子 版 のご 紹 介 300 本 の 記 事 紙 面 +600 本 = 900 本 の 記 事 電 子 版 電 子 版 オリジナル 記 事 5
日 経 電 子 版 のご 紹 介 携 帯 Android & iphone Android & ipad iphone モバイル 電 子 版 マーケット Windows8 PC 新 聞 6
メディアとして 必 ず 最 新 の 情 報 がいち 早 く 届 く いつでもどこでも 持 ち 歩 いて 読 める マルチデバイスに 対 応 コンテンツの 更 新 感 がある 応 答 が 速 い 耐 障 害 性 が 高 い 7
日 経 のサービス 紙 面 と 電 子 版 (PC 向 け) スマホとタブレット 向 けアプリ 朝 刊 夕 刊 + 最 新 情 報 を 提 供 紙 面 そのまま めくるように モバイル 向 けのサービスを 強 化 8
日 経 電 子 版 モバイル(2013/5~) をAWSで PC 以 外 で 情 報 収 取 するライフスタイルに 会 社 ではPCで 朝 と 夕 方 にはモバイル 端 末 で モバイル 端 末 のブラウザー 向 けにレイアウト した 画 面 を 配 信 通 信 環 境 によらず 高 速 なパフォーマンス AWS 上 に 構 築 9
AWSを 採 用 した 理 由 ユーザーがシステム 設 計 できる リージョンが 選 択 できる 当 然 のメリット だけでなく サービスの 成 長 に 応 じて スケールアウト/イン スケールアップ/ダウンが 可 能 構 築 及 び 運 用 管 理 コストのカット( 人 件 費 込 み) サービス 開 発 に 人 的 リソースを 投 入 したい インスタンスの 起 動 が 簡 単 で 試 しやすい 10
AWSを 採 用 した 理 由 新 システム 新 サービスを 作 るなら 技 術 者 として 電 子 版 としてモバイル 端 末 向 けプラットフォームを 新 たに 構 築 したい 単 純 に 新 しい 技 術 を 使 ってみたい 将 来 に 向 けて 新 しいことにチャレンジしたい 社 内 リソースで 構 築 したい 199x 年 : 自 分 たちで 作 るしかなかった 少 ない 技 術 者 少 ないコストで ブランドはしっかり 守 って やってみる!? クラウドを 使 えば 安 く 簡 単 にできる?? 11
リスクに 対 する 対 応 1 AWSと 自 社 DCとの 使 い 分 け どのデータをクラウドに 保 持 するかはポリシーを 持 って 定 義 2 自 社 DCにある 監 視 システムとの 併 用 既 存 のシステムは 自 社 DCで 集 中 監 視 している 3 AZやリージョンを 分 けて 稼 働 させる 24H365D ニュースを 報 道 12
電 子 版 モバイルのシステム 構 成 13
東 京 リージョン www.nikkei.com redirect mw.nikkei.com EC2 有 料 会 員 向 け 無 料 会 員 向 け KVS ELB KVS Web F Web セッション (DynamoDB) リードレプリカ リードレプリカ バッチ 稼 働 系 バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 14
東 京 リージョン www.nikkei.com redirect mw.nikkei.com EC2 ELB : キャッシュサーバーへの 単 純 な 負 荷 分 散 有 料 会 員 向 け 無 料 会 員 向 け KVS ELB KVS Web F Web セッション (DynamoDB) リードレプリカ リードレプリカ バッチ 稼 働 系 バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 15
キャッシュサーバー www.nikkei.com Cookieスイッチング ユーザー 権 限 によるキャッシュオブジェクトの redirect mw.nikkei.com切 り 分 け 東 Webサーバーへのヘルスチェック 京 リージョン EC2 有 料 会 員 向 け 無 料 会 員 向 け 06 KVS ELB KVS Web F Web セッション (DynamoDB) リードレプリカ リードレプリカ バッチ 稼 働 系 バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 16
監 視 : CloudWatch/SNSを 利 用 し 自 社 監 視 装 置 で www.nikkei.com バッチサーバーにSNSがHTTP 通 知 自 社 DCにsyslog EC2転 送 redirect mw.nikkei.com 東 京 リージョン 有 料 会 員 向 け 無 料 会 員 向 け 06 KVS ELB KVS Web F Web セッション (DynamoDB) リードレプリカ リードレプリカ バッチ 稼 働 系 バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 17
コンテンツ www.nikkei.com バッチサーバーが 自 社 DCのAPIを 使 って 定 期 的 に 更 EC2 新 記 事 を 取 得 +WebサーバーがオンデマンドでAPIをキック redirect mw.nikkei.com 東 キャッシュサーバーが 京 リージョン 直 接 APIをキックすることも 有 料 会 員 向 け 無 料 会 員 向 け 06 KVS ELB KVS Web F Web セッション (DynamoDB) リードレプリカ リードレプリカ バッチ 稼 働 系 バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 18
RDS: 記 事 データベース www.nikkei.com ulti AZ 構 成 マスター 主 系 従 系 +リードレプリカ redirect mw.nikkei.com マスターへの 東 京 リージョン 書 き 込 みはバッチサーバーからのみ EC2 有 料 会 員 向 け 無 料 会 員 向 け 06 KVS ELB KVS Web F Web セッション (DynamoDB) リードレプリカ リードレプリカ バッチ 稼 働 系 バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 19
東 京 リージョン www.nikkei.com redirect mw.nikkei.com EC2 有 料 会 員 向 け 無 料 会 員 向 け KVS クライアント 技 術 リードレプリカ API Web + JSON Web Storage backbone F js オープンソースの 有 効 活 用 ELB KVS Web セッション (DynamoDB) リードレプリカ バッチ 稼 働 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API バッチ 待 機 系 20
東 京 リージョン www.nikkei.com redirect mw.nikkei.com EC2 有 料 会 員 向 け 無 料 会 員 向 け KVS ELB KVS Web F Webサーバー リードレプリカ バッチ 稼 働 系 EC2 Apache + PHP + Symfony2 2 台 x nセット デプロイ C 系 A 系 ローンチ 時 期 は 本 番 想 定 +αの 規 模 に 拡 大 Web セッション (DynamoDB) リードレプリカ バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 21
認 証 セッション 管 理 www.nikkei.com セッションテーブルをDynamoDBに 作 成 EC2 頻 繁 なデプロイをサービスを redirect 継 mw.nikkei.com 続 したまま 実 施 できるように 日 東 経 京 IDAPI(OpenID リージョン Connect + シングルサインオン)を 利 用 PC 版 とセッション 同 期 ( 登 録 解 約 時 など) KVS ELB KVS 有 料 会 員 向 け 無 料 会 員 向 け 06 Web F Web セッション (DynamoDB) リードレプリカ リードレプリカ バッチ 稼 働 系 バッチ 待 機 系 自 社 DC Syslog RDSマスタ 主 系 Availability Zone 監 視 RDSマスタ 従 系 Availability Zone Webサーバーから 各 種 API 22
DB 構 成 RDSに 記 事 データを 格 納 しウェブサーバから 参 照 高 速 に 記 事 を 返 すため ウェブサーバは 以 下 の 順 で 参 照 ローカルキャッシュ(APC) KVS(emcached) RDS RDSはmulti-AZ 構 成 バッチからRDSのマスターを 更 新 セッション 管 理 にDynamoDBを 採 用 RDSへの 書 き 込 みがボトルネックになりやすいことを 回 避 今 回 の 構 成 では ウェブからRDSへの 書 き 込 みはしない
サービスを 開 始 してから PV 訪 問 者 数 の 順 調 な 増 加
一 日 のPV 遷 移 朝 ~ 出 勤 時 朝 夕 と 昼 休 みの 時 間 帯 を 中 心 の 利 用 昼 休 み PC 版 と 比 較 し 利 用 時 間 帯 の 偏 りが 大 きい 帰 宅 ~ 夜 PC 電 子 版 モバイル 25
サービスを 開 始 してから 大 きなトラブルはほぼなし 徐 々に 進 化 中 監 視 機 能 を 使 いこなせていない クラウドのメリットをまだまだ 活 用 できていない アクセス 状 況 にあわせたスケールアウト イン DynamoのThroughput 設 定 ELB/EC2の 障 害 (1 時 間 強 ) たまに 自 社 DCとAWS 間 の 通 信 が 切 れる DynamoDBの 設 定 に 悩 まされる こんなこともまれに 26
DynamoDBを 使 ってみて ログイン 時 の 同 時 接 続 数 のチェック セッション 切 断 にscanを 利 用 scanはテーブル 内 の 全 レコードを 走 査 重 い Read Capacity Unitを 多 く 消 費 する=コスト 増 Provisioned Read Capacityを 超 えてなくても APIでProvisionedThroughputExceededException 特 定 のパーティションでThroughputオーバー scanを 極 力 使 わないよう セッションテーブルを 変 更 キーやインデックスの 設 計 が 重 要 (キーに 設 定 した 項 目 以 外 での 検 索 がスキャンになりコストがかかる) 27
最 新 の 状 態 が 分 かりづらい reloadで 上 がったり 下 がったり プライマリーキーを 変 えた 別 テーブルを 作 成 テーブル 設 計 が 重 要 28
サービス 開 始 後 の 施 策 DynamoDBの 利 用 拡 大 アクセス 状 況 にあわせたリソースの 有 効 活 用 Throughputの 設 定 ERと 組 み 合 わせたデータ 抽 出 SQSとS3を 活 用 した 新 サービス 電 子 版 以 外 にも
保 存 記 事 情 報 を 自 社 DC(RDB)から DynamoDBに 2014/4~ 06
保 存 記 事 情 報 を 自 社 DC(RDB)から DynamoDBに 2014/4~ < 要 件 > 保 存 記 事 をデバイス 間 連 携 可 能 にし 保 存 可 能 本 数 も 拡 大 保 存 記 事 情 報 を 格 納 していたDBがスケールアップ 構 成 リソースが 固 定 化 されたオンプレシステムでは 扱 いにくい 06 DynamoDBはスループットの 調 整 のみで 対 応 できる 電 子 版 モバイルで 実 績 を 積 んだ 将 来 の 電 子 版 システムのAWS 移 行 にも 繋 がる? 移 行 日 に 自 社 RDB 内 の 記 事 保 存 情 報 を 一 気 に 移 設
保 存 記 事 の 分 析 用 データ 抽 出 < 要 件 > 電 子 版 読 者 の 記 事 保 存 データ(DynamoDBに 格 納 )を 自 社 DCにある 分 析 システムに1 日 1 回 定 時 に 提 供 ERクラスタを 立 ち 上 げ Hiveを 使 ってクエリを 行 い S3に 書 き 出 す SQLを 書 く 感 覚 で 必 要 な 操 作 を 実 行 できる データが 増 えても 一 定 時 間 で 処 理 を 終 えるためにはER 内 のインスタンス 数 を 増 やすだけで 対 応 可 能 ERは 処 理 を 実 行 している 間 だけの 課 金 で 済 む(1 時 間 単 位 ) 当 時 はまだDynamoDBからデータをExportする 機 能 がリ リースされていなかった 32
保 存 記 事 の 分 析 用 データ 抽 出 JOB 起 動 コマンド 実 行 DynamoDB Elastic ap Reduce S3 Bucket 監 視 システム DynamoDB から 直 接 TSV 変 換 圧 縮 ファイルを 取 得 Hadoop Clusters TSV 毎 にマージ 圧 縮 S3へファ イル 転 送 分 析 システム 自 社 DC 33
紙 面 の 切 り 抜 きイメージの 表 示 2014/6~ 06
紙 面 の 切 り 抜 きイメージの 配 信 < 要 件 > 紙 面 の 切 り 抜 きイメージを 提 供 イメージのURLは 期 限 付 きに S3に 紙 面 の 切 り 抜 きイメージ を 格 納 (サムネイルと 拡 大 画 像 ) 有 効 期 限 付 きのURLを 発 行 SQSでタスク 管 理
紙 面 の 切 り 抜 きイメージの 配 信 自 社 DC 紙 面 画 像 XL SQS タスク 管 理 EC2 データ 取 得 データ 加 工 S3 Bucket 期 限 付 きURL 配 信 36
DynamoDB Throughputの 設 定 頭 を 悩 ますThroughputの 設 定
DynamoDB Throughputの 設 定 利 用 状 況 に 応 じて 上 限 値 を 変 更 しコスト 削 減 バッチ 処 理 1 バッチ 処 理 3 バッチ 処 理 2 保 存 記 事 分 析
電 子 版 以 外 にも 活 用 1 Nikkei Asian Review(NAR) アジア 経 済 圏 の 今 を 日 経 の 視 点 で 発 信 する 英 文 ニュースメディア 2013/11リリース AWS 上 に 編 集 システムと 配 信 システムを 構 築 EC2,CloudFront,RDS,ELBで 構 成
電 子 版 以 外 にも 活 用 1
電 子 版 以 外 にも 活 用 2 Niid(ニード) 日 経 5 紙 から 厳 選 したビジネス ニュースを 提 供 するアプリ (iphone ipad 向 け) 2014/9/1リリース AWS 上 に 専 用 編 集 システムと コンテンツ 配 信 システムを 構 築 EC2,CloudFront,RDS,ELBで 構 成
電 子 版 以 外 にも 活 用 2
今 後 の 展 開 システムの 自 動 構 成 自 動 起 動 利 用 状 況 にあわせて 適 切 なリソースを 使 用 DynamoDBのThroughputをより 最 適 に EC2インスタンスの 起 動 数 をより 最 適 に データ 分 析 AWS(クラウド) 利 用 の 拡 大
システムの 自 動 構 成 自 動 起 動 EC2インスタンスの 追 加 起 動 は 簡 単 だが システム 設 定 を 常 に 最 新 にあわせる 必 要 がある システムを 起 動 したいときに 自 動 的 に 最 新 の 設 定 で 起 動 できる 1 Ansibleでミドルウェアのインストールと 設 定 (AWS OpsWorksと 同 等 の 機 能 ) 2 Serverspecでミドルウェアの 自 動 テスト 3 GithubとCapistranoで 自 動 デプロイ 4 CasperJS(UIとAPI)で 自 動 テスト 5 システム 起 動 組 み 込 み
システムの 自 動 構 成 自 動 起 動 朝 ~ 出 勤 時 昼 休 み 夜 間 バッチ 帰 宅 ~ 夜 PC 電 子 版 モバイル 45
EC2の 自 動 起 動 利 用 状 況 にあわせたサーバ 起 動 台 数 の 制 御 突 発 的 なアクセス 増 にも 速 やかに 対 応 可 能 CPU Utilization リソースの 無 駄 遣 い 46
記 事 閲 覧 履 歴 とデータ 解 析 ElasticapReduce S3 Bucket Web クライアント アプリのログ 記 事 を 参 照 する DynamoDB 抽 出 解 析 記 事 の 閲 覧 履 歴 Redshift クエリによる 解 析 結 果 データ 解 析 者 47
記 事 閲 覧 履 歴 とデータ 解 析 ユーザー 毎 の 閲 覧 履 歴 をDynamoDBに 格 納 する アプリケーションログと 閲 覧 履 歴 をERで 分 析 集 計 してRedshift 用 に 加 工 する RedshiftにSQLを 投 げて 結 果 を 分 析 する
クラウド 利 用 の 拡 大 電 子 版 モバイルで 培 った 知 識 を 他 システムや 新 サービスでもさらに 活 用 電 子 版 (PC 版 )をAWS 上 に 移 設? 自 社 DCとの 使 い 分 けにはポリシーを 持 って 段 階 的 にクラウド 環 境 に 移 設
日 経 電 子 版 は これからも 日 々 進 化 を 続 けます AWSさんと 共 に 他 のパートナー 様 も 歓 迎 です
ご 清 聴 ありがとうございました 51