EC2でWebシステム環境を構築する時の基本パターン

Webシステムを実行する環境をクラウド化しようとした場合、AWSのEC2を検討することがあると思います。

EC2は「Amazon Elastic Compute Cloud」の略称でサーバを仮想的に取得できるサービスで、このサービスを使えば多額の費用を投資してサーバを購入する必要がなくなります

では、EC2のサービスだけ使えばWebシステム環境を構築出来るかわけでは無いので、他のAWSサービスを組合せてどのような構成にするか簡単なパターンを紹介します。

EC2を使用した基本パターン

Webシステムの環境として以下が動作する環境とここでは定義します。

  • OSはLinuxが動作する
  • Webサーバ(Apacheなど)が動作する
  • DB(MySQLなど)が動作する
  • プログラム言語(PHPなど)が動作する

上記が動作する環境をEC2で実現する場合、簡単なパターンとして以下の3パターンを紹介します。

1.シンプルパターン①

個人的には1番スタンダードな形だと思います。

EC2を使う時にVPCというサービスを利用して、そのVPC上にEC2を配置することになります。

VPCは「Virtual Private Cloud」の略称で、クラウド環境そのものが提供されるサービスで、ネットワークに関する設定などはこちらで行います。

上記パターンはEC2をシンプルに使いたい時に利用出来るパターンで、APサーバ用とDBサーバ用の2つのEC2を利用して、APサーバにWebサーバをインストールして、DBサーバにDBをインストールします。

APサーバはパブリックSubNetにして外部からの接続を許可して、DBサーバはプライベートSubNetにして外部の接続を許可しないようにします。これによりDBに格納しているデータのセキュリティを高めることが出来ます

【メリット】

・お手軽に構築できること
・自由にサーバを管理出来ること

【デメリット】

・httpからhttps化をする場合にAWSのACMが利用できない

2.シンプルパターン②

パターン①とほぼ同じパターンです。違いはDBサーバ自体をAWSのサービスを適用してサーバレスにするパターンとなります。

AWSのサービスとしてRDSを利用します。RDSは「Relational Database Service」の略称で、DBサーバをまるっとクラウド化してくれます。

それにより、バックアップやDBのバージョンアップなど、DBサーバ特有の管理が容易になります

【メリット】

・パターン①より更にお手軽に構築できる
・DB管理が楽になる

【デメリット】

・パターン①より費用が高くなるケースが多い
・httpからhttps化をする場合にAWSのACMが利用できない

3.安定パターン

DBの記載は省略して記載しています。

パターン①と②はAPサーバが一つだけでしたので、APサーバが高負荷になった場合に問題が発生する可能性があります。

このパターンは複数のサーバ環境を構築して、ELBを使って負荷分散します

ELBは「Elastic Load Balancing」の略称でサーバの負荷状況に応じて、処理の振分けを行なってくれます。

また、https化をする場合に証明書発行が必要ですが、その発行をAWSのサービスで無料で行えるため、その点もメリットになります。

【メリット】

・サーバの動作が負荷分散されて安定する
・https化が容易

【デメリット】

・パターン①②と比較すると構築に手間がかかる

まとめ

EC2のサーバを構築するということでも複数パターンがありますが、どのパターンを適用するかは、実際に開発するシステム規模により検討すると良いですね。

システムの規模がそこまで大きくなければ、パターン①②で素早く構築する形でも十分機能すると思います。

これからサーバをクラウド化する人のご参考になれば幸いです。

About Author


じょうくん

2004年にシステム開発会社を設立。 引き続き、小さなシステム会社の社長として奮闘中。 Apple好き。鉄拳好き。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です