システム開発 - AWS Webサーバーの構築概要(EC2)

 

前回は、AWS パブリックサブネットをインターネットに接続ということで、仮想ネットワークの構築を中心に解説してきました。

今回からは、パブリックサブネットにEC2サービスを利用して、Webサーバーを構築していきます。

現在の構成イメージ

前回までで、VPC(web_drop-vpc)内に二つのサブネットを配置し、その一つのパブリックサブネット(web_drop-public-subnet-1a)には、インターネットゲートウェイを設定し、インターネットと接続するところまで行いました。

今回は、このネットワーク内にWebサーバーを構築します。Webサーバーの構築にはEC2というサービスを利用しますが、EC2とは、AWSが提供する仮想サーバーです。

今回以降、サーバーの設置に関して行う主な作業は下記のようになります。

  • EC2サーバーの構築
  • SSHによる接続
    • 設置したWebサーバーの中に入る
  • Apacheのインストール
    • Webサーバーとして機能することになる
    • これ以外にPHPや必要なライブラリをインストールする
  • ファイアウォールの設置
    • 通していいデータのみ通して、それ以外を遮断する機能
    • アクセスの制限をする
  • グローバルIPアドレスの固定
    • Elastic IPアドレスを使用する

EC2とは?

EC2とは、Elastic Compute Cloudの略(ECC→EC2)で、AWSクラウド上の仮想サーバーです。そして、EC2からたてられたサーバーのことをインスタンスと呼びます。

特徴としては下記があげられます。

  • 数分で起動し、1時間または秒単位の従量課金
  • サーバーの追加・削除、マシンスペック変更も数分で可能
  • OSより上のレイヤについては自由に設定できる

また、EC2を設定するにあたり行う主な作業は下記の通りです。

  • AMIの選択
  • インスタンスタイプの選択
  • ストレージの追加
  • セキュリティグループの設定
  • SSHキーペアの設定

AMIとは?

AMIとは、Amazon Machine Imageの略で、インスタンスを起動するのに必要な情報が入ったOSのイメージグループです。

少し前のサーバー構築となれば、WindowsサーバーやLinuxサーバーなどに、OSのインストールから始める必要がありましたが、AWSでは、AMIサービス内にある、いわばサーバーのテンプレートを選択するだけで、基礎的な設定を瞬時に完了させることができます。

特徴としては下記があげられます。

  • AWSやサードパーティがAMIを提供
  • 自前のカスタムAMIも作成可能
  • カスタムAMIから何台でもEC2インスタンスを起動可能

AMIのインスタンスタイプとは?

AMIではインスタンスタイプをみて、サーバーのテンプレートを選択します。

インスタンスタイプにより、CPU、メモリ、ストレージ、ネットワーク帯域が異なり、当然、スペックが高いほど、料金も高くなります。

アクセス数などに応じて必要なスペックのあるインスタンスタイプを選択するようにします。

インスタンスタイプの表記

インスタンスタイプは通常下記のように表記が構成されています。

インスタンスファミリー

ここでは、「m」と表記されている部分で、どういう特徴を持っているか?を表します。

インスタンス世代

ここでは「5」と表記されている部分で、数字が大きい方が世代が進んでおり、高性能でコストパフォーマンスが良いということになります。

「xlarge」インスタンスサイズ

ここでは「xlarge」と表記されている部分で、CPUやメモリなどのスケールを表現しています。

ストレージとは?

サーバーに紐づけるデータの保存場所です。下記の2種類があり、一般的にはEBSの利用が多く、それぞれに特徴があります。

EBS(Elastic Block Store)

  • 高い可用性と耐久性を持つストレージ
  • 他のインスタンスに付け替えが可能
  • EC2インスタンスをStop / Terminate(※1)しても保持可能
  • Snap Shopt(※2)を取得しS3(※3)に保存が可能
  • 費用が別途発生
  • OSやDBなど永続性と耐久性が必要なデータを置く場合に適している

インスタンスストア

  • インスタンス専用の一時的なストレージ
  • 他のインスタンスに付け替えは不可
  • EC2インスタンスをStop / Terminate(※1)するとクリアされる
  • 追加費用なし(無料
  • 一時ファイル、キャッシュなど、失われても問題ないデータをおく場合に適している

(※1)Stop(終了) / Terminate(休止)とは、サーバーの状態です。休止することで、稼働が止まるので費用を削減できたり、終了することで、そのサーバーを削除することができます。
(※2)Snap Shot(スナップショット)とは、そのデータのその瞬間を丸々保存することをいいます。
(※3)S3は、非常に安価なデータを保存できるストレージサービスです。

まとめ

今回はEC2でサーバーを構築するにあたり、確認しておきたい用語について解説しました。

次回より実際にEC2の設定を行っていきたいと思います。

次回:AWS Webサーバーの構築(EC2)

一覧:AWS サーバー立ち上げ設定まとめ

文責:フライング・ハイ・ワークス代表 松田 治人(まつだ はるひと)
会社では、Laravelを中心としたエンジニアとして働いており、これまでに50本以上のLaravelによるWebアプリケーションの構築や東京でホームページ制作をしています。
エンジニアとして弊社で働きたい方、お仕事のご相談など、お待ちしております。

WEBサイト制作のお問い合わせ、お見積り依頼、ご質問は
こちらのお問い合わせフォームよりお願いいたします

メールお問い合わせはこちら

フライング・ハイ・ワークスの紹介

フライング・ハイ・ワークスは、東京のホームページ制作・Web制作会社・システム開発会社です。東京都及びその近郊(首都圏)を中心として、SEO対策を意識したPC及びスマホのサイトをワンソース(レスポンシブ対応)で制作します。

実績

デザイナーチームは、グラフィックデザインやイラストの制作も得意としており、著作権を意識しない素材の提供が可能です。システム・コーディングチームでは、Laravelなどを使用したスクラッチからのオリジナルシステム開発を始め、WordPressのカスタマイズを得意としております。

また、SEOやランディングページ(LP)、広告向けバナーなどを他社様でやっていた作業の引継ぎでも問題ありません。制作実績は多数ございますので、お客様に合わせたご提案が可能です。

500点以上のフライング・ハイ・ワークスの制作実績ページをご覧ください!

東京のホームページ制作・Web制作のお問い合わせ、お見積り依頼、相談、質問は
こちらのお問い合わせフォームよりお願いいたします

メールお問い合わせはこちら