・base(必ず動いてほしいタスク数)
・weight(タスクが増える際にどの比率で増やしていくかの対比)
- awscliで適用
aws --profile=hoge --region=ap-northeast-1 ecs update-service \ --capacity-provider-strategy capacityProvider=FARGATE,base=0,weight=0 capacityProvider=FARGATE_SPOT,base=1,weight=1 \ --cluster hoge \ --service hoge \ --force-new-deployment
- Terraformで差分変更
~省略~ #launch_type = "FARGATE" #コメントアウト # 追加 capacity_provider_strategy { base = 0 capacity_provider = "FARGATE" weight = 0 } capacity_provider_strategy { base = 1 capacity_provider = "FARGATE_SPOT" weight = 1 } deployment_circuit_breaker { enable = true rollback = true } deployment_controller { type = "ECS" }
- ECS Scheduled Taskの場合
resource "aws_ecs_cluster" "hoge" { name = "hoge" capacity_providers = [ "FARGATE", "FARGATE_SPOT", ] #追加 default_capacity_provider_strategy { capacity_provider = "FARGATE_SPOT" base = "1" weight = "1" } }
- cloudwatch_event_target.tf
ecs_target { launch_type = "" #空白 task_count = 1 task_definition_arn = "arn:aws:ecs:xxxxxxx:xxxxxxxxxxx:task-definition/hoge" #platform_version = "1.4.0" #コメントアウト
EventBridgeで以下のようになっていればOK。
Was this helpful?
0 / 0
1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。好きなツールはAnsible,Terraform,CircleCIで、ECS/Fargateでのインフラ構築を得意とする。副業では数社サーバー保守とベンチャー企業のインフラ改善やMENTAで未経験者にインフラのコーチングを実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、ECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。個人開発では「夫婦、パートナー向け家事管理サービス/famii」をCakePHP4で絶賛開発中。