2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

今さら聞けないAWSでロードバランサーを使ったWEBサイト構築手順(サーバー編)

Posted at

第3回目はサーバー編ということで、主EC2を作成していきます。

構成図

構成図でいうと赤枠部分の設定をしていきます。

20220901_server.png

セキュリティグループの作成

まずロードバランサー、踏み台サーバー、WEBサーバのセキュリティグループを作成します。
ロードバランサーのセキュリティグループだけ先に作ります。
必要最低限な設定をしますので、それぞれ以下の設定となります。

役割 名称 許可ポート アクセス元
ロードバランサー web-system-alb-sg https(443番ポート) どこからでも許可
踏み台サーバー web-system-bastion-sg SSH(22番ポート) 自分のグルーバルIPアドレス
WEBサーバー web-system-sg http(80番ポート) ロードバランサーからのみ
WEBサーバー web-system-sg SSH(22番ポート) 踏み台サーバーからのみ

・ロードバランサーのセキュリティグループ作成

ロードバランサーのセキュリティグループから作成します。
AWSマネジメントコンソールからEC2へ移動します。
「セキュリティグループ」をクリックします。
sg_01.png

次に「セキュリティグループを作成」をクリックします。
sg_02.png

セキュリティグループの名称、説明を入力します。例では「web-system-alb-sg」とします。
VPCはネットワーク編で作成したVPCを選択します。
さらにルールを追加をクリックします。
sg_03.png

タイプ「HTTPS」
ソース「Anywhere-IPv4」を選択します。
sg_04.png

最後に「セキュリティグループの作成」をクリックします。
sg_05.png

同じ要領で踏み台サーバー用とWEBサーバー用のセキュリティグループを作成します。

AWSマネジメントコンソールからEC2へ移動します。
「セキュリティグループ」をクリックします。
sg_01.png

次に「セキュリティグループを作成」をクリックします。
sg_02.png

セキュリティグループの名称、説明を入力します。例では「web-system-bastion-sg」とします。
VPCはネットワーク編で作成したVPCを選択します。
さらにルールを追加をクリックします。
sg_06.png

タイプ「SSH」
ソース「マイIP」を選択します。
sg_07.png
これで今作業をしている環境のグローバルIPアドレスからのみ踏み台サーバーにSSHできます。

最後に「セキュリティグループの作成」をクリックします。
sg_08.png

3つ目にWEBサーバー用のセキュリティグループを作成します。
AWSマネジメントコンソールからEC2へ移動します。
「セキュリティグループ」をクリックします。
sg_01.png

次に「セキュリティグループを作成」をクリックします。
sg_02.png

セキュリティグループの名称、説明を入力します。例では「web-system-sg」とします。
VPCはネットワーク編で作成したVPCを選択します。
さらにルールを追加をクリックします。
sg_09.png

1つ目は
タイプ「HTTP」
ソース「ロードバランサーのセキュリティグループ(web-system-alb-sg)」を選択します。
これでロードバランサーからのHTTP通信だけ許可するルールになります。

2つ目は
タイプ「SSH」
ソース「ロードバランサーのセキュリティグループ(web-system-bastion-sg)」を選択します。
これで踏み台サーバーからのSSH通信だけ許可するルールになります。

以下の例ではセキュリティグループIDになっていますがソースの中から対応するセキュリティグループを選んでください。
sg_10.png

以上でセキュリティグループの作成は完了です。

EC2作成

次にEC2を作成します。
まず踏み台サーバから作成します。

AWSマネジメントコンソールからEC2へ移動します。
「インスタンス」をクリックします。
ec2_01.png

「インスタンスを起動」をクリックします。
ec2_02.png

インスタンス名を入力します。例では「web-system-bastion」とします。
Amazon マシンイメージとアーキテクチャはそのままとします。
必要に応じて適宜変更してください。
ec2_03.png

インスタンスタイプは「t2.micro」とします。こちらも必要に応じて変更してください。
インスタンスタイプを選択した後に「新しいキーペア作成」をクリックします。
既にキーをさ作成済みの場合は作成不要です。
ec2_04.png

キーペア名を入力します。例では「web-system-key」とします。
キーペアのタイプとプライベートキーファイル形式はそのままで問題ありません。
「キーペアを作成」をクリックします。
ec2_05.png

キーペアが作成されたことを確認します。
ec2_06.png

次にネットワークの設定をします。
「変更」をクリックします。
ec2_07.png
VPCはネットワーク編で作成したVPCを選択
サブネットはネットワーク編で作成したPulicサブネットを選択
セキュリティグループは先ほど作成した「web-system-bastion-sg」を選択します
ec2_08.png

最後に画面右下の「インスタンスを起動」をクリックします。
ec2_09.png

Elastic IP適用

起動した踏み台サーバーにElastic IPを適用して外部からSSHでアクセスできるようにします。

AWSマネジメントコンソールからEC2へ移動します。
「Elastic IP」をクリックします。
ec2_10.png

次に「Elastic IPアドレスを割り当てる」をクリックします。
ec2_11.png

タグに「Name」を指定します。例では「web-system-bastion」とします。
ec2_12.png

Elastic IPが作成されたことを確認します。
作成したElastic IPを先ほど作成した踏み台サーバーに適用します。

「アクション」→「Elastic IP アドレスの関連付け」を選択します。
ec2_13.png

リソースタイプから「リソース」を選択します。
インスタンスは作成した踏み台サーバーのインスタンスを選択します。
最後に「関連付ける」をクリックします。
ec2_14.png

インスタンスの状態が「実行中」
ステータスチェック「2/2のチェックに合格しました」
となっていることを確認します。
ec2_15.png
また関連付けしたパブリックIPv4アドレスが適用されていることを確認します。

作成した踏み台サーバにログインできるか確認しましょう。
web-system-key.pemは作成した鍵で18.176.183.111はElastic IPです。お使いの環境に合わせて読み替えてください。

$ ssh -i web-system-key.pem ec2-user@18.176.183.111

WEBサーバー作成

次にWEBサーバを作成します。
先ほどの踏み台とほぼ同じ要領になります。

AWSマネジメントコンソールからEC2へ移動します。
「インスタンス」をクリックします。
ec2_01.png

「インスタンスを起動」をクリックします。
ec2_02.png

インスタンス名を入力します。例では「web-system」とします。
Amazon マシンイメージとアーキテクチャはそのままとします。
必要に応じて適宜変更してください。
web-server_01.png

キーペア名は先ほど作成した「web-system-key」を選択します。
新規で作成しても問題ありません。
web-server_02.png

次にネットワークの設定をします。
「変更」をクリックします。
ec2_07.png
VPCはネットワーク編で作成したVPCを選択
サブネットはネットワーク編で作成したPrivateサブネットを選択
セキュリティグループは先ほど作成した「web-system-sg」を選択します
web-server_03.png

最後に画面右下の「インスタンスを起動」をクリックします。
web-server_04.png

インスタンスの状態が「実行中」
ステータスチェック「2/2のチェックに合格しました」
となっていることを確認します。
そしてプライベートIPアドレスのみ振られていることを確認します。
web-server_05.png

WEBサーバーに振られたプライベートIPアドレスで踏み台サーバーからSSHでログインできることを確認しましょう。
ログインできない場合はセキュリティグループの設定が間違っている可能性があります。

踏み台サーバーから以下のコマンドでログインできることを確認します。

ssh -i web-system-key.pem ec2-user@10.150.20.15

web-system-key.pemは作成した鍵で10.150.20.15はプライベートIPアドレスです。お使いの環境に合わせて読み替えてください。
鍵は踏み台サーバーにコピーしておきます。catコマンドで開いてコピー&ペーストのコピーでも問題なく動作します。
鍵の権限変更だけ忘れないで実行してください。

$ chmod 400 web-system-key.pem

WEBサーバー設定

WEBサーバーにログインできましたら、Apacheのインストールと起動します。

以下のコマンドでApacheのインストールをします。

sudo yum install httpd -y 

次に起動します。さらに自動起動も設定します。

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

起動していることを確認します。

$ sudo systemctl status httpd

active (running)となっていることを確認します。

次にサンプルページを作ります。
viエディタを使う必要はありませんので、お好きなエディタを使用して「web-system」とだけ書いてindex.htmlを作成します。

sudo vi /var/www/html/index.html
web-system

以上でサーバー編は終了です。
次回はロードバランサー編で最終回になります。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?