・base(必ず動いてほしいタスク数)
・weight(タスクが増える際にどの比率で増やしていくかの対比)
- awscliで適用
1 2 3 4 5 |
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で差分変更
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
~省略~ #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の場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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
1 2 3 4 5 |
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年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。