前 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を選択する。
Amazonマシンイメージ(AMI)の決定
- Amazon Linux AMIは、EC2上で実行するアプリのために、多数のAWS APIツールがインストール済み。
- セキュリティとメンテナンスアップデートを継続的に提供している。
- yumコマンドを使って、パッケージを自由に追加できる。
インスタンスタイプの選択
- 無料利用枠の対象である、
t2.micro
を選択する
インスタンスの詳細の決定
- そのままで、ストレージの追加を押す。
ストレージの追加
- ストレージは、デフォルトの8GiB、汎用SSDのままで、タグ付の追加を押す。
インスタンスのタグ付け
- タグに、Name=WebSampleを追加して、セキュリティグループの設定を押す。
セキュリティグループの設定
- 新しいセキュリティグループを作成する(セキュリティグループ名:WebSample、説明:WebServer Group)
- HTTPを追加する。
動作確認
- 確認して、作成を押す。
- 新しいキーペアの作成を選択して、キーペア名に、AWSkeypairを入力して、ダウンロードする。
- キーペアをダウンロードしたら、インスタンスの生成を押す。
- インスタンス生成完了
- 固有のインスタンスIDが設定される。インスタンスの状態がrunningになっていれば、インスタンスが稼働している。
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。
自動起動の設定
- 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/
動作確認
EC2インスタンスの開始/停止/再起動/削除
- EC2は稼働している間は、課金されているので、利用しないインスタンスは停止しておく。
- EBSはサイズにによって課金される。インスタンスが不要になった時は、すみやかに破棄する。
- サーバーの再起動はIPアドレスは変わらないが、停止/起動はIPアドレスが変わる。