AWSでWebサーバーを構築

AWSやる事EC2編[no.3]

  1. EC2インスタンスを設置

  2. SSHでEC2に接続する

  3. Apacheをインストールする

  4. ファイアウオールを設定する

  5. Elastic IPアドレスでIPアドレスを固定する

EC2インスタンスを設置

EC2とはElastic Compute Cloudの略、AWSクラウド上の仮想サーバー

作成手順

  1. EC2インスタンスからインスタンスを起動をクリック

  2. 名前を入力

  3. AMIの選択(サーバーのテンプレートのようなもの)
    OSイメージからAmazon Linuxを選択

  4. インスタンスタイプの選択(サーバーのスペック)
    T2.microを選択

  5. 新しいキーペアの作成(ssh)
    名前を入力してからキーペアの作成をクリック

  6. ネットワーク設定からpublicサブネットを割り当てる

  7. パブリックIPの自動割り当てを有効化する

  8. セキュリティグループ名を入力

  9. 高度なネットワーク設定からネットワークインターフェイスを設定する
    プライマリIPに10.0.10.10を追加

  10. ストレージの追加(EBSとインスタンスストアの2種類)
    デフォルトのストレージ(EBS)を使用する

  11. 高度な詳細からシャットダウン操作を停止テナンシーを共有にする

  12. インスタンスを起動をクリック

用語補足

EBS

  • 他のインスタンスに付け替え可能

  • インスタンスをStop/Terminateしても保存可能

  • Snapshotを取得してS3に保存可能

  • 費用がかかる

インスタンスストア

  • そのインスタンス専用の一時的なストレージ(付け替え不可)

  • インスタンスがStop/Terminateされるとクリアされる

  • 無料

EC2インスタンスにSSHでログインする

ターミナルで以下の作業を行う

$ chmod 600 秘密鍵のpemファイル

自分だけがファイルの読み込みと書き込みをできるように権限を変更する

以下↓chmodについての参考↓

権限を確認するコマンド↓

$ 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の場合はセキュリティグループを設定する

  1. EC2から対象のEC2にチェックを入れる

  2. セキュリティ欄からから登録されているセキュリティグループをクリック

  3. インバウンドのルールの編集をクリック

  4. ルールを追加をクリック

  5. タイプをHTTP、ポート範囲が80、ソースをAnywhere-IPv4にする

  6. EC2のIPアドレスにhttp://で接続してApacheが表示される事を確認する

Elastic IPアドレスでパブリックIPアドレスを固定する

EC2のパブリックIPは再起動すると動的に変更されてしまう
Elastic IPはEC2に関連づけられている、かつインスタンスが起動中であるならば無料

  1. EC2のネットワーク&セキュリティからElastic IPをクリック

  2. Elastic IPアドレスを割り当てるをクリック

  3. 一番下の割り当てをクリック

  4. 割り当てられたIPを選択してアクション▼からElastic IPアドレスの関連付けをクリック

  5. インスタンスプライベートIPを入力する

※使わないElastic IPはアクション▼アドレスの関連付けの解除アドレスの解放を行はないと課金される

参考
udemy の「AWS:ゼロから実践するAmazon Web Services」

Webサーバーを作成してIPアドレスからApacheにhttp接続できるようになった


いいなと思ったら応援しよう!