4b6817381b
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
351 lines
8.5 KiB
Plaintext
351 lines
8.5 KiB
Plaintext
---
|
|
title: "AWS Batch"
|
|
description: "Install Tracer on AWS Batch (Multi-Node) under two minutes"
|
|
---
|
|
|
|
<style>
|
|
{`
|
|
.capability-comparison-table td {
|
|
vertical-align: middle !important;
|
|
text-align: left !important;
|
|
}
|
|
.capability-comparison-table th {
|
|
vertical-align: middle !important;
|
|
text-align: left !important;
|
|
color: inherit !important;
|
|
}
|
|
.prerequisites-table table {
|
|
border: none !important;
|
|
}
|
|
.prerequisites-table td,
|
|
.prerequisites-table th {
|
|
border: none !important;
|
|
padding: 0.25rem 1rem 0.25rem 0 !important;
|
|
}
|
|
.prerequisites-table thead {
|
|
display: none !important;
|
|
}
|
|
`}
|
|
</style>
|
|
|
|
Try Tracer in Your AWS Batch Workloads
|
|
|
|
<Tabs>
|
|
<Tab title="CloudFormation">
|
|
|
|
<Info>
|
|
Use CloudFormation to set up AWS Batch infrastructure for bioinformatics and
|
|
HPC pipelines.
|
|
</Info>
|
|
|
|
### 1. Connect AWS Integration
|
|
|
|
Open the following link to connect your AWS account automatically to Tracer. This will allow Tracer to monitor your AWS Batch jobs.
|
|
|
|
[→ Connect AWS](https://app.tracer.cloud/onboarding/linux-cloud-multi)
|
|
|
|
### 2. Locate the EC2 LaunchTemplate UserData
|
|
|
|
In your CloudFormation template, find the `UserData` field within the Launch Template used by your AWS Batch compute environment.
|
|
|
|
Reference example: [CloudFormation Template](https://github.com/Tracer-Cloud/nextflow-test-pipelines/blob/f2fea612adfb3cd9a17ea6baedd953d0c7e9ec01/infrastructure/aws_batch/cloudformation.yml#L323)
|
|
|
|
```
|
|
Resources:
|
|
NextflowLaunchTemplate:
|
|
Properties:
|
|
LaunchTemplateData:
|
|
UserData: !Base64 |
|
|
#cloud-config
|
|
runcmd:
|
|
- ...
|
|
```
|
|
|
|
### 3. Append Tracer install in EC2 Launch Template UserData
|
|
|
|
Add these commands to the `runcmd`: section in your UserData:
|
|
|
|
```bash
|
|
- curl -sSL https://install.tracer.cloud | sh
|
|
```
|
|
|
|
```bash
|
|
- tracer init --token YOUR_TOKEN_HERE \
|
|
--pipeline-name YOUR_PIPELINE_NAME \
|
|
--pipeline-type YOUR_PIPELINE_TYPE \
|
|
--environment aws_batch \
|
|
--watch-dir="/var/log"
|
|
```
|
|
|
|
<Info>
|
|
{" "}
|
|
Go to our [onboarding](https://app.tracer.cloud/onboarding/linux-cloud-multi)
|
|
to get your own personal token
|
|
</Info>
|
|
|
|
### 4. Validate, apply change set, then verify instance
|
|
|
|
```bash
|
|
aws cloudformation validate-template \
|
|
--template-body file://YOUR_TEMPLATE.yaml
|
|
```
|
|
|
|
```bash
|
|
aws cloudformation create-change-set \
|
|
--stack-name YOUR_STACK_NAME \
|
|
--template-body file://YOUR_TEMPLATE.yaml \
|
|
--change-set-name tracer-userdata-update \
|
|
--capabilities CAPABILITY_NAMED_IAM
|
|
```
|
|
|
|
```bash
|
|
aws cloudformation execute-change-set \
|
|
--stack-name YOUR_STACK_NAME \
|
|
--change-set-name tracer-userdata-update
|
|
```
|
|
|
|
### 5. Configure Nextflow batch.config with Trace ID
|
|
|
|
In your Nextflow `batch.config` file, you need to:
|
|
|
|
1. Add a `params` section to generate a UUID that will be shared across all jobs in the workflow
|
|
2. Add `containerOptions` in the `process` section to pass the trace ID as an environment variable to each container
|
|
|
|
This allows Tracer to correlate all jobs from the same workflow execution.
|
|
|
|
```bash
|
|
// 1. Add params section to generate UUID
|
|
params {customUUID = java.util.UUID.randomUUID().toString()}
|
|
|
|
process {executor = 'awsbatch'
|
|
queue = 'NextflowCPU'
|
|
|
|
// 2. Add containerOptions to pass trace ID to containers
|
|
containerOptions = "--env TRACER_TRACE_ID=${params.customUUID}"
|
|
|
|
resourceLabels = ['custom-session-uuid': "${params.customUUID}"]
|
|
}
|
|
|
|
aws {region = 'YOUR_REGION'
|
|
batch
|
|
{cliPath = '/usr/local/aws-cli/v2/current/bin/aws'}
|
|
}
|
|
```
|
|
|
|
### Monitor and Optimize Your Pipeline
|
|
|
|
<Card href="https://app.tracer.cloud/">
|
|
<img
|
|
className="block dark:hidden"
|
|
src="/images/logo/tracer/Tracer Full Body - Black.png"
|
|
alt="Tracer Logo"
|
|
style={{ width: '10%', height: 'auto', marginBottom: '1rem' }}
|
|
/>
|
|
<img
|
|
className="hidden dark:block"
|
|
src="/images/logo/tracer/Tracer Full Body - White.png"
|
|
alt="Tracer Logo"
|
|
style={{ width: '10%', height: 'auto', marginBottom: '1rem' }}
|
|
/>
|
|
|
|
<div
|
|
style={{
|
|
fontSize: "1.3rem",
|
|
fontWeight: "700",
|
|
marginBottom: "1 rem",
|
|
color: "inherit",
|
|
}}
|
|
>
|
|
Watch your pipeline run in the Tracer dashboard
|
|
</div>
|
|
|
|
<div style={{ color: 'inherit' }}>
|
|
View real-time metrics, resource usage, and performance insights for your pipeline runs.
|
|
</div>
|
|
</Card>
|
|
|
|
</Tab>
|
|
<Tab title="Terraform">
|
|
|
|
<Info>
|
|
Use Terraform to provision infrastructure and run RNA-seq pipeline on AWS
|
|
Batch.
|
|
</Info>
|
|
|
|
<Accordion title="Prerequisites">
|
|
Make sure these tools are installed locally before proceeding.
|
|
|
|
<table
|
|
style={{
|
|
border: "none",
|
|
marginTop: "0",
|
|
width: "100%",
|
|
tableLayout: "fixed",
|
|
}}
|
|
>
|
|
<tbody>
|
|
<tr style={{ border: "none" }}>
|
|
<td
|
|
style={{
|
|
border: "none",
|
|
padding: "0.25rem 1rem 0.25rem 0",
|
|
width: "18%",
|
|
}}
|
|
>
|
|
• AWS CLI v2
|
|
</td>
|
|
<td
|
|
style={{
|
|
border: "none",
|
|
padding: "0.25rem 1rem 0.25rem 0",
|
|
width: "18%",
|
|
}}
|
|
>
|
|
• Terraform
|
|
</td>
|
|
<td
|
|
style={{
|
|
border: "none",
|
|
padding: "0.25rem 1rem 0.25rem 0",
|
|
width: "18%",
|
|
}}
|
|
>
|
|
• Nextflow
|
|
</td>
|
|
<td
|
|
style={{
|
|
border: "none",
|
|
padding: "0.25rem 1rem 0.25rem 0",
|
|
width: "18%",
|
|
}}
|
|
>
|
|
• Java
|
|
</td>
|
|
<td
|
|
style={{
|
|
border: "none",
|
|
padding: "0.25rem 1rem 0.25rem 0",
|
|
width: "25%",
|
|
}}
|
|
>
|
|
• Docker (optional)
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</Accordion>
|
|
|
|
### 1. Connect AWS Integration
|
|
|
|
Open the following link to connect your AWS account automatically to Tracer. This will allow Tracer to monitor your AWS Batch jobs.
|
|
|
|
[→ Connect AWS](https://app.tracer.cloud/onboarding/linux-cloud-multi)
|
|
|
|
### 2. Clone the repository
|
|
|
|
Clone the nextflow-test-pipelines repository to get access to the AWS Batch RNA-seq pipeline configuration.
|
|
|
|
```bash
|
|
git clone https://github.com/Tracer-Cloud/nextflow-test-pipelines.git
|
|
cd nextflow-test-pipelines/pipelines/aws-batch/rnaseq
|
|
```
|
|
|
|
### 3. Update user_data_mime.sh
|
|
|
|
Update the user_data_mime.sh file to include your Tracer user ID. Navigate to the terraform directory and edit the file:
|
|
|
|
```bash
|
|
cd nextflow-test-pipelines/pipelines/aws-batch/rnaseq/terraform
|
|
vim user_data_mime.sh
|
|
```
|
|
|
|
<Info>
|
|
**Important:** Find line 120 in the file and update it with your user ID:
|
|
|
|
```bash
|
|
tracer init --token YOUR_TOKEN_HERE
|
|
--pipeline-name aws_batch_rnaseq
|
|
--pipeline-type RNA-SEQ
|
|
--environment aws-batch
|
|
--watch-dir="/var/log"
|
|
```
|
|
|
|
<Info>
|
|
{" "}
|
|
Go to our [onboarding](https://app.tracer.cloud/onboarding/linux-cloud-multi)
|
|
to get your own personal token
|
|
</Info>
|
|
|
|
**Note:** If you need to change this later, you'll need to refresh the infrastructure.
|
|
|
|
</Info>
|
|
|
|
[View the exact line to update](https://github.com/Tracer-Cloud/nextflow-test-pipelines/blob/dab93c3ba17a04c0e6a945264e90e2b69d1fca02/pipelines/aws-batch/rnaseq/terraform/user_data_mime.sh#L120)
|
|
|
|
### 4. Setup infrastructure
|
|
|
|
Run the setup script to create the AWS infrastructure (VPC, S3, Batch, etc.):
|
|
|
|
```bash
|
|
cd nextflow-test-pipelines/pipelines/aws-batch/rnaseq
|
|
./run.sh setup
|
|
```
|
|
|
|
<Info>
|
|
**What this does:** Creates VPC with public/private subnets, AWS Batch compute
|
|
environment, S3 buckets for work directory and outputs, IAM roles and
|
|
policies, security groups, and EC2 Instance Connect endpoint.
|
|
</Info>
|
|
|
|
<Info>
|
|
**Alternative for Tracer AWS Account Users:** If you have access to Tracer's
|
|
AWS account, you can skip the infrastructure setup and run the pipeline
|
|
directly: ```bash cd nextflow-test-pipelines/pipelines/aws-batch/rnaseq
|
|
./run.sh tracer run ```
|
|
</Info>
|
|
|
|
### 5. Run the RNA-seq pipeline
|
|
|
|
Execute the RNA-seq pipeline using the run script:
|
|
|
|
```bash
|
|
cd nextflow-test-pipelines/pipelines/aws-batch/rnaseq
|
|
./run.sh run
|
|
```
|
|
|
|
### Monitor and Optimize Your Pipeline
|
|
|
|
<Card href="https://app.tracer.cloud/">
|
|
<img
|
|
className="block dark:hidden"
|
|
src="/images/logo/tracer/Tracer Full Body - Black.png"
|
|
alt="Tracer Logo"
|
|
style={{ width: '10%', height: 'auto', marginBottom: '1rem' }}
|
|
/>
|
|
<img
|
|
className="hidden dark:block"
|
|
src="/images/logo/tracer/Tracer Full Body - White.png"
|
|
alt="Tracer Logo"
|
|
style={{ width: '10%', height: 'auto', marginBottom: '1rem' }}
|
|
/>
|
|
|
|
<div
|
|
style={{
|
|
fontSize: "1.3rem",
|
|
fontWeight: "700",
|
|
marginBottom: "1 rem",
|
|
color: "inherit",
|
|
}}
|
|
>
|
|
Watch your pipeline run in the Tracer dashboard
|
|
</div>
|
|
|
|
<div style={{ color: 'inherit' }}>
|
|
View real-time metrics, resource usage, and performance insights for your pipeline runs.
|
|
</div>
|
|
</Card>
|
|
|
|
</Tab>
|
|
</Tabs>
|