EC2でApacheのテストページを作る
EC2を使った初歩的な操作の手順を備忘録として残します。
背景
VPCやサブネットを作って、最初にやってみるのは、おそらくはEC2を作って簡単なサイト公開を試すようなところだと思います。
とりあえずやってみようという手順を忘れないように、手順を残しておこうと思います。
手順
VPC構成
一般的且つ最低限使うであろうVPCとして、2つのAZにそれぞれパブリックサブネットとプライベートサブネットを1つづつ、都合2セット用意します。
パブリックサブネットには、インターネットゲートウェイとローカルをルーティングしたルートテーブルを関連付けします。
プライベートサブネットにはローカルオンリーのルートテーブルを関連付けします。
少し雑ですが、このような感じです。
今回はパブリックサブネットにEC2を配置
今回は、最もシンプルにパブリックサブネットの1つにEC2を配置してテストページ公開までやります。
本来はパブリックサブネットに直接サイトを置くようなことはしないのかもしれませんが、EC2への接続を簡単に行えるということで、セキュリティ度返しの方法です。
EC2インスタンス起動
EC2コンソールから「インスタンスを起動」で進めます。
無料利用枠を意識してAMIやインスタンスタイプ、ストレージ設定を選択します。
キーペアはすでに作ってあればそれを、作っていなければこの機に作成しましょう。
ネットワークでは、自分で用意したVPCとパブリックサブネットの1つを指定します。
パブリックIPの自動割り当ては有効化してください。(これがないと、EC2への接続など諸々ができません)
セキュリティグループは、SSH(0.0.0.0/0)とHTTP(0.0.0.0/0)で作成して関連付けます。
以上のような設定で、インスタンスを起動します。
EC2インスタンスへ接続
コンソールから作成したEC2に接続します。
インスタンスへの接続方法は「EC2 Instance Connect」。今回はパブリックサブネットのEC2なので、「EC2 Instance Connectを使用して接続する」で接続します。
これはSSHが許可されていれば接続できるようです。
Apacheをセットアップ
ここからはCLIで進めます。
以下、手順の概要です。
- スイッチユーザでrootに切り替え
- yumを最新化
- Apacheをインストール
- Apacheを起動(EC2再起動で自動的に起動する設定は割愛)
sudo su root
yum -y update
yum -y install httpd
systemctl start httpd
Apacheの動作確認
Apacheの起動が成功していれば、下の例のようなデフォルトのページが表示されると思います。
コンソールの「パブリックDNS」をコピーして、ブラウザのURLに貼り付ければ、確認できます。(http://をつけてください)
もし、表示されない場合、問題の切り分けとして、CLI上でlocalhostで動作するか確認しましょう。
curl http://localhost | head
このように返却されればOKです。
<html><body><h1>It works!</h1></body></html>
CLI上ではうまくいって、ブラウザで表示されない場合、セキュリティグループ等のネットワーク設定を見直しましょう。
テストページデプロイ
あらかじめHTMLを用意していないので、CLI上で作成します。
/var/www/htmlがApacheのルートディレクトリになりますので、そこにHTMLファイルを作成します。
cd /var/www/html
vi index.html
>> 以下、viで記述
<html lang="ja">
<head>
<meta charset="utf-8">
<title>test page</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
// viを保存で閉じる
あとはブラウザを再表示すると、画面が変わります。
まとめ
所要時間10分程度の簡単なチュートリアルです。
今回は、EC2への接続を簡素化するため、パブリックサブネットにEC2を配置しましたが、次回は少しこの辺を変えていきます。