Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Webサービス向け、クラウドデザインパターン:アンチパターン紹介

3.282 Aufrufe

Veröffentlicht am

AWS の利用が急速に増加するにつれて、さまざまな利用パターンが生まれてきています。 動作やプロセス、構造について、当初は妥当であったのに、最終的に悪い結果が繰り返されるパターンは、実はリファクタリングするための方法が存在するパ ターンであることが多いです。 失敗に陥るパターンを類型化し、事例の早期発見と対応策を知っておくことは AWS 利用のプラスになります。 「転ばぬ先の杖」としての失敗例を成功に変えるアンチパターンの数々をご紹介します。

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Webサービス向け、クラウドデザインパターン:アンチパターン紹介

  1. 1. 失敗例例を成功に変える AWSアンチパターンの数々 〜~Webアプリ編 2015-‐‑‒07-‐‑‒26 荒⽊木靖宏(twitter:ar1)
  2. 2. ⾃自⼰己紹介 •  名前 –  荒⽊木  靖宏 •  所属 –  アマゾンデータサービスジャパン株式会社 –  技術本部レディネスソリューション部   シニアマネージャ   プリンシパルソリューションアーキテクト •  好きなAWSサービス –  Amazon  Virtual  Private  Cloud –  AWS  Direct  Connect 2
  3. 3. AWS  Innovations  をふりかえる 2009 Amazon  RDS Amazon  VPC Auto  Scaling Elastic  Load   Balancing +48 2010 Amazon  SNS AWS  Identity   &  Access   Management Amazon  Route  53 +61 2011 Amazon   ElastiCache Amazon  SES AWS   CloudFormation AWS  Direct   Connect AWS  Elastic   Beanstalk GovCloud +82 Amazon   CloudTrail Amazon   CloudHSM Amazon   WorkSpaces Amazon  Kinesis Amazon  Elastic Transcoder Amazon   AppStream AWS  OpsWorks +280 2013 Amazon  SWF Amazon  Redshift Amazon  Glacier Amazon   Dynamo  DB Amazon   CloudSearch AWS  Storage Gateway AWS  Data   Pipeline +159 2012 2014年年末までに •  40+  のメジャーサービス   •  1173+  の新サービスと機能 •  47  回の値下げ 2008 +24 Amazon  EBS Amazon CloudFront +516 2014 Amazon  Cognito Amazon  Zocalo Amazon  Mobile Analytics AWS  Directory Service Amazon  RDS   for  Aurora AWS  CodeDeploy AWS  Lambda AWS  Config AWS  Key   Management  Service Amazon  EC2   Container   Service 明⽇日のアンチパターンはそこかしこに
  4. 4. アンチパターンの前に
  5. 5. うまく組み合わせると・・ •  ピーク対応が楽 •  セキュアなシステ ム構築 •  安価に世界展開 •  障害にも強いシス テム設計
  6. 6. よく聞く話 •  サービスが多くてよく分からない •  組み合わせ⽅方が分からない •  使い⽅方が正しいのか分からない
  7. 7. AWSクラウドデザインパターンとは... •  AWSクラウドを使ったシステムアーキテクチャ設計を ⾏行行う際に発⽣生する、典型的な問題とそれに対する解決 策・設計⽅方法を、分かりやすく分類して、ノウハウとし て利利⽤用できるように整理理したもの。 7
  8. 8. 例例えば...  (Web  Storage  Archive) •  解決したい課題 サーバで⼤大量量に発⽣生するログを⼀一元管理理し たい •  クラウドでの解決 容量量無制限ウェブストレージを利利⽤用し、 キャパシティを気にすることなく格納可能 •  実装 EC2上でローテートされたログをAPI等の ツールを利利⽤用しS3に転送 •  利利点 ディスクスペース管理理が不不要になり、堅牢牢 性の⾼高いストレージでログを管理理 •  注意点 AutoScale時には、停⽌止前に該当ログの退 避の仕組みを実装する必要がある v  構造
  9. 9. 適⽤用のシナリオ
  10. 10. 雲の写真を載せるブログサイト開始 •  MovableTypeをEC2にイン ストール •  Route53でDNS管理理 –  ⽉月額約50円 •  サーバ1台で運⽤用 –  t2.microで⽉月額約1800円 –  アカウント作れば1年年間無料料
  11. 11. 初期のデザイン EC2 インスタンス Blog システム Amazon   Route  53 www.clouddesignpattern.org EIP
  12. 12. 動画、過去画像集を公開 •  ユーザー要望により動画や過去画像集を公開 •  サイズが⼤大きく、ダウンロード負荷の⾼高いコン テンツの配信 •  サーバの台数増は費⽤用がかかる •  必要なディスク容量量・ネットワーク帯域は未知 数
  13. 13. Web  Storageパターン •  アクセス負荷の⾼高い動画や画像 コンテンツを、Amazon  S3に 逃がすパターン •  S3のWebサーバ機能を利利⽤用す る •  EC2に⽐比べて安価 –  サーバ稼働費⽤用が不不要
  14. 14. 動画や過去画像はS3へ EC2 インスタンス Blog システム www.clouddesignpattern.org EIP data.clouddesignpattern.org •  メインサイトから   S3上のコンテンツへ   リンクを作成
  15. 15. •  ⽇日本には想像以上の雲マニアがいた まさかの⼤大⼈人気サイト化 積乱雲! 積乱雲!
  16. 16. まさかの⼤大⼈人気サイト化 •  アクセス過多で、つながりにくい状態に •  サーバを増やせば対応出来る •  しかし費⽤用がかかる・・・
  17. 17. Direct  Hostingパターン •  配信のメインサイトと して、EC2ではなくS3 を使⽤用 •  スタティックパブリッ シングを利利⽤用し、MT⽣生 成ファイルをS3へ
  18. 18. Amazon  S3 •  S3⾃自体が負荷分散・冗⻑⾧長化されているため、ア クセスが増えても問題ない •  メンテナンスフリー S3 S3 S3
  19. 19. S3をメインサイトに EC2 インスタンス Blog システム EIP data.clouddesignpattern.org www.clouddesignpattern.org
  20. 20. まさかの海外展開 •  世界の雲マニアがサイトを発⾒見見 •  海外ニュースサイトへの掲載が決定
  21. 21. Cache  Distributionパターン •  Amazon  CloudFront適⽤用 •  世界各地のエッジサーバを 利利⽤用し、キャッシング •  よりよいレスポンスと負荷 分散を実現
  22. 22. CloudFrontを利利⽤用した配信 •  3つのサブドメインを使⽤用 –  www,data,mt •  S3から配信するデータは、Contents  Distributionパ ターンを適⽤用 ブログコンテン ツ 動画・画像集 コンテンツ管 理理・コメント投 稿
  23. 23. デザイン推移 動画 ⼈人気 海外
  24. 24. アンチパターンの紹介
  25. 25. これまで、数多くのAWS成功例例がうまれていっ た。。 その成功例例は「パターン」として受け継がれ。。 そして、それらは時に「秘伝のたれ」「さわって はいけないもの」とされてきた。。 26
  26. 26. アンチパターン •  失敗に陥るパターンを類型化し、事例例の早期発 ⾒見見と対応策に関しての提案を⽬目的とする •  動作やプロセス、構造について、当初は妥当で あったのに、最終的に悪い結果が繰り返される パターン •  リファクタリングするための⽅方法が存在するパ ターン 27
  27. 27. Webアプリむけに 13の アンチパターンを紹介します
  28. 28. EC2にまつわる7つの アンチパターン
  29. 29. EC2は⾃自由。 EC2⼀一神教アンチパターン 30
  30. 30. EC2⼀一神教アンチパターン •  原因 –  AWSの知識識が古いまま⽌止まっている –  サーバを調達し、その上で作る⽅方法に慣れ親しんでいるた め •  症状 –  ⽬目的毎にEC2を⽤用意するため、インスタンス数が増えすぎ る –  可⽤用性の担保にも⼿手間がかかる 31
  31. 31. EC2⼀一神教アンチパターン •  解決法 –  SQS,  Route53,  RDS,  S3,  ELBなどEC2以外のサー ビスを活⽤用する •  可⽤用性の確保 •  利利⽤用額の低下 32
  32. 32. 楽なバックアップです ノースナップショットアンチパ ターン 33
  33. 33. ノースナップショット アンチパターン •  原因 –  EBSのスナップショット機能を知らない –  スナップショットが⾼高価だと思っている •  症状 –  別アベイラビリティゾーンからEBSを使えないこと で気がつく –  操作ミスでファイルを消してから泣きつく 34
  34. 34. ノースナップショット アンチパターン •  解決法 –  何か新しいことを⾏行行ったときはスナップショットを 作成する –  定期的に不不必要なスナップショットを消す –  参考:EBSスナップショット •  http://docs.aws.amazon.com/ja_̲jp/AWSEC2/latest/ UserGuide/EBSSnapshots.html 35
  35. 35. AMIを作らずに運⽤用する AMIなしアンチパターン 36
  36. 36. AMI無しアンチパターン •  原因 –  AMI作りが難しいと思っている –  オンプレミスのインストール⼿手順に固執 •  症状 –  インスタンスをイチから⽤用意するため、サービスインに時 間がかかる –  サービス拡張時も⼿手順が残っていないと対処できない 37
  37. 37. AMI無しアンチパターン •  解決法 –  AMI作成をまずやってみること –  参考:Amazon  EBS-‐‑‒Backed  Linux  AMI  の作成 •  http://docs.aws.amazon.com/ja_̲jp/AWSEC2/latest/ UserGuide/creating-‐‑‒an-‐‑‒ami-‐‑‒ebs.html 38
  38. 38. AMI作成をバックアップだと考える AMI⾄至上主義 アンチパターン 39
  39. 39. AMI⾄至上主義アンチパターン •  原因 –  AMI作成をバックアップだと思っている •  症状 –  動作中にAMIが作れない –  S3バックのインスタンスではバックアップできない と思ってしまう 40
  40. 40. AMI⾄至上主義アンチパターン •  解決法 –  EBSのスナップショットを利利⽤用する –  適材適所のバックアップを選択 –  参考:EBSスナップショット •  http://docs.aws.amazon.com/ja_̲jp/AWSEC2/latest/ UserGuide/EBSSnapshots.html 41
  41. 41. AUTOSCALINGの設定が敏感すぎ て、増減過多。ムダに課⾦金金が増える。 インスタンス振動アンチパター ン 42
  42. 42. インスタンス振動 アンチパターン •  原因 –  AutoScalingの設定が敏感すぎる。 –  CloudWatchの条件ソースが不不適切切 •  症状 –  増減にともなう課⾦金金増加 43
  43. 43. インスタンス振動 アンチパターン •  解決法 –  起動条件の4倍程度度に緩和させておく –  1時間に切切り上げて課⾦金金されるため、55分で⾃自殺する ⽅方法も –  参考:スタートアップのためのAWSピーク対策⼊入⾨門 •  http://www.slideshare.net/HiroshiTakayama/ jawschiba20140405public 44
  44. 44. マルチAZになっているようでなって いないパターン 単機能AZアンチパターン 45
  45. 45. 単機能AZアンチパターン •  原因 –  サブネット毎に「DB⽤用」「アプリ⽤用」などと分けて しまい、それぞれを複数設置しわすれる •  症状 –  特定の機能が単⼀一のAZにしか無いので、そのAZが障 害を起こすとシステム全断 46
  46. 46. 単機能AZアンチパターン •  解決法 –  ELB,RDSなど複数AZ便便利利に使うサービスの導⼊入 –  機能別にサブネットを分けたら、そのサブネットは 同じものを別AZにも作成する 47
  47. 47. モダンブラウザを知ろう とりあえずELBアンチパターン 48
  48. 48. とりあえずELBアンチパターン •  原因 –  冗⻑⾧長化のためにロードバランサを必ず置かないとい けないと古い知識識のまま勘違いしている •  症状 –  サーバからのプッシュができない(あるいは⾯面倒な 仕掛けが必要に) 49
  49. 49. とりあえずELBアンチパターン •  解決法 –  モダンブラウザxDNSラウンドロビン –  ロードバランサは適材適所に 50
  50. 50. キャパシティにまつわる2つの アンチパターン
  51. 51. ⽇日本だけでも使います CloudFront使わないアンチパ ターン 52
  52. 52. CloudFront使わない アンチパターン •  原因 –  配信先が⽇日本だけなのでいらないと考える –  キャッシュ設定を嫌う •  症状 –  HTTPアクセスピーク時に帯域が律律速に。CPUやディスク に余裕があるのにサービスできず –  S3のレスポンス(200-‐‑‒500msec)が遅いと⽂文句句を⾔言う 53
  53. 53. CloudFront使わない アンチパターン •  解決法 –  CloudFrontのレスポンスを体験してみる –  オリジンサーバのキャッシュ制御を適切切に設定する –  参考:CloudFrontのAWSマイスターシリーズ 54
  54. 54. 実アプリとベンチマークソフトウェ アの乖離離に注意 ベンチマークアンチパターン 55
  55. 55. ベンチマークソフトウェアアンチパターン •  原因 –  システム実態と違うベンチマークソフトウェアによ る測定値を使ったサイジング –  本番と測定時の規模の差 •  症状 –  パフォーマンス不不⾜足 –  コスト過⼤大 56
  56. 56. ベンチマークソフトウェアアンチパターン •  解決法 –  本番システムと全く同じシステムを⼀一時期的にAWS では確保できるので、それでパフォーマンスを測定 する 57
  57. 57. こころがけるべき汎⽤用的な3つの アンチパターン
  58. 58. 明細は適宜確認しましょう ノールック明細アンチパターン 59
  59. 59. ノールック明細アンチパターン •  原因 –  ⽉月末の料料⾦金金請求しかないと思っている •  症状 –  ⽀支払い周期のずれ –  クレジットカード与信額のつかいきり 60
  60. 60. ノールック明細アンチパターン •  解決法 –  「AWSサポート新規契約」「RI購⼊入」の際に請求書 がわかれる –  RI購⼊入は契約時の購⼊入費⽤用分のみ  /  サポート契約は 初⽉月分のみ請求書が分かれる –  Consolidated  Billing  使⽤用の場合、⼦子アカウントが RIを購⼊入しても親アカウント宛に請求書が届くこと になるので注意 61
  61. 61. 成⻑⾧長するクラウド。成⻑⾧長するビジネ ス。 インフラ塩漬けアンチパターン 62
  62. 62. インフラ塩漬けアンチパターン •  原因 –  構築した当初のままインフラの⾒見見直しをしない •  症状 –  実際の利利⽤用にくらべてキャパシティの過不不⾜足を放置 したまま利利⽤用している –  ⼀一時凌凌ぎで選んだサービスをそのまま使い続けてい る 63
  63. 63. インフラ塩漬けアンチパターン •  解決法 –  サービスは四半期に⼀一度度は⾒見見直す –  新サービスや新機能が助けになることが 64
  64. 64. JUST  DO  IT! 机上の空論論アンチパターン 65
  65. 65. 机上の空論論アンチパターン •  原因 –  サーバ発注、システムデプロイ、納品の硬直した ループにはまっている •  症状 –  動作確認をしない –  事前のキャパシティプランニングに時間をかけすぎ る 66
  66. 66. 机上の空論論アンチパターン •  解決法 –  ともかく⼩小さく試してみること 67
  67. 67. ウェブアプリ向けのアンチパターンまとめ •  クラウドデザインパターンの活⽤用 –  知る –  議論論する –  やってみる •  アンチパターンは有益 –  失敗したら、打開策までもっていこう 68
  68. 68. Webでノウハウを共有 WIKI  http://aws.clouddesignpattern.org/ index.php FACEBOOK https://www.facebook.com/awscdp 69
  69. 69. 書籍でノウハウを共有 Amazon  Web  Services  クラウドデザインパターン  設計ガイド 70

×