ECS에서 작업 스케줄링 할 때 최신 revision의 작업 정의를 참조하는 방법

4154 단어 TerraformECSAWS
ECS 환경 (Fargate 포함)에서 일괄 처리를 실행하는 옵션으로 ECS의 ScheduleTask 기능을 사용하는 방법이 있습니다.
이 방법은 항상 최신 task 정의 (task_definitions)의 최신을 참조하는 방법을 설명합니다.

ECS 작업 스케줄링 기능 정보



Amazon ECS 작업 스케줄링 - Amazon Elastic Container Service
Amazon ECS ScheduledTask로 실현되는 스마트 Docker 기반 배치 실행 환경 - ConeHit 개발자 블로그
AWS ECS를 사용하여 배치 서버 환경을 사용해보십시오 - Qiita

ECS에서 배치를 이동하는 경우 몇 가지 옵션이 있지만 ECS의 ScheduleTask(스케줄링) 기능이 유용합니다(자세한 내용은 위 링크를 참조하십시오). ScheduleTask를 사용하면 cron적으로 정기적으로 작업을 시작하고 정기적으로 처리를 실행할 수 있습니다.

이 ScheduleTask는 ECS와 통합되어 있지만 실제로는 Amazon EventBridge의 rule 기능이됩니다. 게다가 Amazon EventBridge 는, CloudWatch Events 라는 이름이었던 것으로, 아직 CloudWatch 의 콘솔 화면으로부터 조작이 가능합니다.

최신 참조 @ AWS 콘솔 화면





화면에서 말하면 여기에서 「최신」을 선택하면, 기동시에 최신의 revision의 task_definitions(태스크 정의)를 사용해, 태스크가 기동합니다.

그러나 여기에 하나의 함정이 있었고, 앞서 언급했듯이,

ECS 스케줄링 기능 ≒ Amazon EventBridge ≒ CloudWatch Events

그러면(≒의 표현은 오해를 초래할 것 같습니다만 이 기사의 취지가 아니기 때문에 가볍게 스루 해 주세요), 같은 설정이,
  • ECS
  • EventBridge
  • CloudWatch

  • 3 화면에서 가능합니다.

    이 세 화면 중 ECS 화면에서 추가하려고하면 "최신"옵션이 나오지 않습니다. 죄송합니다.



    따라서 EventBridge 또는 CloudWatch 화면에서 만들어야 합니다.

    아마 그 중 대응된다고 생각합니다만 주의해 주세요.

    최신 참조 @terraform



    terraform라면 이렇게 됩니다(발췌이므로 이대로는 움직이지 않을지도).
    resourc의 이름은 cloudwatch이므로주의가 필요합니다.
    resource "aws_cloudwatch_event_rule" "rule" {
      name = "name"
      schedule_expression = "cron(30 * * * ? *)"
    }
    
    resource "aws_cloudwatch_event_target" "target" {
      target_id = "name"
      rule      = aws_cloudwatch_event_rule.rule.name
      arn       = aws_ecs_cluster.main.arn 
    
      ecs_target {
        launch_type      = "EC2"
        task_count       = 1
        task_definition_arn = "arn:aws:ecs:ap-northeast-1:XXXXXXXX:task-definition/name" # ここがポイント
      }
    }
    
    

    포인트는 task_definition_arn 그리고 여기서 revision을 지정하지 않으면 화면에서 「최신」을 선택하게 됩니다.

    revision을 지정하는 경우
    arn:aws:ecs:ap-northeast-1:XXXXXXXX:task-definition/name:15
    

    같아요.

    보충



    Terraform v0.13.5에서 작동 확인했습니다.

    좋은 웹페이지 즐겨찾기