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

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