AWS VPC内のEC2インスタンスにApacheを導入する方法

投稿者: | 2020-07-28

前回はCloudWatch EventsとSNSを使いメール通知を行う方法について説明しました。今回はVPC内のEC2インスタンスにApacheを導入する方法について説明します。

今回の構成について

今回は以下の構成で設定を行います。

VPCの中にインターネットのアクセスを行うサブネットを作成し、その中にEC2インスタンスを配置します。インターネットゲートウェイでインターネットアクセスを可能にし、EC2インスタンスにApacheを導入しトップページを表示するまでを実施します。

EC2インスタンスへのSSH接続はTera Termを使用して接続を行うため、必要に応じてインストールしておいてください。

VPC、サブネットの作成

初めにVPC、サブネットを作成します。VPCコンソールの左側ペインから「VPC」を選択し「VPCの作成」をクリックします。

「VPCの作成」画面で名前タグとIPv4 CIDRブロックを入力し「作成」をクリックします。今回設定を行った項目は以下の通りです。それ以外の項目はデフォルト値とします。

名前タグ TestVPC
IPv4 CIDRブロック 10.0.0.0/16

VPC作成後、VPCコンソールの左側ペインから「サブネット」を選択し「サブネットの作成」をクリックします。

「サブネットの作成」画面で名前タグとVPC、アベイラビリティーゾーン、IPv4 CIDRブロックを設定し「作成」をクリックします。今回設定を行った項目は以下の通りです。

名前タグ Public Subnet
VPC 作成したTestVPCを選択
アベイラビリティーゾーン ap-northeast-1a
IPv4 CIDRブロック 10.0.1.0/24

インターネットゲートウェイの作成

VPC、サブネット作成後、インターネットのアクセスを行うためのインターネットゲートウェイを作成します。VPCコンソールの左側ペインの「インターネットゲートウェイ」を選択し「インターネットゲートウェイの作成」をクリックします。

「インターネットゲートウェイの作成」画面で名前タグを設定し「インターネットゲートウェイの作成」をクリックします。今回設定を行った項目は以下の通りです。タグは名前タグ設定時に同名のタグが設定されるためそのままとします。

名前タグ TestIGW

インターネットゲートウェイ作成後、VPCへアタッチします。インターネットゲートウェイ作成後に表示される「VPCへアタッチ」をクリックします。

「VPCにアタッチ」画面で、使用可能なVPCに作成したTestVPCを選択し「インターネットゲートウェイのアタッチ」をクリックします。

ルートテーブルの設定

インターネットゲートウェイ作成後、ルートテーブルにインターネット接続用のルートを作成します。VPCコンソールの左側ペインから「ルートテーブル」を選択し「TestVPC」のルートテーブルにチェックを付け、ルートタブから「ルートの編集」をクリックします。

「ルートの編集」画面で「ルートの追加」をクリックし以下のルートを追加します。追加後「ルートの保存」をクリックします。

送信先 0.0.0.0/0
ターゲット TestIGWを選択

ルートの編集後、サブネットの関連付けをします。ルートテーブルの「サブネットの関連付け」タブを選択し「サブネットの関連付けの編集」をクリックします。

「サブネットの関連付けの編集」画面で「Public Subnet」を選択し「保存」をクリックします。

EC2インスタンスの作成

VPCの設定後、EC2インスタンスを作成します。EC2コンソールの左側ペインから「インスタンス」を選択し「インスタンスの作成」をクリックします。

「Amazonマシンイメージ(AMI)」画面でインスタンスのOSを選択します。今回はAmazon Linux2 64ビットを使用するため、該当OSの「選択」をクリックします。

「インスタンスタイプの選択」画面で無料枠の「t2.micro」を選択し「次のステップ:インスタンスの詳細の設定」をクリックします。

「インスタンスの詳細の設定」画面でネットワーク関連の設定を行い「次のステップ:ストレージの追加」をクリックします。今回設定を行った項目は以下の通りです。それ以外の項目はデフォルト値とします。

ネットワーク TestVPCを選択
サブネット Public Subnetを選択
自動割り当てパブリックIP 有効

「ストレージの追加」画面はボリュームタイプに「汎用SSD(gp2)」が選択されていることを確認し「次のステップ:タグの追加」をクリックします。

「タグの追加」画面でキー値に「Name」、値に「WebServer」と設定し「次のステップ:セキュリティグループの設定」をクリックします。

「セキュリティグループの設定」画面で「ルールの追加」をクリックしHTTP接続を許可する設定を追加し「確認と作成」をクリックします。今回設定を行った項目は以下の通りです。

タイプ HTTP
プロトコル TCP
ポート範囲 80
ソース カスタム、0.0.0.0/0, ::/0

「インスタンス作成の確認」画面で設定内容に問題なければ「起動」をクリックします。

「既存のキーペアを選択するか、新しいキーペアを作成します。」画面で「新しいキーペアの作成」を選択しキーペア名を設定します。キーペア名の設定後「キーペアのダウンロード」をクリックし、EC2インスタンスにSSH接続するためのキーをダウンロードします。キーのダウンロード後、「インスタンスの作成」をクリックします。

EC2インスタンスへのSSH接続・Apacheの導入

EC2インスタンス作成後、EC2インスタンスにSSH接続します。EC2コンソールの左側ペインから「インスタンス」を選択し、先程作成したEC2インスタンスを選択します。選択後、「説明」タブの「IPv4パブリックIP」のIPアドレスをコピーします。

IPアドレスのコピー後、Tera Termを開き先程コピーしたIPアドレスをホストに貼り付け「OK」をクリックします。

フィンガープリントの画面で「続行」をクリック後、ユーザ名と秘密鍵を指定し「OK」をクリックします。今回設定を行った項目は以下の通りです。

ユーザ名 ec2-user
秘密鍵 インスタンス作成時にダウンロードした秘密鍵を選択

以下のようなEC2の画面が表示されればEC2インスタンスへのSSH接続は成功です。

SSH接続後、リポジトリのアップデート、Apacheをインストールします。

・リポジトリのアップデート、Apacheをインストールする
$ sudo yum -y update
$ sudo yum install -y httpd

Apacheのインストール後、Apacheを起動します。

・Apacheを起動する
$ sudo systemctl start httpd

動作確認

Apacheの起動後、ブラウザを開き「http://<EC2のパブリックIPアドレス>」で接続します。Apacheのテストページが表示されればEC2でのWebサーバ作成は完了です。