program
駆け出したプログラマからの調査報告 #2~AWSでWPをインストール①~
世の中のほとんどのものはデータベースで出来ているのではないか、そんなことを考え出しているプログラマの加畑です。
今月からプログラマ2人で記事を作成していくことになりました(前回の記事)。毎月記事を更新していくことで、どんどんweb業界のトレンドを吸収していきたいと思っています。
前回の記事では「HTTP/2」についての調査報告をしました。今回からは、「AWSでWPをインストールするまでの手順」についての調査報告をいたします。扱う内容が多いため、何回かに分けて記事を作成していこうと思います。どうか最後までお付き合いください。
AWSとは
AWSというのは「AmazonWebService」の略で、amazon.com社がWeb事業者・開発者に向けて提供しているオンラインサービス群の総称です。
この”サービス群”の数がものすごく多いため、初めて触る人にとっては「難しそう」「どれを使ったらいいかわからない」と敬遠されがちです。
一覧画像をご覧いただければ、その多さを実感していただけると思います(※2016年6月時点)。
これだけ数があると、何から手を付けていいか悩んでしまうかと思います。
そこで、何回かの記事にわけて「WPをインストールするまでにどのサービスを使えばいいか」に絞って調査していきます。
WPインストールまでの手順を説明する前に、AWSの特徴である「クラウドコンピューティングサービス」「AutoScaling」について説明しようと思います。
クラウドコンピューティングサービスとは
クラウドコンピューティングサービスとは、「従量課金制の、インターネットを通じて利用できるITサービスとアプリケーションのオンデマンド配信」のことです(公式サイトより)。
クラウドというのはcloud(雲)という意味で、あたかも雲から降ってくるようにサーバのサービスを活用できるということからこの名前が使われています。
クラウドコンピューティングのタイプは、大きく分けて下記の3つがあります。
- Infrastructure as a Service(IaaS)
- Platform as a Service(PaaS)
- Software as a Service(SaaS)
今回WPをインストールするのに使うのはAWSの「Amazon EC2」というサービスなのですが、こちらはIaaSに当たります。
早速IaaSの特徴を見ていきましょう。
Infrastructure as a Service(IaaS) ~インフラストラクチャを提供するサービス~
読み方は「イァ―ス」です。サービス開発者が公開に必要な仮想サーバやネットワークを提供するサービスを指します。
IaaSはネットワーク越しに仮想サーバを好きなだけ起動させることができ、それぞれにインストールするOSも自分で選択することが出来ます。仮想的に用意されるため、数分で何台ものサーバーを立ち上げることが出来ます。
ex)Amazon EC2,GCE…
IaaSであればネット上で解決しますので場所を取らないですし、欲しいと思った時に直ぐにサーバを手に入れられるのでいいこと尽くしのように思うかもしれませんが、デメリットもあります。クラウドコンピューティングサービスのメリット・デメリットについても知っておく必要があります。
クラウドコンピューティングのメリット・デメリット
クラウドコンピューティングのメリットとしては、下記のことが挙げられます。
- 初期投資を抑えることが出来る
- 即日利用可能
- 管理コストがかからない
- 可用性が高い
- 拡張性が高い
またデメリットには、下記のことが挙げられます。
- 信頼性やセキュリティ保証に不安がある
- システム構成が不透明
- 海外のサービスの場合、レスポンスが遅くなる
デメリットにあります「システム構成が不透明」というのはすなわちカスタマイズがしにくくなるということです。既製品を利用するわけですから、自社の細かい要望に合わせることが難しくなり、結局一から環境を作りなおさないといけなくなった、ということも起こり得るので要注意です。
今から作るサービスにクラウドコンピューティングサービスを使うのに適しているのか、導入する前に十分に検討する必要があります。
引き続き「AutoScaling」の説明に入ろうと思うのですが、PaaSとSaaSについてもまとめておりますので興味のある方はぜひ目を通してください。
Platform as a Service(PaaS) ~プラットフォームを提供するサービス~
読み方は「パース」です。プログラムの実行環境を提供するサービスを指します。
上記のIaaSとは異なり、サーバの選択やOSのインストール、利用するプログラミング言語の設定、MySQLなどのデータベースまで既に用意されているものを利用することが出来ます。ですのでサーバの設定にかかる手間を省くことが出来、プログラムの開発に集中して取り組むことが出来ます。
ex)Google App Engine,Heroku,FluxFlex,DotCloud,Cloud Foundry,Windows Azure, Force.com…
Software as a Service(SaaS) ~ソフトウェアを提供するサービス~
読み方は「サ―ス」です。ソフトウェアをサービスとして提供するサービスを指します。
メールやワープロ、表計算などのソフトウェアは、従来であればパソコンやサーバにインストールする必要がありましたが、SaaSはインターネット経由で提供されるため、インストールする手間を省くことが出来ます。また、インターネット側にデータが保存されるため、どのパソコンからも利用できたり、複数のデバイスから利用できるのもメリットとして挙げられます。SaaSの代表的なものに、Googleが提供している「Googleドキュメント」などのサービスがあります。
ex)Google ドキュメント,CRM…
Auto Scaling(オートスケーリング)とは
サーバの処理能力向上方法には、下記の4つがあります。
スケールアウト・スケールイン
サーバの台数を増やしたり(スケールアウト)減らしたり(スケールイン)することでシステムの性能を向上させることを指します。
スケールアップ・スケールダウン
メモリーやハードディスクの増設をしたり(スケールアップ)減設したり(スケールダウン)することで、CPUをより上位スペックに交換したりして、サーバそのもののパフォーマンスを向上させる事を指します。※スケールアウト・スケールインとは対照的な方法になります。
これらの機能を自動的にしてくれるのが、AutoScalingの意味することになります。
AutoScalingが役立つ場面は、アクセスがピンポイントの時間で大量に発生するときのような場面です。
例えば「Yahooニュースで少しの間だけ会社名が表示された」など、突発的にアクセスが増える状況はいつ訪れるかわかりません。もしもアクセス過多でサーバがダウンしてしまった時に、慌てて設定したとしても間に合わせることは不可能ですが、AutoScalingの設定をして入ればサーバの容量を必要なときだけ自動で増やすことができ、いざというといきにも対応させることが可能です。
AWSでAutoScalingを実装するためには、いくつかの設定が必要になります。この設定次第でうまくサーバが回るかどうかが決定するので、意味をよく理解しておく必要があります。詳しい解説は後半の記事でしたいと思いますので、ご期待ください。
まとめと次回予告
いかがでしたでしょうか。「クラウドコンピューティングサービス」「AutoScaling」について知ることで、AWSを実際に使ってみたくなったのでないでしょうか(僕はなりました)。
次回の記事ではいよいよ、実際にAWSの管理画面を触りながら「AWSでWPをインストールするまで」の手順について調査したいと思います。
ここまで読んでいただき、ありがとうございます。
このシリーズの記事
AWSでWPをインストール①~AWSを利用するうえで必要な知識~