Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サービスダウンから生まれたSWATチームが手がけるクラウド移行への道 / JAWS DAYS 2019 Hybrid Cloud Session

Takuya Tatsumi
February 23, 2019

サービスダウンから生まれたSWATチームが手がけるクラウド移行への道 / JAWS DAYS 2019 Hybrid Cloud Session

KDDIコマースフォワードではECモールWowma!を運営しています。

前身サービスから引き継いできたシステムは、日常的にDBのCPU使用率が90%近く、限界が近づいていました。そんな中、前代未聞の高負荷イベントの開催が決定。

15年ものの秘伝のタレ満載のシステムに対して

・DMSでのRDS(Oracle)へのDB移行
・S3とCloudFrontを利用したLPサイトのキャッシュ化
・既存APIのCloudFrontによるキャッシュ化 など

地道な改善を行うも、あっけなく落ちてしまったシステム。そこから、負荷対策チームSWATが誕生しました。

終わりの見えない負荷対策に始まり、AWSへの移行を行いながらもオンプレミスにオラクルDBを構築した経緯、数年後のシステム全体リプレイスを見据えながらマルチクラウド移行を目指すエンジニアの泥臭い戦いについてお話します。

Wowma! ”https://wowma.jp

Takuya Tatsumi

February 23, 2019
Tweet

Other Decks in Technology

Transcript

  1. A w K 02 1 A w 3GD 63 D

    ) (0 ) (0 ) ) 66: b
  2. None
  3.     b GMJ a 66: e a 3GD )

    w Solutions Architect - Associate
  4. IS P

  5. IS P   S P   c S

  6. A A A b

  7. A A A 75 GT RI

  8. 2 3 S ✋

  9. A S ✋

  10. 2 3   6M 3 s 66:   66:  

    GT RI 6M 3 t 1999೥ 2016೥
  11.   t a   s •   GMJ x )

    D15MSW D , 4 , s IYI( ) s t w a   b A A Sa e a
  12. b bK t Sm ) (. s t r t

    e   w t A a k d   2 4 S k d
  13. T m W

  14. or S A d o t s ss s 9

    ×
  15. w B A s ◦

  16. T

  17. S i   s t s w t zw w

      t t o •   t o aaa
  18. i   D t     u t w A

  19. w 20 w w

  20. w 6OUMKW5TSSMKW 3GD

  21. 3GD 3GDn n3GD

  22. w   64 t 5AF / l  

  23.   )   w   A C6D UIKQM 75) UIKQM

    or
  24. A C6D UIKQM   LJ U / QIUNMt   UIKQM

      D D D DE7 C6D
  25. b

  26. C A

  27. D w Kao b K a

  28.   D 5QT L8UTSW A

  29.   3A: 5QT L8UTSW

  30.   DB UIKQM DWIW AIKPs DB s

  31.   GMJ 3A 3A:     tGMJ DA A5 GMJ

  32.   6 D i 64 t v 6 D s

    u s a
  33. G: A or w A w to z t uw

    v P m ba P b " D7g # VS
  34. 02 1

  35. a K

  36. a K GMJ

  37. P 02 1 A   t t t t  

    s ) w   A a 02 1
  38. A S A A A 2 4 A A w

  39. A A

  40. A   t   64 ) w u    

    m u
  41. C6D UIKQM bbb   75) UIKQM a C35t3GD a to

    t   UIKQM C6D UIKQM   LJ U / QIUNMt   UIKQM   D D D DE7 t r
  42. A A S A A   3GD 6OUMKW5TSSMKW G3 u

      95A 3 UM u ϚϧνΫϥ΢υ؀ڥʹҰาۙͮ͘ʂ
  43. wo 6OUMKW5TSSMKW

  44. A K A ) (/ ) (/ / b s

    64
  45. A

  46. None
  47. bH U

  48. "B( •  Wowma! MOVhı­ •  G erMOVhAWSü| •  KCF-AWS >EArXenM

     •  Wowma! AWSü| •  ªŒ* 
  49. Wowma! RTYhĉ¦ •  ġs)war`=@oWowma!+-.£& •  G erMOVh+0‘'ÜMOVh(&IJď Web/AP Oracle MySQL

    RoR G er Wowma! MOVh Batch ìį¢MOVh ÈĭCrNr ”ÃMOVh ¯‘MOVh Web/AP Batch
  50. Wowma! RTYh2¨³¯ •  °Öñ •  OS,32bitJava,1.6 •  ĝ§*57CPUJ>½ě)8 •  W

    SQrS +ü| •  2022t/'*W SQrS ;z&á­7 •  HW+Čđç>Ub •  FAN+Čđƅ •  ÔĔ+FAN;ˆƒ8+1ý)$&!
  51. é’!,> M frRTYh2ã| <à‚

  52. M frRTYh2®×…œ •  Wowma!MOVh(+•¹,API'+37¨7 •  K \ ó²,Chef'ù¡9&8 •  DBW

    S+K@P, <)*Æ) •  DBMySQL'¥&8
  53. Wowma! .M frRTYh2›î 9 9ü|' 2) Web/AP Oracle Wowma! MOVh

    Batch G erMOVh RoR HTTPS Batch
  54. &B0.0*' RTYhž˜ċĂx­,0*' ¦¿Ô)

  55. Wowma! .M frRTYh2›î(¦¿Ô) Web/AP Oracle Wowma! MOVh Batch G erMOVh

    RoR HTTPS Batch 4$1Ͱ  ϑΝΠϧड৴  ͜ͷαʔόʔ(*1  ࣋ͬͯͳ͍  •  G erMOVh,č¢ðą¶;Ñ&)$! •  č¢ð+„DrbpSW+³ŽäĞ1á­()7ē»‹) •  BatchK \ *EIP%8+,QFjnV?*37!)
  56. Wowma! .M frRTYh2›î(¦¿Ô)–À“õ •  xSSHK \ ;ϲ +K \ '`=@o37¨7

    •  S3¤â1Ñ!ĮĊ+Batch+ē»ª ñ*)85*! •  ÆĉSSH1Ñ!DrbpÙ+batchK \ ÆĉSSH*‰æ&)$! Web/AP Oracle Batch G erMOVh HTTPS xSSHK \ Þ¢AWS
  57. ChefßOS‹Ã(*'2-Õ?0*' Chef-™3ª?,0*' \Ljir[0Chef(*' 0/ó18ö =5!' Ó}1mm T  !(Õ$!60.01%6Cm 

  58. `OX[|‰ •¨³„…

  59. Wowma! .M frRTYh2›î `OX[|‰ • •  ALB+ij´®Á(Õ$!ú$! •  ELB'1Cm õ&)

    •  顋Ģ:'1)$! Web/AP Oracle G erMOVh HTTPS λΠϜΞ΢τΤϥʔ  ϩάʹ͸Կ΋Ͱ͍ͯͳ͍ 
  60. Wowma! .M frRTYh2›î `OX[|‰ •ˆÑ •  Þ¢AWS*ELBϲVPC_>¤â'G erMOVh(• ¹ • 

    «Ě,¦—"ê}*]IUX|Š¦—®Á,˔ Web/AP Oracle G erMOVh HTTPS Þ¢AWS
  61. KCF – AWS DKGr[fmR 

  62. dpWM[AWSDKGr[ •  1bqTGX'™…vþ+2>EArX •  ™…Āû(vþĀû+•¹ėß •  ™…Āû,ģ¸ñ •  vþĀû,á­ªö+¸ñ ™…

  63. DirectConnect«¸ •  DirectConnect,Þ¢AWS*ϲ •  DirectConnectá­)>EArX*,ĩā@rS `B@O¤â •  À¢'8CIDR,ñ69&8+'DirectConnect¦­‘‚,ÜVPC Þ¢AWS 

  64. VLjmYEðpN«¸ GurdDuty CloudTrail Þ¢AWS GurdDuty CloudTrail GurdDuty EC2 EC2 syslog

    AWSĨÏqH ëº Amazon Inspector Inspector Inspector Inspector
  65. VLjmYEðpN3.=$5.7,>oen ¨³3Òݚ SplunkA²!,VLjmYEAÒݚ1ā¢w

  66. ^FcmX[MlG\0AÐ!ćè

  67. ˝AWSDKGr[-:*,>. •  SSH+Ĝ0ÓK \ •  syslogK \ •  ëøK \

    Zabbix) •  SES(+Ÿċ¢SMTP relayK \ (Postfix) •  Drbp¢+NTPK \ •  Drbp¢+DNSK \ •  Drbp¢\UG>Ub¢NFSK \ •  Linux+k L ù¡¢K \ FreeIPA) •  etc ϋΠϒϦου  Ϋϥ΢υʁ  
  68. ˝AWSDKGr[-Jrdo2NTP/DNSQ _  •  DB,à*‹ĥ‡¬Ä­ •  ’Oracle8±,NTP/DNSK \ ) • 

    DirectConnect'Ķ$&8Þ¢AWS>EArX'ϲ8 Oracle Oracle Enterprise Manager NTP Amazon Time Sync Service DNS(np +0  Route53(Private)
  69. ˝AWSDKGr[- SMTP relayQ _  •  >m XĐ,SES'i oò¹ • 

    Oracle Enterprise Manager+i o1SES'ò7! •  SMTP relayK \ ¤â'SESò¹ Oracle Enterprise Manager SMTP relay Amazon SES SES Zabbix
  70. Wowma! u˜2mdoFT1ñ‡

  71. ‹Ä2·¦fFr[ì=Ü= •  u~zµ!‹CrN[>1w1) •  žĈ&9&8crT <1Ï$&8+,{‘ ĵ1»Ú)ćĄ;Í6)

  72. Wowma! AWSš1ÿ½ufmR  •  Java3OS+\ Nlr>Ub*58>bn+ē»,8 •  +S@grH'n`=GSnrH,œÛ) •  R

    O+SVNù¡;Gitù¡*äĞ
  73. ýùMlG\02-°”1ā¢ •  ^oYWbq@+ħƒ¥ •  Ant;¢!ƒ¥^oYJenkins*58^oY •  ƒ¥Wbq@Jenkins;À¢!Wbq@ •  SSHĪİÒ¥ • 

    Tail&qH;ÚÌCloudWatchLogs'ÚÌ •  OS/MW+Ž¬)\ Nlr>Ub •  -.Ğ’)1d O+Ğ’ InspectorÈÍ
  74. an\ ZdpF2þ‚Ÿš – ®×ڜ •  WebK \ ,3ķÓ½Ċã8 •  K

    \ ęÇ'>bn+³Ž`=@oú •  ïī‚Ĥ› •  ³Ž`=@o+ĆĖĕÅ+© •  ˜/',ă€MBo'³Ž`=@o;ϲ •  åK \ 'ă€MBo'³Ž`=@oϲ&! •  ޕK \ '{Ĭ'³Ž`=@oϲ8©
  75. §2úí30! †µ1«ŒbCFn2Àû †µ0Âz /s} 

  76. ®Î 0B.çƒ' {¢18Í$Ê@=­>

  77. Deploy •  ³Ž`=@o®Á8+'CodeDeploy(BeansTalk×) •  ă€MBo(AWS System Manager'‰æ Čan\¼ÛÉ čSSM-deploy™| ψÞQ

    _ -RunCommnd™| ďͦ0warbCFn.«ŒbCFn¡¾
  78. SSHăĈŝ ˜“,#4$(²Ø,y! Ĵí !"96Īİ*¿&ğ·8+0

  79. OS/MW2Œ¤0_ SkrDXd •  ƒ÷BlueGreenWbq@'‰æ •  ÿđ腆‹,n\bq+¿;Ê*Ġ ČELB/EC2.!VX[ª čDdmZdpF m_dp Ďm_dp2±¹AÏ÷

    Route531,
  80. £Š1

  81. –‘35$ØĄˆ´¥Ć –‘ˆÑ!,>}Ê@*'Š1â+23 »å gFMpQ aTš 

  82. æURLôº-™3ádpWM[ yĊï¶6 •  k L 6,1%+K ^O"œÉ,Ħ½bqTGX •  £š;irVZrO*)&15)8 n\bq

    /abc/ô– ĒÎ+URL¾¯ /xyz/ô–
  83. æodmKDBª •  DMS;À¢&{‘W S+¼$Ď •  91`B P1'Oraclenbp@O!6zµ8} •  Oracle fV^j

    ;À¢&V aoó²;ªĘ&DMS •  Aurora Serverless'APIÐĂîÝW S(,DynamoDB( Oracle Drbp DMS Aurora EC2 ELB Lambda DynamoDB API Gateway
  84. '(¬AÈ0.0} ê')3gFMpQ aTš!'@"90 PrY]š1!'@"90 Ϛ1©»ò!:#Wowma!AÂ='( 

  85. KDDIPg TbIq \3Öä(-0 Q aTA8*.Ù!,.Ç*,?>vA sĀÌw-# %4yą1Wowma! AÙ!,5!; ÁvŽÆ https://hrmos.co/pages/kddi-cf/jobs

    —„cpN https://kcf-developers.hatenablog.jp 
  86. None
  87. KDDIPg TbIq \3LUXA.~ø! 2019t4€< <1!0=5#

  88. ëü=. 5!'