Study & Practice

北海道札幌市のプログラマによる技術とか雑記のブログ

EC2インスタンスにApacheのサーバーを立ててのテストページを表示する

今まで何回もやったことあるけど毎回忘れて調べてるので備忘録として手順を残す

VPCの作成

マネジメントコンソール上部のサービスタブからVPCを選択してVPC管理画面で「VPCの作成」ボタンを押す

VPCの設定では名前とCIDRブロックを設定する
今回は名前をtrial-vpc、CIDRブロックをデフォルトの10.0.0.0/24を選択

作成ボタンを押してVPCの作成は完了

サブネットの作成

VPC管理画面の左側メニューから「サブネット」を選択し、上部の「サブネットの作成」ボタンを押す

サブネットの作成画面では名前、VPCアベイラビリティーゾーン、CIDR ブロックを以下に設定する

名前 trial-subnet
VPC trial-vpc
アベイラビリティーゾーン ap-northeast-1a
CIDRブロック 10.0.0.0/24

VPCは先ほど作ったVPC選択する。本記事ではtrial-vpc

アベイラビリティーゾーンはどれを選んでも問題ない。本記事ではap-northeast-1aを選択

CIDRブロックはVPC内でネットワークを分ける場合は細かく設定する必要があるが
今回は分けないで行うためVPCと同じ10.0.0.0/24を設定

作成ボタンを押してサブネットの作成は完了

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

画面左側のメニューから「インターネットゲートウェイ」を選択し、「インターネットゲートウェイの作成」ボタンを押す

名前タグに「trial-ig」を設定して「インターネットゲートウェイの作成」ボタンを押す

インターネットゲートウェイの一覧画面から「trial-ig」の行を選択し、「アクション」、「VPCにアタッチ」を選択

「使用可能なVPC」の欄で[trial-vpc]を選択して「インターネットゲートウェイのアタッチ」ボタンをおして完了

ルートテーブルの作成

画面左側のメニューから「ルートテーブル」を選択し「ルートテーブルの作成」ボタンを押す

ルートテーブルの作成画面で名前タグを「trial-rt」、VPCを「trial-vpc」を選択して「作成」ボタンを押す

ルートテーブル一覧から[trial-rt]の行を選択して、下部の「ルート」タブを選択し「ルートの編集」ボタンを押す

「ルートの追加ボタン」を押し、送信先を「0.0.0.0/0」、ターゲットを「Internet Gateway」の「trial-ig」を設定して「ルートの保存」ボタンを押す

ルートテーブル一覧から[trial-rt]の行を選択して、下部の「サブネットの関連付け」タブを選択し「サブネットの関連付けの編集」ボタンを押す

サブネット一覧から「trial-subnet」を選択して「保存」ボタンを押して完了

EC2インスタンスの作成

画面上部のサービスタブからEC2を選択してEC2の管理画面を開く。
次に画面左側のメニューから「インスタンス」を選択し、「インスタンスの作成」ボタンを押す

ステップ 1: Amazon マシンイメージ (AMI)では「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択
ステップ 2: インスタンスタイプの選択では「t2.micro」を選択し次のステップへ
ステップ 3: インスタンスの詳細の設定では以下の設定をし次のステップへ

ネットワーク trial-vpc
サブネット trial-subnet
自動割り当てパブリックIP 有効

そのほかは任意の設定で問題ない。本記事ではデフォルトのまま進める。

ステップ 4: ストレージの追加では必要な分のストレージを設定し次のステップへ。本記事ではデフォルトのままとした
ステップ 5: タグの追加では必要に応じてタグを設定して次のステップへ。本記事ではタグを1つ追加してキーを「Name」、値を「trial-ec2」のみを設定
ステップ 6: セキュリティグループの設定では新しいセキュリティグループを作成するを選択しセキュリティグループ名を「trial-ec2-sg」として以下を設定して「確認と作成」ボタンを押す

タイプ ソース
SSH マイIP
HTTP カスタム(0.0.0.0/0, ::/0)

ステップ 7: インスタンス作成の確認では入力に間違いがないかを確認し、「起動」ボタンを押す

上記を行うと「既存のキーペアを選択するか、新しいキーペアを作成します。」というダイアログが出てくる

キーペアを使いまわすことは推奨されていないので「新らしいキーペアの作成」を選択し、キーペア名を「trial-ec2-key」と設定して「キーペアのダウンロード」を押す
キーペアのダウンロードが完了したら「インスタンスの作成」ボタンを押す

インスタンス画面に戻りNameがtrial-ec2となっている行のインスタンスの状態が「running」になれば問題なくEC2インスタンスが起動している。
インスタンスの状態が「pending」になっている場合は数十秒から数分程度までば「running」に遷移するはず

EC2インスタンスApacheをインストールする

インスタンス画面で「trial-ec2」の行を選択して出てくる画面下部の「説明」欄からIPv4 パブリック IPをクリップボードにコピーする

ターミナルソフトを開き(本記事ではWindowsコマンドプロンプト)キーペアのあるディレクトリに移動したら下記コマンドを実行する

ssh -i trial-ec2-key.pem ec2-user@コピーしたIPアドレス

キーペア名(trial-ec2-key.pem)はキーペアのダウンロード時に設定したキーペア名を入力する
コピーしたIPアドレスの部分は本記事のようにインスタンス作成のステップ 3で自動割り当てパブリックIPを有効にした場合、EC2インスタンスを起動するごとにインスタンスIPアドレスが変わるので注意

初回ログイン時は下記のようなメッセージが出てくるがyesで問題ない

The authenticity of host 'IPアドレス (IPアドレス)' can't be established.
ECDSA key fingerprint is SHA256:Je2wxOb+fwZosDX/qZKL1AjOojfiwedHag2M/5mRe9U.
Are you sure you want to continue connecting (yes/no)?

ログインできたら下記のコマンドでApacheをインストールしてApacheを起動する

sudo yum install -y httpd
sudo systemctl status httpd

ブラウザからEC2にアクセスする

sshで繋いだのと同じIPアドレスにブラウザからアクセスしたらApacheのテストページが表示されるはず

以上で「EC2インスタンスApacheのサーバーを立ててのテストページを表示する」が完了