0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ELB】Webレイヤを冗長化する

Last updated at Posted at 2025-10-29

記事一覧

前回記事

全体像

AWS ELB.drawio.png
2個目のWebサーバー(EC2インスタンス)をAMIから作成する。
ELBを作成し、Webサーバー2個に負荷分散する。

稼働率を高める

冗長化する

  • Active-Active:冗長化した両方が利用可能
  • Active-Standby:冗長化した片方は利用不可能
  • Hot Standby:スタンバイ側は普段起動し、すぐに利用可能
  • Warm Standby:スタンバイ側は普段起動しているが、利用するのに準備が必要
  • Cold Standby:スタンバイ側は普段停止している

負荷を適切なプロビジョニングで回避する

アクセス数などを予測し適切にリソースを準備する(プロビジョニング)ことで、負荷をさばけるようにする。

  • スケールアップ
    • 個々の要素の性能を向上させる
  • スケールアウト
    • 個々の要素の数を増やす

AMIからEC2を作成

パブリックサブネットの作成

VPCダッシュボードに移動し、左のタブからサブネットを選択
サブネットを作成をクリック
FireShot Capture 092 - subnets - VPC - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
VPC:作成したVPCを選択
サブネット名:自分で入力
アベイラビリティゾーン:1cを選択
サブネットCIDRブロック:10.0.11.0/24
サブネットを作成をクリック
FireShot Capture 093 - VPC - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
作成したパブリックサブネットを選択
画面下にあるルートテーブルタグを選択
ルートテーブルの関連付けを編集をクリック
FireShot Capture 094 - subnets - VPC - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
ルートテーブル ID:過去に作成したルートテーブルを選択(インターネットゲートウェイに接続されているもの)
保存をクリック
FireShot Capture 095 - VPC - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png

AMIの作成

EC2ダッシュボードに移動し、左のタブからインスタンスを選択
過去に作成したEC2インスタンスを選択
アクション→イメージとテンプレート→イメージを作成をクリック
FireShot Capture 096 - インスタンス - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
イメージ名:自分で入力
イメージの説明:自分で入力
イメージを作成をクリック
FireShot Capture 097 - イメージを作成 - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
作成完了までしばらく時間がかかる。

AMIからEC2を作成

EC2ダッシュボードに移動し、左のタブからAMIを選択
AMIからインスタンスを起動をクリック
FireShot Capture 098 - イメージ - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
名前:自分で入力
VPC:作成したVPCを選択
サブネット:作成したパブリックサブネットを選択
パブリック IP の自動割り当て:有効化
ファイアウォール (セキュリティグループ):既存のセキュリティグループを選択する
セキュリティグループ:過去に作成したセキュリティグループを選択
プライマリ IP:10.0.11.10
インスタンスを起動をクリック
FireShot Capture 099 - インスタンスを起動 - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
FireShot Capture 100 - インスタンスを起動 - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
既存のキーペアを選択
FireShot Capture 101 - インスタンスを起動 - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
以上でEC2の作成完了

次に、負荷分散されていることがわかりやすくするために、WordPressで表示される内容を書き換える。
Tera Termで1個目のEC2インスタンスにログインする
WordPressのディレクトリに移動

cd /var/www/html/

index.phpをエディタで編集する

sudo nano index.php

ファイルの最後に下記を追加する(sample 1aと表示するコード)

echo '<p>sample 1a</p>';

TeraTerm3.png

1cのEC2インスタンスでも同様に、WordPressで表示される内容を書き換える。
index.phpファイルの最後に下記を追加する(sample 1cと表示するコード)

echo '<p>sample 1c</p>';

TeraTerm4.png

ELBの作成

※ELBを配置すると、パブリックIPアドレス使用料が1時間あたり0.005USD発生するので、無料で利用したい場合は、ELBの作成は行わない

ELBの作成

EC2ダッシュボードに移動し、左のタブからロードバランサーを選択
ロードバランサーの作成をクリック
FireShot Capture 102 - ロードバランサー - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
Application Load Balancerを選択
FireShot Capture 103 - ロードバランサーの比較と選択 - EC2 - ap-northeast-1_ - [ap-northeast-1.console.aws.amazon.com].png
ロードバランサー名:自分で入力
VPC:作成したVPCを選択
アベイラビリティーゾーンとサブネット:1aのパブリックサブネット、1cのパブリックサブネットを選択
FireShot Capture 105 - Application Load Balancer を作成 - EC2 - ap-northeast-1_ - [ap-northeast-1.console.aws.amazon.com].png
FireShot Capture 106 - Application Load Balancer を作成 - EC2 - ap-northeast-1_ - [ap-northeast-1.console.aws.amazon.com].png

セキュリティグループ:新しいセキュリティグループを作成をクリック

  • インバウンド:HTTP、0.0.0.0/0
    FireShot Capture 104 - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png

ロードバランサーの作成画面に戻って、セキュリティグループに先ほど作成したセキュリティグループを選択
FireShot Capture 108 - Application Load Balancer を作成 - EC2 - ap-northeast-1_ - [ap-northeast-1.console.aws.amazon.com].png
リスナーとルーティングの項目でターゲットグループを作成をクリック

  • ターゲットグループ名:自分で入力
  • VPC:作成したVPCを選択
    FireShot Capture 109 - ステップ 1 ターゲットグループの作成 - EC2 - ap-northeast-1_ - [ap-northeast-1.console.aws.amazon.com].png
  • 2個のEC2インスタンスをターゲットに登録
    FireShot Capture 111 - ステップ 2 ターゲットグループの作成 - EC2 - ap-northeast-1_ - [ap-northeast-1.console.aws.amazon.com].png

ロードバランサーの作成画面に戻って、ターゲットグループに先ほど作成したターゲットグループを選択
FireShot Capture 112 - Application Load Balancer を作成 - EC2 - ap-northeast-1_ - [ap-northeast-1.console.aws.amazon.com].png
ロードバランサーの作成をクリック

次に、動作確認をする
作成したロードバランサーを選択する
画面下にあるDNS名をコピーする
WebブラウザにDNS名を貼り付ける
FireShot Capture 113 - ロードバランサー - EC2 - ap-northeast-1 - [ap-northeast-1.console.aws.amazon.com].png
WordPressの画面でページの最後にある文字がページ更新すると「samle 1a」、「sample 1c」に切り替わるのを確認する
FireShot Capture 114 - test - [aws-and-infra-alb-878636632.ap-northeast-1.elb.amazonaws.com].png

次の記事

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?