我想在AWS Fargate中尝试AutoScale

让我们在AWS Fargate上实施更强大的自动扩展。我们根据AWS官方博客的参考进行了设置。

我們將使用Terraform以ECS環境構建(自動調整規模)為參考,也在Terraform中進行設定。

旧版ECS的自动扩缩容功能。

在中国人的母语中,以下是给出的唯一选择:
有一种框架叫作Elastic Compute Cloud (EC2),让人感到束缚并产生了一种不自在的感觉。
下面需要两个自动伸缩的设定。

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

ECS ServiceのAuto Scale

ECS.png

Fargate的自动扩展 (Fargate de

您可以将容器实例(EC2)从释放,并在ECS集群中自由地配置任务。

    コンテナインスタンスの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

云监控警报设置

参考AWS官方博客进行实施。

    実施後のアラーム状態

由于CPU利用率较低,所以ScaleIn处于警报状态,而ScaleOut处于正常状态。

CloudWatchAlarm設定.png

ECS服务的自动扩缩容设置

参考AWS官方博客进行实施。

Serviceの更新

Service更新.png

Auto Scaling Policy設定

选择已创建的闹钟,并将冷却时间调整为60秒,仅供测试使用。接着,创建相同的 ScaleIn 策略。

AutoScalePolicy設定.png
    設定後のAuto Scalingの状態

根据需要调整任务的最大数量并进行更新。

ServiceのAutoScale.png

施加负荷

使用Apache Bench等工具对系统施加压力,触发ScaleOutAlarm。根据需要,请进行安全组的调整。

$ 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,任务停止运行。

AutoScale履歴

可以查看通过Alarm启动和停止的历史记录。

AutoScale履歴.png

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

サービス1つRunning.png

最后

旧有的 ECS 使用起来非常困难,现在 Auto Scale 就可以轻松地无限制地实现。真期待着东京地区的上线啊。

广告
将在 10 秒后关闭
bannerAds