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

如何和IDC說分手-轉移服務到AWS經驗談

 如何和IDC說分手-轉移服務到AWS經驗談

將IDC內的服務, 轉移服務到AWS經驗談, 分享於 AWS User Group in Taiwan Meetup #4

Jonathan Huang

August 27, 2013
Tweet

More Decks by Jonathan Huang

Other Decks in Technology

Transcript

  1. 如何和IDC說分手 An “Associate Level” AWS Certified Solutions Architect Jonathan Huang

    @ i-TRUE Communications Inc. Image : http://gb.123rf.com/photo_3660060_a-a-es-az-e-za-oeaz-c.html AWSTWUG #4
  2. We Are Studying ¡  AWS Certification 種子讀書會 ¡  讀書會內容 ¡ 

    文件閱讀分享 ¡  架構實作分享 ¡  解決方案討論 ¡  挑戰 AWS 認證 ¡  需求條件 ¡  使用 AWS 平台維運服務達半年以上 ¡  使用過以下服務 ¡  EC2(VPC) / S3 / CloudFront / RDS / IAM ¡  聯絡方式 ¡  Phil, phil.cth [at] youmeb.com ¡  Jonathan, jona.tw [at] gmail.com
  3. 自我介紹 ¡  Software Engineer @ i-True ¡  UrCosme 美妝社群網站 系統及程式開發

    正宗祖傳工程師 ¡  Yahoo! x UrCosme 美妝頻道 系統及程式開發 首席工程師 ¡  人機情感關係專家 ¡  專長 ¡  搬機器到AWS ¡  操作 AWS Management Console ¡  考AWS證照 ¡  聯絡我  ¡  jona.tw [at] gmail.com ¡  @jonatw
  4. We Are Hiring ¡  不能只是一脈單傳,我們更要瓜瓞綿綿 ¡  我們徵設計師! ¡  程式設計師 ¡ 

    前端設計師 ¡  用戶體驗設計師 ¡  福利 ¡  正妹很多 ¡  一年2次獎金發放(保證年薪13.5個月) ¡  中秋.端午除了高級禮盒還有5000塊現金 ¡  鼓勵員工每週三下週5:30提早下班 ¡  每個月最後一週週五下午 4 小時Happy Hour Time ¡  聯絡方式 ¡  林小姐 hr [at] itrue.com.tw
  5. 談談之前交往的對象 Reverse Proxy Memcached Http Server Database Server Batch Server

    Backup Storage (NFS) Static content cache / Application cache Backup Backup Query Query
  6. 看看別人交往的對象 App Servers RDS DB instance RDS Read replica Load

    Balancer File object storage buckets Sync User uploaded assets store Handling requests ElastiCache Nodes assets caching and delivering Compute / Batch Clusters Caching CDN Service Sendmail Analytics Backend Clusters
  7. 決定分手是需要準備的 ¡  分手的理由是甚麼? ¡  交友圈太小, 太黏 ¡  太老, 沒體力, 脾氣不好

    ¡  讓你難堪, 在家人面前不給你/妳面子 ¡  為了維持良好的關係, 需要記住很多鎖碎的事情 ¡  常常在半夜打電話要你/妳去內湖陪她/他 ¡  想分手, 該怎麼辦? ¡  寄信到 “人機情感關係專家” 的信箱 ¡  上 Facebook 搜尋 “AWS在台灣” 解析感情問題 ¡  打電話給亞太區媒合顧問, 詢問是否有合適對象
  8. 要分手了, 該怎麼準備? ¡  先求有再求好, 想辦法一比一轉移機器過去 ¡  作業系統以及套件相依問題請找官方 AMI ¡  CentOS

    ¡  http://wiki.centos.org/Cloud/AWS ¡  Fedora ¡  http://fedoraproject.org/en/get-fedora-options#clouds ¡  Ubuntu ¡  http://cloud-images.ubuntu.com/locator/ec2/ ¡  Debian ¡  https://wiki.debian.org/Cloud/AmazonEC2Image ¡  老舊版請多搜尋 community AMI ¡  RightScale 的 AMI 不錯
  9. 要分手了, 該怎麼準備? EC2 Instance EBS BOOT EBS Data Volume AMI

    Snapshot Snapshot Snapshot Snapshot backup backup Capture From : https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Volumes
  10. 要分手了, 該怎麼準備? ¡  先用 EC2 / VPC 硬派組合就對了 ¡  利用

    spot instance 實裝各個服務並測試環境 ¡  crontab / logrotate 也要設定好 ¡  Build 機器的時候請多利用大台的 spot instance ¡  裝好的環境包成 AMI 備用 ¡  System storage / Data storage 務必分開 ¡  用 rsync 把目前機器內的 assets 送到 data storage ¡  先 dump 一份 production db 上去 data storage ¡  Security Group 請按照機器功能先建立幾組
  11. 要分手了, 該怎麼準備? ¡  如果可以的話建議直接使用 VPC ¡  使用起來很像機房, 有念舊的感覺?! ¡  安全性比較高

    ¡  內部 IP 可以自己安排, 不會重新啓動就換 private ip ¡  不要 EC2 / VPC 混着用 ¡  1:1 搬家機器大小該怎麼選 ¡  Application server / Database server ¡  從 Large 開始 ¡  Cache server ¡  Small / High-MEM medium
  12. 要分手了, 該怎麼準備? ¡  壓力預測試, 錯誤測試, 調整機器 ¡  複製 data volume

    for testing ¡  把所有EC2機器都起起來, 掛上 testing data volume ¡  把測試人員的 hosts settings 指向測試機的 EC2 public IP ¡  檢查及比對 error logs, 看是否有無異常 ¡  檢查 Security Group 是否設定錯誤 ¡  ab 壓力測試 ->調整機器大小 -> ab 壓力測試 (loop) ¡  如果要使用 EC2 發 mail, 請先提交申請書 ¡  http://goo.gl/xnZ0yE ¡  先在 Route 53 把 domain record 先設定好
  13. 要分手了, 該怎麼準備? ¡  移機事前評估 ¡  On-demand instance 費用估算 ¡  Heavy

    Utilization reserved Instance 費用估算 ¡  EC2 Data transfer 費用估算 (用 MRTG 的 peak 去估算) ¡  準備緊急救援方案 ¡  請多練習使用 AWS Management Console 的 “EC2” 區 ¡  請先準備 scale up 方案 ¡  反覆練習啟動 Instance + mount Data storage 流程
  14. 開始分手了, 要怎麼做? ¡  移機流程 ¡  Bring up servers using on-demand

    instance ¡  mount data storages ¡  check crontab / logrotate settings ¡  Test / Test / Test ¡  re-rsync assets to Data storage ¡  incremental / full sync db to database server ¡  Test / Test / Test ¡  DNS switch / release new production server ¡  wait for scale up…
  15. 分手之後該做什麼 ¡  抽換服務 ¡  EC2 Mail server to SES ¡ 

    http://goo.gl/YDbK5T ¡  Asset storage to S3 ¡  掛上 CloudFront ¡  EC2 database to RDS ¡  parameter group 設定請多留心 ¡  Reverse proxy to ELB ¡  Memcached to ElastiCache ¡  使用 VPC 的人請先設定 Cache Subnet Groups
  16. 分手之後該做什麼 ¡  Monitoring and Scaling ¡  開始使用 CloudWatch 搭配 SNS

    寄送 alarm ¡  能 scale up 之後, 開始規劃 scale out solutions ¡  調整並重新檢視 AWS 預算 ¡  維持服務運作相關的機器請購買 ¡  Heavy Utilization Reserved Instance ¡  Batch server 建議購買 ¡  Medium/Light Utilization Reserved Instance, ¡  調整排程機器的作息, 半夜才啓動 Batch server 跑排程
  17. 當你可以 scale out 時 Heavy Utilization Reserved Instance 56% ~

    65% cost saving over on- demand (3 year term)
  18. 當你可以 scale out 時 Light Utilization Reserved Instance 25% ~

    40% cost saving over on- demand (3 year term)