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?

【AWS】【AutoScaling】EC2上にWordpress作成 ~スケーラビリティ~

Posted at

はじめに

前回のハンズオンで構築した内容にスケーラビリティを追加したハンズオンの内容になっております。
はじめに、AutoScalingを使用し、最後にはCloudWatch Alarmとの連携までを行い、必要に応じて、自動でスケールイン・アウトが可能なシステム構築を行える内容となっておりますので、最後までお付き合いください。

構築図

image.png

追加したリソース

・AutoScaling

・CloudWatch Alarm

構築手順

  1. 起動テンプレート作成

  2. AutoScalingの作成

  3. CloudWatch Alarmの作成

  4. AutoSaclingのスケーリングポリシー作成

  5. EC2インスタンスへの負荷テスト

  6. 負荷テスト解除

構築

1. 起動テンプレート作成

➀「起動テンプレート名」:任意の名前を入力

➁「自分のAMI」を選択し、「自己所有」を選択

➂「AMI」:以前作成した、自身のAMIを選択

➃「キーペア名」:自身で作成したキーペア名を選択

➄「サブネット」:EC2を作成したいサブネットを選択

➅「SG」:「既存のSGを選択する」を選択し、「共通のSG」へEC2にアタッチしているSG名を指定する。

➆「高度なネットワーク設定」内の「パブリックIPの自動割り当て」を有効化とする。

➇「起動テンプレートを作成」押下

image.png

image.png

image.png

image.png

起動テンプレート作成完了!
image.png

2. AutoScalingの作成

➀「Auto Scaling」を押下

➁「Auto Scalingグループを作成する」押下

➂「Auto Scalingグループ名」:任意の名前を入力

➃「起動テンプレート」:上記で作成した自身の起動テンプレートを指定

➄「バージョン」:latestを指定し、「次へ」押下

➅「VPC」:自身の作成したVPCを選択

➆「AZとサブネット」:自身の作成したAZとサブネットを選択し、「次へ」押下

➇「既存のロードバランサーにアタッチする」選択

➈「ロードバランサーのターゲットグループから選択する」選択

➉「既存のロードバランサーターゲットグループ」:自身で作成したものを指定

⑪「追加のヘルスチェックタイプ」:ELBにチェックを入れ、「次へ」押下

⑫希望するキャパシティ:2

⑬最小の希望する容量:2、最大の希望する容量:4

⑭「Auto Scalingグループを作成する」押下

⑮Auto Scalingのアクティビティ画面にて、EC2が2台起動しているログを確認

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

3. CloudWatch Alarmの作成

3-1 アラーム×2の作成(CPU使用率70%よりも高い、CPU使用率30%よりも低い)

➀CloudWatch画面の「アラームの作成」押下後、「メトリクスの選択」押下

➁「EC2>Auto Scalingグループ別」を押下

➂自身の作成したAutoScalingグループの「CPU Utilization」を選択し、「メトリクスの選択」押下

➃「期間」:1分

➄「より大きい」選択

➅「70」入力し、「次へ」押下

➆「次のSNSトピックを選択」にて、「既存のSNSトピックを選択」を選択

➇自身で作成したSNSトピック指定
※事前に作成していない場合は、「新しいトピックを作成」から新規で作成を実施する。

➈「アラームの作成」押下

➉アラームが作成されているのを確認
※CPU使用率30%よりも低いアラームの作成は、上記と同様の手順で⑥のみ「30」を入力して実施してください。

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

4. AutoSaclingのスケーリングポリシー作成

➀Auto Scalingグループ画面にて、「オートスケーリング」押下

➁「動的スケーリングポリシーを作成する」押下

➂「ポリシータイプ」:「シンプルスケーリング」選択

➃「スケーリングポリシー名」:任意の名前を入力

➄「CloudWatch Alarm」:3-1で作成したCloudWatch Alarmを選択

⑥「アクションを実行する」:「追加」、「1」、「容量ユニット」「30」を指定し、「作成」押下

➆「アクションを実行する」:「削除」、その他は1つ目の作成手順⑥と同様
※2つ目のスケーリングポリシー作成の操作手順

image.png

image.png

2つ目のスケーリングポリシー作成の画像
image.png

5. EC2インスタンス×2への負荷テスト

前提:EC2へ接続しているものとする。

➀バックグラウンドで、CPUに負荷をかけるためのコマンド×4回を実行

yes >> /dev/null & 

➁CPU使用率を確認

top

こんな感じになる。
image.png

image.png

➂Auto Scalingグループ画面にて、アクティビティの確認

➃EC2画面にて、追加でEC2インスタンスが起動しているのを確認

image.png

image.png

6. 負荷テスト解除

➀バックグラウンドで実行しているプロセスの停止

kill {5507..5510}

➁CPU使用率の確認

top

➂Auto Scalingグループ画面にて、EC2が削除されているログの確認

➃EC2画面にて、EC2インスタンスが削除されているのを確認

image.png

wordpressの画面は、変わらず動いていることを確認

image.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?