Saya telah membuat template cfn untuk memicu acara cloudwatch secara berkala untuk menjalankan tugas ecs dengan tipe peluncuran Fargate. Aturan CW terlihat seperti di bawah ini:

sfECSScheduleEventRule:
Type: AWS::Events::Rule
Description: ''
Properties:
  State: ENABLED
  ScheduleExpression: rate(1 minute)
  Name: !Sub sf-eventrule-ecs-${WPRegion}-${WPEnv}
  Targets:
  - Id: !Sub sf-ecs-target-task-${WPRegion}-${WPEnv}
    Arn: !GetAtt
      - ECSCluster
      - Arn
    RoleArn: !GetAtt
      - ECSTaskExecutionRole
      - Arn
    EcsParameters:
      #arn:aws:ecs:ap-northeast-1:448965722616:task-definition/fargate-task-jp-stg:latest
      TaskDefinitionArn: !Ref sfECSTaskDefinition          
      TaskCount: !Ref ECSTaskDesiredCount
      LaunchType: FARGATE
      PlatformVersion: 'LATEST'
      NetworkConfiguration:
        AwsVpcConfiguration:
          AssignPublicIp: DISABLED
          Subnets:
          - !Ref sfPrivateSubnet1

Ketika saya membuat tumpukan, saya menemukan target aturan seperti di bawah ini: masukkan deskripsi gambar di sini

Bagaimana saya bisa mengubah aturan sehingga menunjuk ke yang terbaru?

1
Mahbub Rahman 11 Maret 2020, 06:19

1 menjawab

Jawaban Terbaik

Anda menggunakan:

TaskDefinitionArn: !Ref sfECSTaskDefinition 

Menurut docs ini mengembalikan dengan nomor revisi. Juga menurut TaskDefinitionArn:

Jika tidak ada revisi tugas yang diberikan, defaultnya adalah revisi terbaru pada saat pembuatan sumber daya.

Jadi saya pikir jika Anda membuat arn secara manual, Anda harus bisa mendapatkan revisi terbaru.

!Sub "arn:aws:ecs:${AWS::Region}:${AWS::AccountId}:task-definition/fargate-task-jp-stg"

Tidak tahu apakah nama keluarga tugas Anda fargate-task-jp-stg berparameter atau tidak dalam template. Jika ya, Anda juga dapat mereferensikannya di fungsi intrinsik Sub.

0
Marcin 11 Maret 2020, 10:07