awsによるwebサイト構築と運用 - concrete5 編 -

Post on 16-Apr-2017

2.788 Views

Category:

Engineering

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

2015/12/05concrete5 勉強会 札幌

クラスメソッド 渡辺修司

渡辺修司のこと

• クラスメソッド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 concrete5MySQL server

• ユースケースお試し環境費用最小化

標準構成• EC2 + RDS• EC2

Apache + PHP concrete5

• RDSMySQL

• ユースケース検証環境最小の商用環境

高可用性構成• 片系障害でサービス持続• ELB• EC2 (2 台 )

Apache + PHP Concrete5

• S3アドオンが必要

• RDS MySQLMulti 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 8RDS - Single AZ Multi AZ AuroraELB - - 有 有

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/

top related