Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
日経電子版のAWS移行
Search
Ichiro Nishiuma
October 16, 2015
Technology
0
240
日経電子版のAWS移行
AWSクラウドへの移行プロジェクトについて
Ichiro Nishiuma
October 16, 2015
Tweet
Share
More Decks by Ichiro Nishiuma
See All by Ichiro Nishiuma
社内の学びの場・コミュニティ形成とエンジニア同士のリレーションシップ構築/devreljapan2024
nishiuma
3
350
日経電子版から始まった内製開発の現在地と向き合っている課題/inhouse
nishiuma
0
310
エンジニア採用を起点に取り組む組織の改善活動と課題、中長期のタスク管理/ #HRmethod
nishiuma
4
3.7k
みんなで盛り上げ築くリレーション、日経の新卒エンジニア研修 #chiyoda_tech
nishiuma
1
260
回り回って効いてくる副次的効果としての技術広報/techpr
nishiuma
2
380
自らを知り外と繋がる、日経のエンジニア採用とDevRel活動/devreljp92
nishiuma
3
350
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
1
490
日経におけるエンジニア組織づくりで直面した課題と施策/engineerorganization #nikkei_tech_talk
nishiuma
0
350
日経におけるクラウド人材育成と 技術コミュニティ/human-resource-dev
nishiuma
0
55
Other Decks in Technology
See All in Technology
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
Lambdaと地方とコミュニティ
miu_crescent
2
370
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
160
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
450
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
AIチャットボット開発への生成AI活用
ryomrt
0
170
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
How to Ace a Technical Interview
jacobian
276
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Raft: Consensus for Rubyists
vanstee
136
6.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Unsuck your backbone
ammeep
668
57k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Site-Speed That Sticks
csswizardry
0
27
It's Worth the Effort
3n
183
27k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Transcript
日経電子版のAWS移行 日本経済新聞社 デジタル編成局 西馬一郎 2015/10/15 Cloudpack User Group MeetUp 2015
自己紹介 • 西馬一郎(ニシウマ イチロウ) • 2002年入社 • 当初は新聞系アプリケーションの担当 • 途中からウェブ系、電子版創刊時から関わる
• いまは日経電子版の基盤系 インフラ担当(AWSも自社DCも両方) • 兵庫県神戸市出身 • 好きなAWSサービス 修行中でまだありません 2
きょうお話する内容 • オンプレミスからAWSにシステム移行する話 • AWSに構築したシステムの概要 • AWSに移行するにあたり – 注力した点 –
苦労した点 3
日経電子版の紹介 4 Android & iPhone モバイル PC 新聞 電子版 マーケット
携帯 Windows8 Android & iPad iPhone
日経電子版の紹介 • 2010年 日経電子版創刊 – 1996年から日経ネット • 40万人を超える有料会員 • 250万人を超える登録会員
• 有料ニュースサービス • iPhone/Androidのモバイルサービス強化 • エバーノートとの連携 • サービス系開発部隊は40人程度 5
メディアとして • 必ず最新の情報がいち早く届く • いつでもどこでも、持ち歩いて読める • マルチデバイスに対応 • コンテンツ更新を即反映 •
応答が速い • 対障害性が高い 6
日経電子版システム的な特徴 • ピークとオフピークのトラフィック比10倍近く • 営業日と非営業日のトラフィックの差も大きい • 重大ニュース発生時など、突発的アクセス増 • 想定ピークに合わせシステムリソースをオンプレで用意 •
コンテンツの応答性能にこだわってきた – コンテンツ配信できめ細かいキャッシュ制御 • サービス開発は常に継続、ほぼ毎週リリース 7
電子版へのアクセス傾向(平日) • AM9時、12時、15時にアクセスピーク 8
いままでのAWSの活用、関わり • 新サービス投入のタイミングでそのコンテンツ配 信基盤として構築してきた – 電子版モバイル(2013/春) – NIKKEI ASIAN REVIEW
(2013/秋) – Niid(2014/秋) – 技術的な観点で経験を重ねてきた • E-JAWS • re:Invent2014に参加 9
なぜAWSか • 日経電子版を支える柔軟なシステム基盤 • 突発的なアクセスピークに耐える強力な基盤 • 状況に合わせて進化できる基盤 • オンプレはハード更新毎に人的リソースが割かれる •
サービス開発に注力 • 自分たちで設計・運営できる基盤 – ブラックボックス化したくない – 少人数のインフラチーム運営 10
自社データセンターからの移行は初 • ハードウェアの更改のタイミングでクラウド化 • AWSをさらに活用 – 地ならしは徐々にできてきた – 移行のノウハウはなかった •
クラウドパックさんとの出会い – クラウドAWSの使いこなし方、ノウハウ – AWSのお作法に従って構築 11
クラウド移行の方針・考え方 • アプリケーションのレイヤーは変更せず基盤 部分の変更に集中 • サービスを止めることなく、より安全にスムー ズに切り替える 12
移行に関する数字 13 自社DC AWS 台数 合計160台 合計270台 応答時間 (キャッシュサーバログより )
無料会員=約50%向上 有料会員=約40%向上 移植したロードバランサー⾏数 11500⾏ 移植したバッチジョブの本数 760本 Backlogの課題件数 2500件 テストケース数 3000件 移⾏リハーサル 5回
AWSでのシステム構築概要 14 AWS 基盤 (AWS全体設計、サーバ設計、インストール、監視、ウィルス対策、 パッチ、構成管理、ログ解析、監視メッセージ送信、自動テスト) 記事系アプ リケーショ ン、記事API 基
盤 HA proxy varni sh HA proxy ELB 数値系アプ リケーショ ン、数値API
フロント部分のシステム構成 • ELBにL7レベルのアクセス振り分け機能がなかった ため自社DCで使っていたロードバランサー(約1万 行)の機能をHAProxyに移植した • 有料会員向けリソースと無料会員向けリソースを分 ける振り分け条件 • 配下のELB数
約30個 15
記事系アプ リケーショ ン、記事API 有料用サーバ 無料用サーバ アクセスの振り分けとAPI 16 AWS 基盤 (AWS全体設計、サーバ設計、インストール、監視、ウィルス対策、
パッチ、構成管理、ログ解析、監視メッセージ送信、自動テスト) 基 盤 HA proxy varni sh HA proxy ELB 数値系アプ リケーショ ン、数値API 有料用サーバ 無料用サーバ
オンプレ時代の課題解決 • アクセスとリソースの可視化 – リバースプロキシのアクセスログ可視化 – リソース監視 • サーバ設定をエクセルではなくAnsibleで管理 –
創刊前に構築した時のエクセルは使いものにならない状態だった • サーバの夜間・休日停止 • サーバ構築リードタイム大幅に短縮 • 専用線 – 自社DCとAWS間のインターネット通信障害 17
オンプレミスからの移行のポイント • 電子版ユーザーに影響与えない – 記事が閲覧できる、ログインできる • 自社DCの他システムとの連携方式は維持 • 他サービスからのAPI連携方式は維持 •
DCのインターネットトラフィックがAWSに移動 • DNS変更が反映されない場合も考慮 • 移行するドメインが多数 18
移行当日アクセスの切り替え • 深夜から約10時間の作業の中で引っ越す計画 – 最初にデータ移行 – 次にアクセスの切り替え(2段階) • 自社DCとAWSの両方にアクセスがいく時間をなく す
– 両拠点でセッション情報持てない • 自社DCに入ってきたアクセスをAWS側に回すこ とで、サービスを途切れさせない 19
自社DC Step1:自社DCに入ってきたアクセスを回す 20 AWS ELB 専用線 www.nikkei.com
自社DC Step2:DNS切り替え 21 AWS ELB 専用線 www.nikkei.com
ここまでやる理由 • システム移行時にサービスを途切れさせない • 単純にDNSを切り替えるというだけでは満たせな い – DNS変更の伝搬時間に依存しない – Step1でNGの場合は切り戻せる
• 社内・他システムの連携先が10個以上で多い ため – コンテンツを提供するAPI群 22
苦労した点(その1) • クラスタソフト – 書き込みが発生する箇所に配置 • NFSサーバ(共有ファイルサーバ) • セッション管理サーバ –
専用線経由で代表アドレス通信はできない • オンプレ側アプリケーションの変更を余儀なくされた – はやくマネージドのAmazon EFSを利用したい 23
苦労した点(その2) • オンプレのロードバランサー移植 – ELBで足りない機能、L7レベル振り分けをHAProxyで実装 – アクセス制限 • 専用線経由の通信 –
マネージドのIPアドレスは可変 • DC側からElastiCacheに対して専用線経由でアクセス • 自社DCとAWSのアドレス体系 NATを使う – 専用線でELBにアクセスできないのはあきらめた 24
テストで注力した点 • 自社DCからのデータ・ファイル転送 – データベースレプリケーション • MSSQL – 紙面イメージのサービスで使う画像データ転送 •
10分間で6000ファイル – 40万人の会員向けメール処理 • 朝刊と夕刊の2回、登録したキーワードに関するメール本文作成処理 • 移行前より時間的に遅延するのは許されない • アクセス性能テスト • アベイラビリティゾーンのA系とC系をまたぐ通信(約2ms) 25
AWSに移行してよかったこと • 応答性能の向上 • スペックや台数を柔軟にコントロール • ネットワークやサーバ構築の基盤系作業のリー ドタイム短縮 – 新規・連携サービスの短期リリースに寄与
• リリース作業の時間短縮 – アプリケーション開発に寄与 26
クラウドで良かった点 • 性能テスト – ボトルネックを探す – ピーク性能を測る • サイジングに時間を取られなかった •
ピークに備えて台数確保 • テスト環境の構築のしやすさ(Route53活用) – 自社環境のwww.nikkei.comと同じものをAWS側にも作れた • とは言え、まだ「道半ば」 27
使ってみて課題・トラブル • 支払い費用 – コスト削減 • さらなる自動化 • AWS内部のネットワークトラブル –
パケットロスにより、紙面データの送信失敗 • クラスタソフトが動かない – サービスが不安定になり紙面データ送信失敗 28
今後もアーキテクチャ見直しで進化 • ファイル共有の仕組みを変えていく – 今はクラスタのNFSサーバ – S3活用 – Amazon EFSの活用
• データベースをマネージドに – 今はEC2上に構築 • Windowsのサーバを減らしていく 29
まとめ • 今回の構成、構築とオンプレからの改善点 • オンプレからAWSへ移行方式やポイント • AWSを移行してみてよかった点 • 日経電子版のシステム基盤のこれから 30
最後に • インフラ基盤を自分たちで設計・運営していく • よりモダンなインフラ基盤に進化させ、サービ ス開発、事業へ貢献 31
技術チームとしての活動 • アプリケーション系 – 「アプリケーション開発の内製化」など勉強会 • インフラ系 – 「Ansible Meetup」など勉強会
– 今夜「ログ分析勉強会 vol.1」 「Kibana4で秒間1万件のアクセスログを可視化した話」 http://loganalytics.connpass.com/event/19614/ 32 @bungoume
33
技術者募集 • 電子版のサービスやアプリケーション、システ ムを支える仲間を募集しています • ご興味がある方は以下のアドレスにご連絡く ださい
[email protected]
34
ご清聴、ありがとうございました。 35