Flujo de trabajo de definición de tareas de AWS ECS

Flujo de trabajo de definición de tareas de AWS ECS

Configuré uno de mis servicios para implementarlo en ECS (EC2). Tengo el servicio y la definición de tarea configurados a través de terraform y luego, para implementar, estoy usando acciones de Github donde parece que necesito definir la definición de tarea nuevamente.

Parece que ambos son necesarios, ¿cuál sería el flujo de trabajo correcto para poder eliminar la definición de tarea duplicada?

También existe el problema de que una vez que se ha implementado esta definición de tarea a través de acciones de Github, se ha actualizado la imagen que terraform quiere revertir.

Respuesta1

Este es antiguo pero para referencia futura.

El primero es necesario para iniciar el servicio inicialmente (mientras se crea el clúster preconfigurado).

Puedes considerar el segundo como una opción para actualizar tuservicio(implementar una nueva versión de la imagen) sobre la inicial durante su implementación de GitHub Actions (ya que puede cambiar la identificación de la imagen y básicamente todo lo que tiene como opción de configuración en la definición de la tarea).

Con respecto a terraform, puede agregar una regla de ciclo de vida para ignorar cualquier cambio en el image_id preconfigurado con algo como esto en elaws_ecs_servicio:

  lifecycle {
    ignore_changes = [task_definiton]
  }

Hayun tema bastante viejoen el proyecto terraform-provider-aws con respecto a cómo maneja los cambios en la definición de tareas. Echa un vistazo aeste comentariopara una posible solución para su caso de uso (publicación de blog sobre el tema del autor del comentario).

Abajo puedes verotro comentariovinculando unSolución de Github Actions lista para usar con un ejemplo de código de terraform.

información relacionada