AWSを利用した中規模Webシステム構築運用事例

12,796 views

Published on

第6回JAWS-UG札幌勉強会での発表資料です。

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,796
On SlideShare
0
From Embeds
0
Number of Embeds
3,413
Actions
Shares
0
Downloads
34
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

AWSを利用した中規模Webシステム構築運用事例

  1. 1. 第6回 JAWS-UG-Sapporo 勉強会 Amazon Web Servicesを利用した 中規模Webシステム構築・運用事例 株式会社アンタス インフラ構築グループ 稲葉一紀 2012年5月16日 URL: http://antas.jp ina128@antas.jp2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 1
  2. 2. Advanced Network Technologies And Services アジェンダ1. 会社紹介2. AWSを利用した中規模Webシステムの構築・運用事例2.1. サーバ構成2.2. スケジュール2.3. 使用しているサービス2.4. Web+Appサーバ概要2.5. RDS2.6. CloudFront2.7. 運用監視2.8. 困ったこと、トラブル2.9. 費用内訳3. まとめ2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 2
  3. 3. Advanced Network Technologies And Services 1. 会社紹介 社名  株式会社アンタス http://antas.jp/ 主な業務内容  企業内システム、インターネットシステムの設計・開発・運用保守2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 3
  4. 4. Advanced Network Technologies And Services 2.1. 中規模Webシステム - サーバ構成図 (EC2インスタンス) (RDSインスタンス) ポータル ポータルWeb+App#1 一般ユーザ ELB ポータルWeb+App#2 Multi-AZ ポータル管理Web+App ポータル MySQL DB 100GB ポータル MySQL DB CDN ポータル静的コ 100GB Cloudfront ンテンツ S3 10GB 監視 管理者 ELB サブシステムWeb+App#1 Multi-AZ 保守 サブシステムWeb+App#2 サブシステム MySQL DB DNS サブシステム分析 100GB サブシステム Route 53 Web+App MySQL DB リードレプリカ 100GB CDN Cloudfront サブシステム静 サブシステム分 析 サブシステム 的コンテンツ MySQL DB S3 10GB MySQL DB 100GB サブシステム ポータルステージングWeb+App ポータルステージング サブシステムステージング MySQL DB MySQL DB サブシステムステージングWeb+App 100GB 開発担当 100GB ステージング プレサイトWeb#1 ELB 一般ユーザ プレサイトWeb#2 プレサイト2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 4
  5. 5. Advanced Network Technologies And Services 2.2. 使用しているサービス東京リージョン EC2インスタンス Large x 10, Small x 1  OSはAmazon Linux 2011.09 (64bit), EBS boot AMI RDSインスタンス Large x 6, うちMulti-AZ x 2, リードレプリカ x 1 EC2 ELB x 3 CloudFront x 4 S3バケット, IAM Route 53 CloudWatch2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 5
  6. 6. Advanced Network Technologies And Services 2.3. スケジュール2012年 1週目 – Start! サーバ構成検討、費用見積もり開始 2週目 - AWSアカウント取得、サーバ設定開始 3週目 – プレサイトサーバ x 2環境をアプリ開発担当に渡す 3週目 – プレサイトオープン 4週目 - ステージングサーバ x 2, RDS x 2環境をアプリ開発担当に渡 す 5週目 – 本サイトサーバ x 6, RDS x 4環境をアプリ開発担当に渡す 10週目 – 本サイトオープン 短期間でのサーバ調達、サーバ構成設計、費用見積もり、 設定のためには、AWSしか選択肢がなかった!2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 6
  7. 7. Advanced Network Technologies And Services 2.4. サーバ設定概要 アプリ環境はJava Tomcat, PHP, Ruby on Railsとサーバタイプごとに異 なる  開発担当4社にヒアリングして環境を構築。  メール送受信環境(SMTP + POP)も必要。  アカウント作成、セキュリティ設定、ミドルウェアの設定を行ってからアプリ開発担当 者に渡すところまでを担当。 全サーバに共通するプライベートAMIを作成してからインスタンスを生成 →サーバの個別カスタマイズ。 ELBで2台のWeb+Appサーバに振り分け  サーバはAvailability Zone 1aと1bに1台ずつ。  SSLサーバ証明書をELBに設置し、サーバにはHTTPで渡す。2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 7
  8. 8. Advanced Network Technologies And Services 2.5. RDS サーバ立ち上げがすごく簡単で運用保守がラク  短期間のサーバ構築に大きく貢献。 コストパフォーマンスがよい  Multi-AZによる冗長構成、30日以上のバックアップ、任意の時点に戻せるリカバリー、 自動パッチ適用がコミコミ。  これらの機能がついて、Largeインスタンス CPU 2コア、メモリ7.5GBの$0.960/hour (月換算で6万円弱)は安い! タイムゾーンがUTCのみという仕様  アプリ開発担当者にとっては全く問題にならなかった(ようだ)。2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 8
  9. 9. Advanced Network Technologies And Services 2.6. CloudFront CDNサービスを初めて体験  今回は、画像のみをCDNに設置。 単一アクセスのページ表示時間は速くならない  例えば、JPEG 1ファイルへのアクセスをApache Benchしてみると、スループットは、 サーバに直接アクセスする場合に比べて1/5程度だった。  CDNはサーバへの接続負荷を分散させるためのもの。  アクセスが急増しても、サーバのApacheの接続数はあまり増えない。  →サーバは余計なリソース消費がないので、アプリケーション処理に専念することが できる。 S3バケットごとにIAMで権限を限定したアカウントを作成  code.rockさんのブログを参考に。感謝!  http://blog.dateofrock.com/2011/04/s3iam.html2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 9
  10. 10. Advanced Network Technologies And Services 2.7. 運用監視 運用監視  MRTG, Nagios, Swatchを使用して自動監視。  RDSインスタンスのリソース監視は、CloudWatchのAPIを使用して取得し、MRTGに渡 す。  トラブルが発生した場合は、弊社保守担当者が随時対応。 バックアップ  毎日、全EC2インスタンスのEBSスナップショットを取得し、3世代保存。  DBデータはRDSの機能で7日分のバックアップを保存。2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 10
  11. 11. Advanced Network Technologies And Services 2.8. 困ったこと、トラブル(1) EC2の利用制限 – 知らなかったこと  Elastic IPアドレス - 1リージョンあたり5つ  メール送信数 – 5分で20通程度でNG  いずれも、フォームからリクエストして迅速に制限を緩和していただいた。  (参考)AWSの解除できる制限とそのフォーム一覧 http://d.hatena.ne.jp/tottokug/20111129/1322523210 サーバ障害 – 2月からの利用で3回、意外と?少ない  1. EC2インスタンスのダウン x 1回  2. RDSインスタンスのダウン x 1回(ステージング、非Muliti-AZ環境)  3. DNSの障害で特定のAZからのみRDSに接続できない問題 x 1回  EC2インスタンスやRDSインスタンスの再起動や停止に1時間以上かかることがある ので注意。  物理ノード障害時も、AWSの障害ステータスページに表示されるのだろうか?2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 11
  12. 12. Advanced Network Technologies And Services 2.8. 困ったこと、トラブル(2) Amazon SDK for PHP 1.5.3のメモリリーク問題  サーバ間のプライベートIPアドレスによる通信のため、全サーバで5分に1度実行す る /etc/hosts ファイルの自動生成スクリプトで使用。  described_instances()など、1度のAPI呼び出しで700KB程度のメモリリークが発生。  3月下旬にPerl VM::EC2に置き換えて解決。  2012/4/22にリリースされた Amazon SDK for PHP 1.5.4でも修正されていないようだ。2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 12
  13. 13. Advanced Network Technologies And Services 2.9. 費用内訳(1) 2012年4月 AWS費用内訳  東京リージョン、オンデマンドインスタンス  EC2インスタンス Large x 8, Small x 1、RDSインスタンス Large x 6, うちMulti-AZ x 22012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 13
  14. 14. Advanced Network Technologies And Services 2.9. 費用内訳(2) EC2費用内訳  EC2インスタンス Large x 8, Small x 1  EBSディスクはそれぞれ50GB 0% 1% 2%0% Instance EBS Storage ELB hour EBS Snapshot ELB Transfer EBS I/O Req. 97%2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 14
  15. 15. Advanced Network Technologies And Services 2.9. 費用内訳(3) RDS費用内訳  RDSインスタンス Large x 6, うちMulti-AZ x 2, リードレプリカ x 1  ディスクはそれぞれ100GB 3% 0% Instance Storage I/O Req. 97%2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 15
  16. 16. Advanced Network Technologies And Services 2.9. 費用内訳(4) ふつうのWebシステムではインスタンス費用が全体の95%以上を占める のでは?  EBSのディスクI/Oは意外と少ない。OSのキャッシュを使用するから?  簡単に見積もるなら、インスタンス費用+10%増し程度でよいのではないか。  ただし、極端に転送量が多いサービス、DB書き込みが多いシステム、ディスクサイズ が大きい場合の見積もりは要注意。2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 16
  17. 17. Advanced Network Technologies And Services 3. まとめ 中規模のWebシステムを、AWSを利用して短期間で設計、費用見積もり、 設定を行い、予定どおりサイトをオープンすることができた。 AWSのいろいろな機能を効果的に使用できた。  必要なときに採用できるよう、ふだんから新機能や機能追加の情報収集が大切。  ただし、オートスケールは未使用。 障害は意外と?少ない  とはいえ、障害は発生し得る。  障害対策のための機能が用意されているので、それを踏まえた構成設計が必要。 (個人的には)AWSは堅牢なストレージS3が肝だと思う。 先駆者ユーザのみなさんや、AWSマイスターシリーズの公開情報に感 謝!2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 17
  18. 18. Advanced Network Technologies And Services おわり2012/05/16 COPYRIGHT (C) 2012 ANTAS, Inc. 18

×