🐦

EC2作成時にApacheをユーザーデータで初期インストールする方法

2021/06/19に公開

こんにちは、Masuyama です。

タイトルの通りですが、テスト用として Amazon Linux2 EC2 に Apache をチャチャっとインストールしてテストをしたい機会がありましたので
ユーザデータを使ってインストールできるように工夫してみたいと思います。

ユーザデータについて

公式:起動時に Linux インスタンスでコマンドを実行するより抜粋

Amazon EC2 でインスタンスを起動するとき、起動後にそのインスタンスにユーザーデータを渡し、一般的な自動設定タスクを実行したり、スクリプトを実行したりできます。2 つのタイプのユーザーデータを Amazon EC2 に渡すことができます。

要するに、EC2 を作成する時に打たなきゃいけないコマンドを最初から指定しておける、ってやつです。

EC2 インスタンスの作成

基本的な設定

指示に従って任意のインスタンスを作成していきます。
とりあえずパブリックサブネットに配置して、パブリック IP の自動割り当てを無効にしておきます。

ユーザデータの設定

EC2 を新規作成する時の ステップ 3:インスタンスの詳細設定 画面の一番下に
高度な詳細 という欄があり、その中に ユーザデータ の項目があります。

では今回は yum update と Apache のインストール、起動、および自動起動を設定してみましょう。

#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd

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

ステップを進めていき、忘れずにインバウンドの TCP 80 を開けておきます。

あとは作成するだけです。

Web サーバ (Apache) にアクセス

EC2 のステータスが 実行中 になったら、パブリック IP を確認してブラウザでアクセスします。


※上記 IP は一時的なので本記事公開時点ではアクセス不可

Chrome 等のアドレスバーに入力すると、Web サーバ (Apache の初期ページ) に無事アクセスできました。

今回のような使い方であれば SSH ログイン等をすることなく Web サーバを起動できるので、ELB のテストをしたい時なんかに地味に便利だったりします。
他にも検証用のユーザを作成したりだとか、定番の環境を作りたい時にはユーザデータは協力なのでぜひ活用していきましょう。

Discussion