Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWSによるWebサイト構築と運用 - concrete5 編 -

3,442 views

Published on

concrete5 勉強会 in 札幌での発表資料です。

Published in: Engineering
  • Be the first to comment

AWSによるWebサイト構築と運用 - concrete5 編 -

  1. 1. AWSによるWebサイト構築と運用 ー concrete5 編 ー 2015/12/05 concrete5 勉強会 札幌 クラスメソッド 渡辺修司
  2. 2. 渡辺修司のこと • クラスメソッド AWSコンサルティング Jenkins(定期ジョブ) 構築自動化(Ansible) • プログラミング Java, JavaScript, Groovy, Ruby ユニットテスト • 趣味 ロードバイク(夏) スノーボード(冬)
  3. 3. クラスメソッドのこと • 秋葉原本社・札幌・上越 • AWSコンサルティング部 • モバイルアプリケーション部 • データインテグレーション部 • Developers.IO (ブログ)
  4. 4. アジェンダ • AWSとは? • Web系でよく使われる5つのサービス • concrete5 のAWS構成パターン • 構築デモ • AWSの管理機能
  5. 5. AWSとは?
  6. 6. AWS (Amazon Web Service)とは? • EC2をはじめとした約30のウェブサービス • 従量課金(初期費用ゼロ、使った分だけ請求) 何時でも利用開始・利用停止が可能 スペックアップも制限無し • APIを利用したリソースの管理が可能
  7. 7. 勘違い① レンタルサーバでしょ? • EC2以外にもたくさんのサービスがある RDS ... フルマネージドのデータベース S3 ... ファイルストレージ ELB ... ロードバランサ CloudWatch ... 監視 SES ... メール送信サービス • 運用支援機能が充実  RDSの自動バックアップ、フェイルオーバー  高可用性  マネジメントコンソール
  8. 8. 勘違い② 高いんでしょ? • 単純比較では高くなるケースがある • 長期(1年以上)利用で割引 リザーブドインスタンス(RI)で3-4割減 RI時はレンタルサーバと同額程度 • スポットで欲しい 夜間休日は停止 → 半額以下 開発期間のみ利用 • 連携サービスで運用 スナップショット機能 SES連携(メールサーバ不要)
  9. 9. 勘違い③ 難しいんでしょ? • SaaSと比べたならば難しい • プリインストールマシンイメージ セットアップはGUI操作のみでOK 細かい設定はLinux必要 • サポートプランがある(別料金) 開発、ビジネス、エンタープライズ ただし、AWSに関するサポートのみ • クラスメソッドによる構築支援 最適なAWS構成をご提案 運用時の支援も可
  10. 10. Web系でよく使われる5つのサービス
  11. 11. Amazon EC2 • Elastic Compute Cloud • いわるゆ仮想サーバ • インスタンスタイプ(スペック) 時間当たりの従量課金 • AmazonLinux (Redhat6系)以外にも Windows ServerやCentOSなども利用可能 • AMI(Amazon Machine Image) OSや基本設定などが行われたテンプレート プリセットアップされたイメージの提供
  12. 12. EC2の料金(一部/参考) • 月額費用はオンデマンド時、RI時は3-4割程度の割引  高スペックほど割引率は高い • EBS(ディスク)は別料金(SSD 150円/10GB月程度) • お試しであればmicroも十分に使える • アクセスが多くないCMSならばsmall程度で運用可能 Java系のアプリはmedium以上を推奨 • アクセスが多い場合は複数台構成を推奨 タイプ CPU Memory 月額費用(オンデマンド) t2.micro 1 1GB 1,800円 t2.small 1 2GB 3,600円 t2.medium 2 4GB 7,200円 t2.large 2 8GB 14,400円
  13. 13. Amazon RDS • Relational Database Service • フルマネージドデータベース • インスタンスタイプ(スペック) 時間当たりの従量課金 • MySQL, Postgres, Oracle, MySQL Server • 自動バックアップ • Multi AZによる高可用性設定 AZ = データセンター レプリケーションを作成し、障害時に自動復旧 • MySQL 互換クラウド設計DB「Aurora」
  14. 14. RDSの料金(一部/参考) • $1=120円としての概算 • Multi AZ時は2台換算(倍額) • 月額費用はオンデマンド時、RI時は2-5割程度の割引  高スペックほど割引率は高い • ストレージは別料金(SSD 180円/10GB月程度) • 商用であればsmall以上を推奨 タイプ CPU Memory 月額費用(オンデマンド) db.t2.micro 1 1GB 約2,300円 db.t2.small 1 2GB 約4,600円 db.m3.medium 2 3.75GB 約11,000円 db.m3.large 2 7.5GB 約22,000円
  15. 15. Amazon S3 • Simple Storage Service • 高可用性なファイルストレージ • 静的ファイルを配置してホスティング可能 ファイルをすべてS3に配置し静的サイト構築可 • 10GBで40円/月程度 • ファイルはS3に待避することでコストダウン EBSの価格の1/4程度 CMSではプラグインで対応出来る場合もある
  16. 16. ELB • Elastic Load Balancing • ロードバランサ Yahoo砲などのスパイクアクセス対策 サーバダウン時の対策 • 高可用性の構成には必須 • 転送量による課金 • SSLアクセラレーション 各サーバでの証明書管理不要 各サーバの負荷を減らす(SSLの複合不要) 約4,000円/月
  17. 17. Amazon CloudFront • CDN(コンテンツ配信サービス) • キャッシュサーバによるサーバ保護 Yahoo砲などのスパイクアクセス対応 • 転送量による課金 • オリジンサーバとしてS3、EC2など選択 • キャッシュ期間、除外などの設定 • WAF対応 NEW!
  18. 18. concrete5 のAWS構成パターン • スタンドアロン構成 • 標準構成 • 高可用性構成 • 高可用性構成(高負荷対応)
  19. 19. スタンドアロン構成 • EC2単体構成 • EC2 Apache + PHP concrete5 MySQL server • ユースケース お試し環境 費用最小化
  20. 20. 標準構成 • EC2 + RDS • EC2 Apache + PHP concrete5 • RDS MySQL • ユースケース 検証環境 最小の商用環境
  21. 21. 高可用性構成 • 片系障害でサービス持続 • ELB • EC2 (2台) Apache + PHP Concrete5 • S3 アドオンが必要 • RDS MySQL Multi AZ • ユースケース 商用環境
  22. 22. 高可用性構成(高負荷対応) • CloudFront • ELB • EC2 (X台) Apache + PHP Concrete5 • S3 • アドオンが必要 • RDS Amazon Aurora • ユースケース Yahoo砲 高アクセスサイト
  23. 23. 構成比較(参考) • サンプルなので費用は参考程度にしてください • インスタンスはt2.smallインスタンス(RI)を想定 • RDSはdb.m3.medium(RI)を想定 • Auroraはdb.r3.xlarge(RI)を想定 • 通信コスト、ストレージコストは省略(規模に依存が大きい) • ELBはSSL非対応を前提 スタンドアローン 標準 高可用性 高負荷対応 EC2 1 1 2 8 RDS - Single AZ Multi AZ Aurora ELB - - 有 有 S3 - - 有 有 CloudFront - - - 有 月額費用 約2,600円 約8,600円 約26,500円 約54,000円
  24. 24. 構成拡張のポイント • 必要に応じて拡張可能 構成変更は工数が大きい スペックアップは容易 複数台構成であれば増やすのは容易(1->2は難) 工数が大きくない構成変更も有る(CloudFront) • EC2のローカルデータ ローカルファイル依存を減らすと増やしやすい 1台でも可能な限りデータはRDSやS3に待避 ⇒ Storage for Amazon S3 (add-on) https://www.concrete5.org/marketplace/addons/storage-for-amazon-s3/ • RDS/MySQLで限界な場合はAurora
  25. 25. 構築デモ • EC2 (Apache + PHP + Concrete5) • EIP (グローバルIP)付与 • RDS (MySQL)
  26. 26. AWSの管理機能 • EC2インスタンスの起動と停止 • セキュリティグループの設定と管理 • EBSスナップショット • RDSのポイントタイムリカバリ • CloudWatch Metric • CloudWatch Logs • IAMによる権限管理
  27. 27. EC2インスタンスの起動と停止 • 必要な時のみ簡単に起動できる 検証用サーバ 課金は時間単位 • IPアドレス EIPならば固定だが、停止時に若干の課金 起動時のみIPアドレス付与なら課金無し • 注意点 停止忘れ EC停止でもEBS(ディスク)は課金
  28. 28. セキュリティグループ • ファイヤウォール機能を提供 アクセス許可のポートとIPアドレス • 固定IPからの作業できない → 都度設定 • Linux側のファイヤウォール設定不要
  29. 29. EBSスナップショット • 数クリックでバックアップを取得 低料金(1GB辺り12円/月程度) 圧縮 差分バックアップ 10世代ほど取得した場合、5-8割程度の容量 • 簡単にレストア スナップショットを残せばEC2を削除可
  30. 30. RDSのポイントタイムリカバリ • RDSの自動バックアップ • データ復元時など、ワンクリックで復元 EC2の場合は手順が幾つか必要
  31. 31. CloudWatch Metric • サーバの監視 CPU使用率やネットワーク使用量 カスタム値も追加できる • アラート 一定条件でメール通知
  32. 32. CloudWatch Logs • サーバからAWSへログ転送 サーバ側に設定が必要 サーバにログインせずにログを確認 Apacheのエラーログなど • アラート 特定のフレーズ検知時、メール通知
  33. 33. IAMによる権限管理 • IAM (Identity and Access Management) • マネジメントコンソールのユーザなどを管理 • 細かく権限を設定できる 特定インスタンスの起動停止 特定セキュリティグループの変更 • CloudTrail を有効化することでログ保存
  34. 34. まとめ • AWSは気軽に使うことも出来る スモールスタートでもOK 複雑な構成はノウハウが必要 • 原則としてオンデマンド課金 年契約(RI)で大幅に割引き 環境毎に選択可能 • マネージドサービスが多く運用負荷が少ない
  35. 35. クラスメソッド メンバーズ • AWSコンサルティング • AWS環境構築 • サーバ初期設定 • 支払代行 • 技術支援 • 運用支援 • 監視支援 https://classmethod.jp/services/members/

×