AWS ECS Managed Instances executor [POC] #6694
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a new
awsecsexecutor for running Nextflow tasks on AWS ECS Managed Instances.Why ECS Managed Instances?
AWS ECS Managed Instances provides fine-grained control over EC2 instance types while offloading infrastructure management to AWS. This offers significant advantages over Fargate for scientific workflows:
Key Benefits
Ideal Use Cases
Features
maxSpotAttempts)SYS_ADMIN) and/dev/fusedevice mapping for Fusion filesystemRequirements
Pre-configured Infrastructure
Configuration
process { executor = 'awsecs' container = 'ubuntu:latest' cpus = 4 memory = '16 GB' disk = '100 GB' // accelerator 1 // GPU support // machineType = 'c6i.2xlarge' // Optional: pin to specific instance type } aws { region = 'us-east-1' ecs { cluster = 'my-cluster' // Required executionRole = 'arn:aws:iam::123456789:role/ecsTaskExecutionRole' // Required // Optional settings with defaults: // taskRole = 'arn:aws:iam::...' // subnets = ['subnet-...'] // Auto-discovered from default VPC // securityGroups = ['sg-...'] // Auto-discovered from default VPC // logsGroup = '/aws/ecs/nextflow' // assignPublicIp = true // maxSpotAttempts = 5 } } fusion.enabled = true wave.enabled = trueLimitations
Implementation Status
Overall: 37/63 tasks (59%)
Documentation
specs/001-ecs-executor/spec.mdspecs/001-ecs-executor/plan.mdspecs/001-ecs-executor/tasks.mdReferences
🤖 Generated with Claude Code