AWSでWebサーバーを構築
AWSやる事EC2編[no.3]
EC2インスタンスを設置
SSHでEC2に接続する
Apacheをインストールする
ファイアウオールを設定する
Elastic IPアドレスでIPアドレスを固定する
EC2インスタンスを設置
EC2とはElastic Compute Cloudの略、AWSクラウド上の仮想サーバー
作成手順
EC2インスタンスからインスタンスを起動をクリック
名前を入力
AMIの選択(サーバーのテンプレートのようなもの)
OSイメージからAmazon Linuxを選択インスタンスタイプの選択(サーバーのスペック)
T2.microを選択新しいキーペアの作成(ssh)
名前を入力してからキーペアの作成をクリックネットワーク設定からpublicサブネットを割り当てる
パブリックIPの自動割り当てを有効化する
セキュリティグループ名を入力
高度なネットワーク設定からネットワークインターフェイスを設定する
プライマリIPに10.0.10.10を追加ストレージの追加(EBSとインスタンスストアの2種類)
デフォルトのストレージ(EBS)を使用する高度な詳細からシャットダウン操作を停止、テナンシーを共有にする
インスタンスを起動をクリック
用語補足
EBS
他のインスタンスに付け替え可能
インスタンスをStop/Terminateしても保存可能
Snapshotを取得してS3に保存可能
費用がかかる
インスタンスストア
そのインスタンス専用の一時的なストレージ(付け替え不可)
インスタンスがStop/Terminateされるとクリアされる
無料
EC2インスタンスにSSHでログインする
ターミナルで以下の作業を行う
$ chmod 600 秘密鍵のpemファイル
自分だけがファイルの読み込みと書き込みをできるように権限を変更する
権限を確認するコマンド↓
$ ls -l
SSHでログインする -iは秘密鍵でログインするよってオプション
ssh -i 秘密鍵のpemファイル ec2-user@パブリックIP
Are you sure you want to continue connecting?と聞かれるのでyesと答える
Apacheをインストールする
yumをアップデートする↓
$ sudo yum -y update
sudoはrootユーザー権限で実行を意味する
-y は何か聞かれたときにすべてyesと答えるオプション
apacheをインストールする↓
$ sudo yum -y install httpd
apacheを起動させる↓
$ sudo systemctl start httpd.service
起動を確認する↓
$ sudo systemctl status httpd.service
サーバー起動時にapacheも起動するようにする ↓
$ sudo systemctl enable httpd.service
上手く設定できているか確認する↓
$ sudo systemctl is-enabled httpd.service
ファイアウォールを設定する
通して良い通信(ポート番号)だけと通信する仕組み
デフォルトだとSSHするための22番のみ空いている
AWSの場合はセキュリティグループを設定する
EC2から対象のEC2にチェックを入れる
セキュリティ欄からから登録されているセキュリティグループをクリック
インバウンドのルールの編集をクリック
ルールを追加をクリック
タイプをHTTP、ポート範囲が80、ソースをAnywhere-IPv4にする
EC2のIPアドレスにhttp://で接続してApacheが表示される事を確認する
Elastic IPアドレスでパブリックIPアドレスを固定する
EC2のパブリックIPは再起動すると動的に変更されてしまう
Elastic IPはEC2に関連づけられている、かつインスタンスが起動中であるならば無料
EC2のネットワーク&セキュリティからElastic IPをクリック
Elastic IPアドレスを割り当てるをクリック
一番下の割り当てをクリック
割り当てられたIPを選択してアクション▼からElastic IPアドレスの関連付けをクリック
インスタンスとプライベートIPを入力する
※使わないElastic IPはアクション▼のアドレスの関連付けの解除とアドレスの解放を行はないと課金される