Skip to content

docs(aws-cloud): document Seqera Intelligent Compute IAM permissions#1382

Open
pditommaso wants to merge 3 commits intomasterfrom
docs/aws-cloud-seqera-intelligent-compute
Open

docs(aws-cloud): document Seqera Intelligent Compute IAM permissions#1382
pditommaso wants to merge 3 commits intomasterfrom
docs/aws-cloud-seqera-intelligent-compute

Conversation

@pditommaso
Copy link
Copy Markdown
Contributor

Summary

Add a new Seqera Intelligent Compute section to the AWS Cloud compute environment docs (cloud + enterprise), documenting the optional capability that offloads Nextflow tasks to a Seqera-managed Amazon ECS cluster, and the additional IAM policy required to enable it.

The new section explains:

  • What Seqera Intelligent Compute does in the AWS Cloud compute environment context (offload tasks from the head EC2 instance to a managed ECS cluster, scaling beyond a single instance while keeping fast startup).
  • That all managed AWS resources use the seqera-sched- prefix and are torn down automatically.
  • The complete IAM policy (seqera-sched-compute-policy) that must be attached to the IAM user/role used by Seqera, in addition to the base AWS Cloud permissions.
  • Which statements are scoped (every action AWS allows to scope by ARN is restricted to seqera-sched-* resources) and which remain Resource: "*" (AWS APIs that don't support resource-level permissions).
  • Which statements are optional (ASGEC2Operations/ASGManagement for ASG-backed clusters, CostExplorer for Cost Analysis).

Files changed

  • platform-cloud/docs/compute-envs/aws-cloud.md
  • platform-enterprise_docs/compute-envs/aws-cloud.md

The new section is placed between AWS credential options / Required permissions and Managed Amazon Machine Image (AMI) in both docs.

Test plan

  • Render preview locally and confirm the new section renders correctly (collapsible <details> block, JSON syntax highlighting, :::note admonition).
  • Confirm in-page anchor #required-platform-iam-permissions (cloud) and #required-permissions (enterprise) resolve correctly from the new section's cross-link.
  • Verify the JSON policy is valid and matches the canonical seqera-sched-compute-policy shipped with the scheduler.

Add a new "Seqera Intelligent Compute" section to the AWS Cloud compute
environment docs (cloud + enterprise) describing the optional capability
that offloads Nextflow tasks to a Seqera-managed Amazon ECS cluster, and
the additional IAM policy required to enable it.

The policy mirrors the seqera-sched compute policy: every action that
AWS allows to be scoped by ARN is restricted to the seqera-sched-*
prefix, with the remaining Resource "*" entries reserved for AWS APIs
that don't support resource-level permissions.
@netlify
Copy link
Copy Markdown

netlify Bot commented May 4, 2026

Deploy Preview for seqera-docs ready!

Name Link
🔨 Latest commit 9940204
🔍 Latest deploy log https://app.netlify.com/projects/seqera-docs/deploys/69f9131279716f000843e671
😎 Deploy Preview https://deploy-preview-1382--seqera-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

"Effect": "Allow",
"Action": "ce:GetCostAndUsage",
"Resource": "*"
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Working on the CF equivalent I found out you are also going to need

 {
    "Sid": "ECSServiceLinkedRole",
    "Effect": "Allow",
    "Action": "iam:CreateServiceLinkedRole",
    "Resource": "arn:aws:iam::*:role/aws-service-role/ecs-compute.amazonaws.
  com/AWSServiceRoleForECSCompute",
    "Condition": {
      "StringEquals": {
        "iam:AWSServiceName": "ecs-compute.amazonaws.com"
      }
    }
  }

If you are going to use Managed Capacity for ECS and the service role was not created before hand

The scheduler never calls DeleteSecurityGroup. The security group it
manages has a static name (seqera-sched-ecs) shared across clusters in
the region and is not torn down per-cluster.
@justinegeffen justinegeffen added the do not merge Do not merge until this label is removed label May 4, 2026
Comment on lines +431 to +433
Seqera Intelligent Compute is an optional capability that, when enabled, executes Nextflow tasks on a Seqera-managed Amazon ECS cluster instead of running them entirely on the head EC2 instance. This lets the AWS Cloud compute environment scale beyond the resources of a single instance while preserving its fast startup behavior.

When Seqera Intelligent Compute is enabled, Seqera provisions and manages all ECS infrastructure on your behalf — clusters, capacity providers, task definitions, IAM roles, and (optionally) Auto Scaling Groups for spot and on-demand capacity. All managed resources use the `seqera-sched-` prefix and are torn down automatically when no longer needed.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Seqera Intelligent Compute is an optional capability that, when enabled, executes Nextflow tasks on a Seqera-managed Amazon ECS cluster instead of running them entirely on the head EC2 instance. This lets the AWS Cloud compute environment scale beyond the resources of a single instance while preserving its fast startup behavior.
When Seqera Intelligent Compute is enabled, Seqera provisions and manages all ECS infrastructure on your behalf clusters, capacity providers, task definitions, IAM roles, and (optionally) Auto Scaling Groups for spot and on-demand capacity. All managed resources use the `seqera-sched-` prefix and are torn down automatically when no longer needed.
Seqera Intelligent Compute is an optional capability that executes Nextflow tasks on a Seqera-managed Amazon ECS cluster instead of running them entirely on the head EC2 instance. The AWS Cloud compute environment scales beyond the resources of a single instance while preserving its fast startup behavior.
When you enable Seqera Intelligent Compute, Seqera provisions and manages all ECS infrastructure on your behalf, including clusters, capacity providers, task definitions, IAM roles, and (optionally) Auto Scaling Groups for spot and on-demand capacity. All managed resources use the `seqera-sched-` prefix and are torn down automatically when no longer needed.

Comment on lines +437 to +439
Enabling Seqera Intelligent Compute requires an additional IAM policy on top of the [Required Platform IAM permissions](#required-platform-iam-permissions). Attach it to the same IAM user or role that Seqera uses to access your AWS account.

Every action that AWS allows to be scoped by ARN is restricted to the `seqera-sched-*` prefix. The remaining `Resource: "*"` entries correspond to AWS APIs that do not support resource-level permissions (for example, EC2 `Describe*`, ECR authorization tokens, or Cost Explorer).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Enabling Seqera Intelligent Compute requires an additional IAM policy on top of the [Required Platform IAM permissions](#required-platform-iam-permissions). Attach it to the same IAM user or role that Seqera uses to access your AWS account.
Every action that AWS allows to be scoped by ARN is restricted to the `seqera-sched-*` prefix. The remaining `Resource: "*"` entries correspond to AWS APIs that do not support resource-level permissions (for example, EC2 `Describe*`, ECR authorization tokens, or Cost Explorer).
Enabling Seqera Intelligent Compute requires an additional IAM policy in addition to the [Required Platform IAM permissions](#required-platform-iam-permissions). Attach it to the same IAM user or role that Seqera uses to access your AWS account.
The policy scopes every ARN-eligible action to the `seqera-sched-*` prefix. The remaining `Resource: "*"` entries correspond to AWS APIs that do not support resource-level permissions, such as EC2 `Describe*`, ECR authorization tokens, and Cost Explorer.

Comment on lines +617 to +622
:::note
- The `ASGEC2Operations` and `ASGManagement` statements are only required if you enable Auto Scaling Group-backed clusters (managed instances). They can be omitted for Fargate-only deployments.
- The `CostExplorer` statement is only required if you enable Cost Analysis.
:::

Like the base AWS Cloud policy, you can attach this policy directly to the IAM user or to an IAM role that the user assumes. See [Create the IAM policy](#create-the-iam-policy) for the AWS Console steps.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
:::note
- The `ASGEC2Operations` and `ASGManagement` statements are only required if you enable Auto Scaling Group-backed clusters (managed instances). They can be omitted for Fargate-only deployments.
- The `CostExplorer` statement is only required if you enable Cost Analysis.
:::
Like the base AWS Cloud policy, you can attach this policy directly to the IAM user or to an IAM role that the user assumes. See [Create the IAM policy](#create-the-iam-policy) for the AWS Console steps.
:::note
- The `ASGEC2Operations` and `ASGManagement` statements are required only if you enable Auto Scaling Group-backed clusters (managed instances). Omit them for Fargate-only deployments.
- The `CostExplorer` statement is required only if you enable Cost Analysis.
:::
Like the base AWS Cloud policy, you can attach this policy directly to the IAM user or to an IAM role that the user assumes. See [Create the IAM policy](#create-the-iam-policy) for the AWS Console steps.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check meaning is retained for "Omit them for Fargate-only deployments."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Do not merge until this label is removed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants