Skip to content

Commit c8d6ec2

Browse files
Restructure AWS Batch page docs, remove nf-tower-aws mentions (#943)
* Restructure the AWS Batch page in cloud, remove mentions of external repo, start fixing manual batch page * S3/EFS/FSx work dir must be in the same region as compute * Expand instructions on how to setup EFS/FSx SG * lowercase S3 bucket in section title * Fix internal links * Outbound EFS/FSx rules must allow 0./0 * Remove references to nf-tower-aws from cloud repo * Document role to assume instead of attaching policy directly to user * Apply suggestions from code review Co-authored-by: Justine Geffen <[email protected]> Signed-off-by: Alberto Chiusole <[email protected]> * Update manual-aws-batch-setup.mdx Signed-off-by: Justine Geffen <[email protected]> --------- Signed-off-by: Alberto Chiusole <[email protected]> Signed-off-by: Justine Geffen <[email protected]> Co-authored-by: Justine Geffen <[email protected]>
1 parent 20ff79d commit c8d6ec2

File tree

9 files changed

+263
-221
lines changed

9 files changed

+263
-221
lines changed

platform-cloud/docs/compute-envs/aws-batch.md

Lines changed: 227 additions & 122 deletions
Large diffs are not rendered by default.

platform-cloud/docs/compute-envs/eks.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ After you have prepared your Kubernetes cluster and assigned a service account r
6969
1. Add the IAM user **Access key** and **Secret key**. This is the IAM user with the service account role detailed in the previous section.
7070
1. (Optional) Under **Assume role**, specify the IAM role to be assumed by the Seqera IAM user to access the compute environment AWS resources.
7171
:::note
72-
When using AWS keys without an assumed role, the associated AWS user account must have Seqera [Launch](https://github.com/seqeralabs/nf-tower-aws/tree/master/launch) and [Forge](https://github.com/seqeralabs/nf-tower-aws/tree/master/forge) permissions. When an assumed role is provided, the keys are only used to retrieve temporary credentials impersonating the role specified. In this case, Seqera [Launch](https://github.com/seqeralabs/nf-tower-aws/tree/master/launch) and [Forge](https://github.com/seqeralabs/nf-tower-aws/tree/master/forge) permissions must be granted to the role instead of the user account.
72+
When using AWS keys without an assumed role, the associated AWS user account must have all the appropriate [IAM permissions](./aws-batch.md#required-platform-iam-permissions). When an assumed role is provided, the keys are only used to retrieve temporary credentials impersonating the role specified: in this case, the permissions must be granted to the role instead of the user account, and the user must have the `sts:AssumeRole` permission for the role (see [AWS Batch IAM role creation (optional)](./aws-batch.md#iam-role-creation-optional)).
7373
:::
7474
1. Select a **Region**, e.g., _eu-west-1 - Europe (Ireland)_.
7575
1. Select a **Cluster name** from the list of available EKS clusters in the selected region.
@@ -85,9 +85,9 @@ After you have prepared your Kubernetes cluster and assigned a service account r
8585
1. Apply [**Resource labels**](../resource-labels/overview) to the cloud resources consumed by this compute environment. Workspace default resource labels are prefilled.
8686
1. Expand **Staging options** to include:
8787
- Optional [pre- or post-run Bash scripts](../launch/advanced#pre-and-post-run-scripts) that execute before or after the Nextflow pipeline execution in your environment.
88-
- Global Nextflow configuration settings for all pipeline runs launched with this compute environment. Values defined here are pre-filled in the **Nextflow config file** field in the pipeline launch form. These values can be overridden during pipeline launch.
88+
- Global Nextflow configuration settings for all pipeline runs launched with this compute environment. Values defined here are pre-filled in the **Nextflow config file** field in the pipeline launch form. These values can be overridden during pipeline launch.
8989
:::info
90-
Configuration settings in this field override the same values in the pipeline repository `nextflow.config` file. See [Nextflow config file](../launch/advanced#nextflow-config-file) for more information on configuration priority.
90+
Configuration settings in this field override the same values in the pipeline repository `nextflow.config` file. See [Nextflow config file](../launch/advanced#nextflow-config-file) for more information on configuration priority.
9191
:::
9292
1. Specify custom **Environment variables** for the **Head job** and/or **Compute jobs**.
9393
1. Configure any advanced options described in the next section, as needed.
@@ -191,4 +191,3 @@ To use [Fusion v2](https://docs.seqera.io/fusion) in your Seqera EKS compute env
191191
See the [AWS documentation](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html) for further details.
192192
193193
</details>
194-

platform-cloud/docs/data/data-explorer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Data Explorer lists public and private data repositories. Repositories accessibl
2222

2323
- **Retrieve data repositories with workspace credentials**
2424

25-
Private data repositories accessible to the credentials defined in your workspace are listed in Data Explorer automatically. The permissions required for your [AWS](../compute-envs/aws-batch#iam), [Google Cloud](../compute-envs/google-cloud-batch#iam), [Azure Batch](../compute-envs/azure-batch#storage-account), or Amazon S3-compatible API storage: credentials allow full Data Explorer functionality.
25+
Private data repositories accessible to the credentials defined in your workspace are listed in Data Explorer automatically. The permissions required for your [AWS](../compute-envs/aws-batch#required-platform-iam-permissions), [Google Cloud](../compute-envs/google-cloud-batch#iam), [Azure Batch](../compute-envs/azure-batch#storage-account), or Amazon S3-compatible API storage: credentials allow full Data Explorer functionality.
2626

2727
- **Configure individual data repositories manually**
2828

platform-cloud/docs/enterprise/advanced-topics/manual-aws-batch-setup.mdx

Lines changed: 9 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,11 @@ import TabItem from '@theme/TabItem';
1111
This page describes how to set up AWS roles and Batch queues manually for the deployment of Nextflow workloads with Seqera Platform.
1212

1313
:::tip
14-
Manual AWS Batch configuration is only necessary if you don't use Batch Forge.
15-
16-
Batch Forge _automatically creates_ the AWS Batch queues required for your workflow executions.
14+
Manual AWS Batch configuration is only necessary if you don't want to let Seqera Platform create the required AWS Batch resources in your AWS account automatically, done using the internal tool called Batch Forge.
1715
:::
1816

19-
Complete the following procedures to configure AWS Batch manually:
17+
Complete the following steps to configure the AWS Batch resources needed by Seqera Platform:
2018

21-
1. Create a user policy.
2219
2. Create the instance role policy.
2320
3. Create the AWS Batch service role.
2421
4. Create an EC2 Instance role.
@@ -27,39 +24,6 @@ Complete the following procedures to configure AWS Batch manually:
2724
7. Create the AWS Batch compute environments.
2825
8. Create the AWS Batch queue.
2926

30-
### Create a user policy
31-
32-
Create the policy for the user launching Nextflow jobs:
33-
34-
1. In the [IAM Console](https://console.aws.amazon.com/iam/home), select **Create policy** from the Policies page.
35-
1. Create a new policy with the following content:
36-
37-
```json
38-
{
39-
"Version": "2012-10-17",
40-
"Statement": [
41-
{
42-
"Sid": "Stmt1530313170000",
43-
"Effect": "Allow",
44-
"Action": [
45-
"batch:CancelJob",
46-
"batch:RegisterJobDefinition",
47-
"batch:DescribeComputeEnvironments",
48-
"batch:DescribeJobDefinitions",
49-
"batch:DescribeJobQueues",
50-
"batch:DescribeJobs",
51-
"batch:ListJobs",
52-
"batch:SubmitJob",
53-
"batch:TerminateJob"
54-
],
55-
"Resource": ["*"]
56-
}
57-
]
58-
}
59-
```
60-
61-
1. Save with it the name `seqera-user`.
62-
6327
### Create the instance role policy
6428

6529
Create the policy with a role that allows Seqera to submit Batch jobs on your EC2 instances:
@@ -174,7 +138,7 @@ Create a launch template to configure the EC2 instances deployed by Batch jobs:
174138
-a fetch-config \
175139
-m ec2 \
176140
-s \
177-
-c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
141+
-c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
178142
mkdir -p /scratch/fusion
179143
NVME_DISKS=($(nvme list | grep 'Amazon EC2 NVMe Instance Storage' | awk '{ print $1 }'))
180144
NUM_DISKS=${#NVME_DISKS[@]}
@@ -276,8 +240,8 @@ Create a launch template to configure the EC2 instances deployed by Batch jobs:
276240

277241
### Create the Batch compute environments
278242

279-
:::caution
280-
AWS Graviton instances (ARM64 CPU architecture) are not supported in manual compute environments. To use Graviton instances, create your AWS Batch compute environment with [Batch Forge](../../compute-envs/aws-batch#batch-forge-compute-environment).
243+
:::caution
244+
AWS Graviton instances (ARM64 CPU architecture) are not supported in manual compute environments. To use Graviton instances, create your AWS Batch compute environment with [Batch Forge](../../compute-envs/aws-batch#create-a-seqera-aws-batch-compute-environment).
281245
:::
282246

283247
Nextflow makes use of two job queues during workflow execution:
@@ -301,7 +265,7 @@ The head queue requires an on-demand compute environment. Do not select **Use Sp
301265
1. In the [Batch Console](https://eu-west-1.console.aws.amazon.com/batch/home), select **Create** on the Compute environments page.
302266
1. Select **Amazon EC2** as the compute environment configuration.
303267
:::note
304-
Seqera AWS Batch compute environments created with [Batch Forge](../../compute-envs/aws-batch#batch-forge-compute-environment) support using Fargate for the head job, but manual compute environments must use EC2.
268+
Seqera AWS Batch compute environments created with [Batch Forge](../../compute-envs/aws-batch#create-a-seqera-aws-batch-compute-environment) support using Fargate for the head job, but manual compute environments must use EC2.
305269
:::
306270
1. Enter a name of your choice, and apply the `seqera-servicerole` and `seqera-instancerole`.
307271
1. Enter vCPU limits and instance types, if needed.
@@ -310,7 +274,7 @@ The head queue requires an on-demand compute environment. Do not select **Use Sp
310274
:::
311275
1. Expand **Additional configuration** and select the `seqera-launchtemplate` from the Launch template dropdown.
312276
1. Configure VPCs, subnets, and security groups on the next page as needed.
313-
1. Review your configuration and select **Create compute environment**.
277+
1. Review your configuration and select **Create compute environment**.
314278

315279
</TabItem>
316280
<TabItem value="Compute queue with Spot instances" label="Compute queue with Spot instances" default>
@@ -320,11 +284,11 @@ Create this compute environment to use Spot instances for your workflow compute
320284
1. In the [Batch Console](https://eu-west-1.console.aws.amazon.com/batch/home), select **Create** on the Compute environments page.
321285
1. Select **Amazon EC2** as the compute environment configuration.
322286
1. Enter a name of your choice, and apply the `seqera-servicerole` and `seqera-instancerole`.
323-
1. Select **Enable using Spot instances** to use Spot instances and save computing costs.
287+
1. Select **Enable using Spot instances** to use Spot instances and save computing costs.
324288
1. Select the `seqera-fleetrole` and enter vCPU limits and instance types, if needed.
325289
1. Expand **Additional configuration** and select the `seqera-launchtemplate` from the Launch template dropdown.
326290
1. Configure VPCs, subnets, and security groups on the next page as needed.
327-
1. Review your configuration and select **Create compute environment**.
291+
1. Review your configuration and select **Create compute environment**.
328292

329293
</TabItem>
330294
</Tabs>

platform-cloud/docs/getting-started/proteinfold.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ You will need the following to get started:
1919

2020
- [Admin](../orgs-and-teams/roles) permissions in an existing organization workspace. See [Set up your workspace](./workspace-setup) to create an organization and workspace from scratch.
2121
- An existing AWS cloud account with access to the AWS Batch service.
22-
- Existing access credentials with permissions to create and manage resources in your AWS account. See [IAM](../compute-envs/aws-batch#iam) for guidance to set up IAM permissions for Platform.
22+
- Existing access credentials with permissions to create and manage resources in your AWS account. See [IAM](../compute-envs/aws-batch#required-platform-iam-permissions) for guidance to set up IAM permissions for Platform.
2323
:::
2424

2525
## Compute environment

platform-cloud/docs/getting-started/rnaseq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You will need the following to get started:
2121

2222
- [Admin](../orgs-and-teams/roles) permissions in an existing organization workspace. See [Set up your workspace](./workspace-setup) to create an organization and workspace from scratch.
2323
- An existing AWS cloud account with access to the AWS Batch service.
24-
- Existing access credentials with permissions to create and manage resources in your AWS account. See [IAM](../compute-envs/aws-batch#iam) for guidance to set up IAM permissions for Platform.
24+
- Existing access credentials with permissions to create and manage resources in your AWS account. See [IAM](../compute-envs/aws-batch#required-platform-iam-permissions) for guidance to set up IAM permissions for Platform.
2525
:::
2626

2727
## Compute environment

platform-cloud/docs/getting-started/studios.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ This guide explores how Studios integrates with your existing workflows, bridgin
1313
You will need the following to get started:
1414

1515
- At least the **Maintain** workspace [user role](../orgs-and-teams/roles) to create and configure Studios.
16-
- An [AWS Batch compute environment](../compute-envs/aws-batch#batch-forge-compute-environment) (**without Fargate**) with sufficient resources (minimum: 2 CPUs, 8192 MB RAM).
16+
- An [AWS Batch compute environment](../compute-envs/aws-batch#create-a-seqera-aws-batch-compute-environment) (**without Fargate**) with sufficient resources (minimum: 2 CPUs, 8192 MB RAM).
1717
- Valid [credentials](../credentials/overview) for your cloud storage account and compute environment.
1818
- [Data Explorer](../data/data-explorer) enabled in your workspace.
1919
:::
@@ -32,7 +32,7 @@ This script and instructions can also be used to visualize the structures from *
3232

3333
#### Create an AWS Batch compute environment
3434

35-
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#batch-forge-compute-environment) with the following attributes:
35+
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#create-a-seqera-aws-batch-compute-environment) with the following attributes:
3636

3737
- **Region**: To minimize costs, your compute environment should be in the same region as your data. To browse the nf-core AWS megatests public data optimally, select **eu-west-1**.
3838
- **Provisioning model**: Use **On-demand** EC2 instances.
@@ -366,7 +366,7 @@ An R-IDE enables interactive analysis using R libraries and tools. For example,
366366

367367
#### Create an AWS Batch compute environment
368368

369-
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#batch-forge-compute-environment) with the following attributes:
369+
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#create-a-seqera-aws-batch-compute-environment) with the following attributes:
370370

371371
- **Region**: To minimize costs, your compute environment should be in the same region as your data. To browse the nf-core AWS megatests public data optimally, select **eu-west-1**.
372372
- **Provisioning model**: Use **On-demand** EC2 instances.
@@ -463,7 +463,7 @@ Xpra provides remote desktop functionality that enables many interactive analysi
463463

464464
#### Create an AWS Batch compute environment
465465

466-
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#batch-forge-compute-environment) with the following attributes:
466+
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#create-a-seqera-aws-batch-compute-environment) with the following attributes:
467467

468468
- **Region**: To minimize costs, your compute environment should be in the same region as your data. To browse the 1000 Genomes public data optimally, select **us-east-1**.
469469
- **Provisioning model**: Use **On-demand** EC2 instances.
@@ -531,7 +531,7 @@ Using Studios and Visual Studio Code allows you to create a portable and interac
531531

532532
#### Create an AWS Batch compute environment
533533

534-
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#batch-forge-compute-environment) with the following attributes:
534+
Studios require an AWS Batch compute environment. If you do not have an existing compute environment available, [create one](../compute-envs/aws-batch#create-a-seqera-aws-batch-compute-environment) with the following attributes:
535535

536536
- **Region**: To minimize costs, your compute environment should be in the same region as your data. To use the iGenomes public data bucket that contains the *nf-core/fetchngs* `test` profile data, select **eu-west-1**.
537537
- **Provisioning model**: Use **On-demand** EC2 instances.

0 commit comments

Comments
 (0)