LoginSignup
24
38

More than 5 years have passed since last update.

AWS入門 EC2を使ったWebサーバー構築

Last updated at Posted at 2018-09-23

AWS入門 AWSアカウントの登録から静的サイトの表示まで
AWS入門 ELBを使った負荷分散(ロードバランサー)

EC2を使ったWebサーバー構築

EC2とは

  • Amazon Elastic Compute Cloud(EC2)とは、仮想サーバー機能を提供するクラウドサービス。
  • 初期費用は不要。スペックと稼働時間に応じて課金される。
  • オートスケール機能を利用することで、インスタンスの処理能力を自由に拡張または縮小できる。

EC2の基本用語

  • インスタンス:1台のサーバー
  • EBS(Amazon Elastic Block Store):サーバーのハードディスクに相当する仮想ディスク
  • AMI(Amazon Machine Image):サーバーのインストールするOSや各種ミドルウェアやアプリのイメージ。同じ構成のインスタンスをいくつも起動できる。

EC2インスタンスの起動

EC2インスタンスの生成

  • 東京リージョンを選択して、EC2を選択する。

image.png

Amazonマシンイメージ(AMI)の決定

  • Amazon Linux AMIは、EC2上で実行するアプリのために、多数のAWS APIツールがインストール済み。
  • セキュリティとメンテナンスアップデートを継続的に提供している。
  • yumコマンドを使って、パッケージを自由に追加できる。

image.png

インスタンスタイプの選択

  • 無料利用枠の対象である、t2.microを選択する

image.png

インスタンスの詳細の決定

  • そのままで、ストレージの追加を押す。

image.png

ストレージの追加

  • ストレージは、デフォルトの8GiB、汎用SSDのままで、タグ付の追加を押す。

image.png

インスタンスのタグ付け

  • タグに、Name=WebSampleを追加して、セキュリティグループの設定を押す。

image.png

セキュリティグループの設定

  • 新しいセキュリティグループを作成する(セキュリティグループ名:WebSample、説明:WebServer Group)
  • HTTPを追加する。

image.png

動作確認

  • 確認して、作成を押す。

image.png

  • 新しいキーペアの作成を選択して、キーペア名に、AWSkeypairを入力して、ダウンロードする。
  • キーペアをダウンロードしたら、インスタンスの生成を押す。

image.png

  • インスタンス生成完了

image.png

  • 固有のインスタンスIDが設定される。インスタンスの状態がrunningになっていれば、インスタンスが稼働している。

image.png

EC2インスタンスの状態確認

EC2へのリモート接続

  • EC2インスタンス作成時にダウンロードしたAWSkeypair.pemを~/.sshディレクトリにmvする。
  • AWSkeypair.pemの権限を400に変更する。
$ chmod 400 AWSkeypair.pem
  • ec2にログインする。
$ ssh -i .ssh/AWSkeypair.pem ec2-user@13.230.7.103
The authenticity of host '13.230.7.103 (13.230.7.103)' can't be established.
ECDSA key fingerprint is SHA256:eBLnE0yOZMLCoZJ2S6D/7gI2sDZ1MQayt3INE1RV+rA.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '13.230.7.103' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
10 package(s) needed for security, out of 21 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-172-31-42-150 ~]$

Webサーバーのインストール

  • yumのアップデート。最後にComplete!と出ればOK。
$ sudo yum -y update

Webサーバーのインストール

  • httpdのインストール。最後にComplete!と出ればOK。
$ sudo yum install -y httpd
  • httpdの起動。
$ sudo service httpd start
Starting httpd:                                            [  OK  ]

動作確認

  • パブリックIPか、パブリックDNSにアクセスして、Apacheの画面が出ればOK。

image.png

自動起動の設定

  • httpdを自動起動するためには、sudo chkconfig httpd onコマンドを使う。
  • 自動起動を解除するためには、sudo chkconfig httpd offコマンドを使う。
$ sudo chkconfig --list httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
$ sudo chkconfig httpd on
$ sudo chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Webコンテンツのアップロードと動作確認

EC2へのアップロード

  • ローカルから実行
scp -i .ssh/AWSkeypair.pem ~/index.html ec2-user@13.114.66.79:
  • EC2で実行
$ sudo cp index.html /var/www/html/

動作確認

image.png

EC2インスタンスの開始/停止/再起動/削除

  • EC2は稼働している間は、課金されているので、利用しないインスタンスは停止しておく。
  • EBSはサイズにによって課金される。インスタンスが不要になった時は、すみやかに破棄する。
  • サーバーの再起動はIPアドレスは変わらないが、停止/起動はIPアドレスが変わる。

参考
Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門

24
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
38