89
76

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 FargateでAutoScaleを試してみる

Last updated at Posted at 2018-01-13

AWS Fargateでより強力になったAuto Scaleingを実施してみます。
AWS公式のブログを参考に設定を実施しました。

TerraformでECS環境の構築【オートスケール編】を参考にTerraformでも設定します。

旧ECSのAutoScale

コンテナインスタンス(EC2)縛りがありコレジャナイ感があります。
以下2つのAuto Scale設定が必要です。

  • コンテナインスタンスのAuto Scale
  • ECS ServiceAuto Scale

ECS.png

FargateのAutoScale

コンテナインスタンス(EC2)から解放され、ECS Cluster内でtaskを自在に配置できます。

  • コンテナインスタンスのAuto Scale

が不要になりました。

Fargate.png

Terraformで設定

以下で一気に作成します。
https://github.com/Thirosue/terraform-sample/tree/master/aws_fargate

ECSとの差分は以下と比較ください。
https://github.com/Thirosue/terraform-sample/tree/master/aws_ecs

  • プロビジョニング
$ cd /path/to/directory/aws_fargate
$ cat terraform.tfvars
access_key="[アクセスキー記載]"
secret_key="[シークレットキーを記載]"
aws_id="[AWS IDを記載]"
$ terraform plan
$ terraform apply
  • 破棄
$ terraform destroy

マネジメントコンソールで設定

Fargate起動

前回記事を参考に実施。

  • 実施後のサービスの状態

Service更新.png

CloudWatch Alarm設定

AWS公式のブログを参考に実施

  • 実施後のアラーム状態

CPU利用率は低いため、ScaleInがアラーム状態で、ScaleOutがOKの状態

CloudWatchAlarm設定.png

ECS Service AutoScale設定

AWS公式のブログを参考に実施

  • Serviceの更新

Service更新.png

  • Auto Scaling Policy設定

作成したAlarmを選択し、クールダウン期間はテスト用に60秒に修正
以下同様に、ScaleInPolicyも作成

AutoScalePolicy設定.png

  • 設定後のAuto Scalingの状態

タスクの最大数も調整の上、更新する

ServiceのAutoScale.png

負荷を掛ける

Apache Bench等で負荷を掛けて、ScaleOutAlarmを発火させます。
必要に応じ、セキュリティグループの調整も実施してください。

bash
$ ab -n 1000000 -c 1000 http://fargate-nginx-alb-XXXXXXXXXXXX.us-east-1.elb.amazonaws.com/
  • ScaleOutが発火した状態

ScaleOut発火.png

  • taskが2つRUNNINGになります

サービス2つRunning.png

アクセス停止

CPU利用率が低下し、ScaleInAlarmが発火して、taskが停止します。

  • AutoScale履歴

Alarmによるstart及びstopの履歴が参照できる。

AutoScale履歴.png

  • taskが1つ(再小数)RUNNINGに戻る

サービス1つRunning.png

最後に

ECSでは苦労した、Auto Scaleがあっさり制約なしで実現できるようになりました。
東京リージョン上陸が待ち遠しいですね。

89
76
4

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
89
76

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?