Как политика масштабирования работает для масштабирования задач ECS?

Ниже представлен подход автомасштабирования EC2, выполненный с помощью недоступной задачи1. create_task:

  AutoScalingGroup:
    Type: "AWS::AutoScaling::AutoScalingGroup"
    Properties:
      VPCZoneIdentifier: [ { "Ref": "SubnetId" } ]
      LaunchConfigurationName: { "Ref": "AutoScalingLaunchConfiguration" }
      MinSize: 0
      MaxSize: 2
      DesiredCapacity: { "Ref": "InstanceCount" }
      Tags:
        - Key: "Name"
          Value: { "Fn::Join": ["", [ { "Ref": "AWS::StackName" }, " -instance" ] ] }
          PropagateAtLaunch: "true"

Политика масштабирования еще не добавлена ​​в приведенный выше код.

Ниже представлено развертывание приложения (контейнера), написанное на ansible task2. app_deployment, где aws_ecs_serviceмодуль взят отсюда:

- name: Configure ecs service
  aws_ecs_service:
    state: present
    name: "{{ cf_stack.stack_outputs.SomebackendService }}"
    cluster: "{{ cf_stack.stack_outputs.EcsCluster }}"
    task_definition: "{{ somebackend_task_def_arn }}"
    desired_count: "{{ instance_count | default(1) }}"
    deployment_config:
      minimumHealthyPercent: 50
      maximumPercent: 200
  register: configure_ecs_service
  when: stack_config is defined

В двух приведенных выше фрагментах InstanceCount а также instance_count относятся к тому же значению параметра.


Если количество экземпляров равно 1(скажем) как доступный параметр,

Как подойти к масштабированию задач ecs в зависимости от загруженности приложения? в основном для масштабирования EC2, а затем развертывания приложения в этом EC2, потому что в приведенном выше коде приложение развертывается в task2, когдаstack_config определено

0 ответов

Другие вопросы по тегам