1
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?

More than 3 years have passed since last update.

AWS_冗長化とスケーラビリティ

Last updated at Posted at 2021-01-30

まずは現状の説明をすると以下の図のような感じで、
冗長化_構成図_v1_after - コピー.png
ブラウザにWEBサーバのパブリックDNS名をたたくと、リバースプロキシでAPサーバまで転送される。
APサーバ内のtest.jspを実行すると、RDS内のDBを参照する仕組みである。
DB参照1.PNG
今回はWEBサーバ前面にELBを配置して、ブラウザにはELBのパブリックDNS名を入力すると
WEBサーバに振り分けてくれるようにしたい。

以下の構成図を目標に作業を実施する。
①ELBの作成と振り分け
②Auto-Scailingにより、WEBサーバが負荷によりスケーラブルにEC2インスタンスが立ち上がるようにする。
冗長化_構成図_v1_after.png

ELBの作成
[サービス]-[EC2]-[ロードバランサー]から[ロードバランサーの作成]
ELB1.PNG
WEBサーバの振り分ける用途のため、ELBの種類はALBを選択する。
ELB2.PNG
・スキーム→インターネット向け
・プロトコルはHTTP
・AZはPublic-Subnet(1a)およびPublic-Subnet(1c)を選択
ELB3.PNG
セキュリティグループはELB用として新規作成し、HTTPをすべてのアドレス(0.0.0.0/0)から許可するものに設定する。
ELB4.PNG
ヘルスチェックに使うプロトコルはHTTPと、閾値はデフォルトのままにした。
ELB5.PNG
ターゲットにはパブリックサブネット配置の2つのWEBサーバを選択し、「登録済みに追加」を押す。
ELB6.PNG
確認画面を確認してELBを作成
ELB7.PNG
WEBサーバにはELB経由でアクセスするようにしたため、WEBサーバのセキュリティグループには
ソースがELBからのHTTP通信のみを許可するように設定した。
SG-1.PNG
どちらかに振り分けらているか不明だが、作成したELBのDNS名でAPサーバの画面が表示されることを確認した。
ELB8.PNG
ここで片方のWEBサーバを停止したが、APサーバが表示されたブラウザを更新した後も問題なかったため、
ちゃんと冗長が取れていることが確認できた。
WEBサーバ停止.PNG

Auto-Scailingの設定
WEBサーバが高負荷になった際に、自動的にWEBサーバを増やしてくれるようにAuto-Scailingの設定をする。
WEBサーバを選択し、[イメージとテンプレート]-[インスタンスからテンプレートを作成]
Auto0.PNG
下の画像では、「WEB-Server」となっているが、起動テンプレートのバージョンがわかるように起動テンプレート名は「WebServer1.0.1」とした。
Auto1.PNG
インスタンスからテンプレートを作成しているため、パラメータは入っている。
Auto2.PNG
Auto3.PNG
最初テンプレートの作成ができなかったのだが、
元にしたインタンスが終了保護などを設定していたため、
高度な設定で、黄色の箇所は起動テンプレートには含めないようにした。
Auto4.PNG
Auto-Scailingのグループ名を入力し、起動テンプレートを選択し、次へ。
Auto5.PNG
[起動テンプレートに準拠する]を選択し、対象のVPC/サブネットを選択する。
Auto6.PNG
[既存のロードバランサーにアタッチ](ALBまたはNLB)を選択し、
ターゲットグループには先ほどテンプレート作成時に名前を付けたTG-1を選択した。
Auto7.PNG
スケーリングポリシーでは、希望するインタンス数(2)/最小インスタンス数(2)/最大インスタンス数(4)を選択。
Auto8.PNG
スケールアウトする条件としては、平均CPU使用率が30%になるように自動調整の設定をし、
急激な増減を抑えるため、300秒のウォームアップの時間を設定した。
Auto10.PNG

終わりに
実際にWEBサーバに負荷をかけようと思ったのだが、WEBサーバはリバースプロキシの設定をしているため、
すぐにAPサーバに転送する関係からAuto-ScailingするならAPサーバ側じゃない?と思えた・・・。
またAutoScailingには起動設定(Lanch configurations)と起動テンプレート(Auto Scailing Group)と2種類あるが、
ブラウザからクリックしたときに英語に変わったり、設定が色々ややこしい・・・。

1
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
1
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?