You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 9, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: docs/core-env/create-iam-roles.md
+10-12Lines changed: 10 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
-
# Creating IAM Roles
1
+
# Permissions
2
2
3
-
Below are IAM roles that your job execution environment in AWS Batch will use:
3
+
## Create IAM Roles
4
4
5
-
* Batch Service Role:
5
+
IAM roles that your job execution environment in AWS Batch will use include:
6
+
7
+
***Batch Service Role (required)**:
6
8
7
-
(required)
8
9
Role used by AWS Batch to call other AWS services on its behalf.
9
10
AWS Batch makes calls to other AWS services on your behalf to manage the resources that you use with the service. Before you can use the service, you must have an IAM policy and role that provides the necessary permissions to AWS Batch.
@@ -46,16 +46,14 @@ Below are IAM roles that your job execution environment in AWS Batch will use:
46
46
Resource: "*"
47
47
```
48
48
49
-
* Batch SpotFleet Role:
49
+
* **Batch SpotFleet Role (depends)**:
50
50
51
-
(depends)
52
-
This is role is needed if you intend to launch spot instances from AWS Batch.
51
+
This role is needed if you intend to launch spot instances from AWS Batch.
53
52
If you create a managed compute environment that uses Amazon EC2 Spot Fleet Instances, you must create a role that grants the Spot Fleet permission to bid on, launch, tag, and terminate instances on your behalf.
Copy file name to clipboardExpand all lines: docs/core-env/setup-aws-batch.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,19 +14,19 @@ A [job definition](http://docs.aws.amazon.com/batch/latest/userguide/job_definit
14
14
15
15
Jobs are submitted to [job queues](http://docs.aws.amazon.com/batch/latest/userguide/job_queues.html) where they reside until they can be scheduled to run on Amazon EC2 instances within a compute environment. An AWS account can have multiple job queues, each with varying priority. This gives you the ability to closely align the consumption of compute resources with your organizational requirements.
16
16
17
-
[Compute environments](http://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) provision and manage your EC2 instances and other compute resources that are used to run your AWS Batch jobs. Job queues are mapped to one more compute environments and a given environment can also be mapped to one or more job queues. This many-to-many relationship is defined by the compute environment order and job queue priority properties.
17
+
[Compute environments](http://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) provision and manage your EC2 instances and other compute resources that are used to run your AWS Batch jobs. Job queues are mapped to one or more compute environments and a given environment can also be mapped to one or more job queues. This many-to-many relationship is defined by the compute environment order and job queue priority properties.
18
18
19
19
The following diagram shows a general overview of how the AWS Batch resources interact.
For more information, watch the [How AWS Batch Works](https://www.youtube.com/watch?v=T4aAWrGHmxQ) video.
24
24
25
-
### Requirements for AWS Batch Jobs
25
+
##AWS Batch Jobs Requirements
26
26
27
-
AWS Batch does not make assumptions on the structure and requirements that Jobs take with respect to inputs and outputs. Batch Jobs may take data streams, files, or only parameters as input, and produce the same variaty for output, inclusive of files, metadata changes, updates to databases, etc. Batch assumes that each application handles their own input/output requirements.
27
+
AWS Batch does not make assumptions on the structure and requirements that Jobs take with respect to inputs and outputs. Batch Jobs may take data streams, files, or only parameters as input, and produce the same variety for output, inclusive of files, metadata changes, updates to databases, etc. Batch assumes that each application handles their own input/output requirements.
28
28
29
-
A common pattern for bioinformatics tooling is that files such as genomic sequence data are both inputs and outputs to/from a process. Many bioinformatics tools have also been developed to run in traditional Linux-based compute clusters with shared filesystems, and are not necessarily optimized for cloud computing.
29
+
A common pattern for bioinformatics tooling is that files such as genomic sequence data are both inputs and outputs to/from a process. Many bioinformatics tools have also been developed to run in traditional Linux-based compute clusters with shared filesystems and are not necessarily optimized for cloud computing.
30
30
31
31
The set of common requirements for genomics on AWS Batch are:
32
32
@@ -36,19 +36,19 @@ The set of common requirements for genomics on AWS Batch are:
36
36
37
37
* Multitenancy:
38
38
39
-
Multiple container jobs may run concurrently on the same instance. In these situations, it’s essential that your job writes to a unique subdirectory.
39
+
Multiple container jobs may run concurrently on the same instance. In these situations, it is essential that your job writes to a unique subdirectory.
40
40
41
41
* Data cleanup:
42
42
43
43
As your jobs complete and write the output back to S3, it is a good idea to delete the scratch data generated by that job on your instance. This allows you to optimize for cost by reusing EC2 instances if there are jobs remaining in the queue, rather than terminating the EC2 instances.
44
44
45
-
## What you will need
45
+
## AWS Batch Environment
46
46
47
47
A complete AWS Batch environment consists of the following:
48
48
49
49
1. A Compute Environment that utilizes [EC2 Spot instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) for cost-effective computing
50
50
2. A Compute Environment that utilizes EC2 on-demand (e.g. [public pricing](https://aws.amazon.com/ec2/pricing/on-demand/)) instances for high-priority work that can't risk job interruptions or delays due to insufficient Spot capacity.
51
-
3. A default Job Queue that utilizes the Spot compute environment first, but falls back to the on-demand compute environment if there is spare capacity already there.
51
+
3. A default Job Queue that utilizes the Spot compute environment first, but falls back to the on-demand compute environment if there is spare capacity available.
52
52
4. A high-priority Job Queue that leverages the on-demand and Spot CE's (in that order) and has higher priority than the default queue.
53
53
54
54
The CloudFormation template below will create all of the above.
Copy file name to clipboardExpand all lines: docs/orchestration/cromwell/cromwell-overview.md
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
system for scientific workflows developed by the [Broad Institute](https://broadinstitute.org/)
7
7
and supports job execution using [AWS Batch](https://aws.amazon.com/batch/).
8
8
9
-
## TL;DR
9
+
## Full Stack Deployment (TL;DR)
10
10
11
11
If you need a Cromwell server backed by AWS **now** and will worry about the
12
12
details later, use the CloudFormation template below.
@@ -16,7 +16,8 @@ details later, use the CloudFormation template below.
16
16
{{ cfn_stack_row("Cromwell All-in-One", "Cromwell", "cromwell/cromwell-aio.template.yaml", "Create all resources needed to run Cromwell on AWS: an S3 Bucket, AWS Batch Environment, and Cromwell Server Instance") }}
17
17
18
18
When the above stack is complete, navigate to the `HostName` that is generated
19
-
in the outputs to access Cromwell via its SwaggerUI.
19
+
in the outputs to access Cromwell via its SwaggerUI, which provides a simple web interface for submitting workflows.
20
+
20
21
21
22

22
23
@@ -36,7 +37,7 @@ these setup.
36
37
!!! note
37
38
For a Cromwell server that will run multiple workflows, or workflows with many
38
39
steps (e.g. ones with large scatter steps), it is recommended to setup a
39
-
database to use to store workflow metadata.
40
+
database to store workflow metadata.
40
41
41
42
## Custom Compute Resource with Cromwell Additions
42
43
@@ -49,7 +50,7 @@ Once complete, you will have a resource ID to give to AWS Batch to setup compute
49
50
50
51
## Cromwell Server
51
52
52
-
To ensure the highest level of security, and robustness for long running workflows,
53
+
To ensure the highest level of security and robustness for long running workflows,
53
54
it is recommended that you use an EC2 instance as your Cromwell server for submitting
54
55
workflows to AWS Batch.
55
56
@@ -222,7 +223,7 @@ backend {
222
223
223
224
The above file uses the [default credential provider chain](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) for authorization.
224
225
225
-
Replace the following with values appropriate for your accoutn and workload:
226
+
Replace the following with values appropriate for your account and workload:
226
227
227
228
*`<your region>` : the AWS region your S3 bucket and AWS Batch environment are
228
229
deployed into - e.g. `us-east-1`
@@ -235,7 +236,7 @@ Replace the following with values appropriate for your accoutn and workload:
235
236
236
237
!!! note
237
238
The CloudFormation template above automatically starts Cromwell on launch.
238
-
Use the instructions below are if you are provisioning your own EC2 instance.
239
+
Use the instructions below if you are provisioning your own EC2 instance.
239
240
240
241
Log into your server using SSH. If you setup a port tunnel, you can interact
241
242
with Cromwell's REST API from your local machine:
@@ -266,13 +267,13 @@ your local machine by navigating to:
266
267
267
268
## Running a workflow
268
269
269
-
To submit a workflow to your Cromwell server, you can use:
270
+
To submit a workflow to your Cromwell server, you can use any of the following:
270
271
271
272
* Cromwell's SwaggerUI in a web-browser
272
273
* a REST client like [Insomnia](https://insomnia.rest/) or [Postman](https://www.getpostman.com/)
273
-
*or, the command line with `curl`
274
+
* the command line with `curl`
274
275
275
276
After submitting a workflow, you can monitor the progress of tasks via the
276
277
AWS Batch console.
277
278
278
-
The next section provides some examples of running Crommwell on AWS.
279
+
The next section provides some examples of running Crommwell on AWS.
Copy file name to clipboardExpand all lines: docs/orchestration/step-functions/step-functions-overview.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
[AWS Step Functions](https://aws.amazon.com/step-functions/) is a service that allows you to orchestrate other AWS services, such as Lambda, Batch, SNS, and Glue, making it easy to coordinate the components of distributed applications as a series of steps in a visual workflow.
6
6
7
-
In the context of genomics workflows, the combination of Step Functions with Batch and Lambda constitutes a robustand scalable task orchestration solution.
7
+
In the context of genomics workflows, the combination of AWS Step Functions with Batch and Lambda constitutes a robust, scalable, and serverless task orchestration solution.
8
8
9
9
<!--// not ready for release yet
10
10
// TODO: create the example sfn state-machine cfn template
@@ -14,7 +14,7 @@ If you need something up and running in a hurry, and you've followed all of the
14
14
steps in the [Getting Started](../../../core-env/introduction/) section, you
15
15
already have the majority of what you need setup.
16
16
17
-
The last component you need is a Step Functions state machine for your workflow.
17
+
The last component you need is an AWS Step Functions state machine for your workflow.
18
18
Below is a CloudFormation template that creates an example state-machine that
19
19
you can modify to suit your needs.
20
20
@@ -27,15 +27,15 @@ you can modify to suit your needs.
27
27
28
28
To get started using AWS Step Functions for genomics workflows you'll need the following setup in your AWS account:
29
29
30
-
1. The core set of resources (S3 Bucket, IAM Roles, AWS Batch) described in the [Getting Started](../../../core-env/introduction/) section.
30
+
* The core set of resources (S3 Bucket, IAM Roles, AWS Batch) described in the [Getting Started](../../../core-env/introduction/) section.
31
31
32
-
## Step Functions Execution Role
32
+
## AWS Step Functions Execution Role
33
33
34
-
A Step Functions Execution role is an IAM role that allows Step Functions to execute other AWS services via the state machine.
34
+
An AWS Step Functions Execution role is an IAM role that allows Step Functions to execute other AWS services via the state machine.
35
35
36
-
This can be created automatically during the "first-run" experience in the Step Functions console when you create your first state machine. The policy attached to the role will depend on the specifc tasks you incorporate into your state machine.
36
+
This can be created automatically during the "first-run" experience in the AWS Step Functions console when you create your first state machine. The policy attached to the role will depend on the specifc tasks you incorporate into your state machine.
37
37
38
-
For state machines that use AWS Batch for job execution and send events to CloudWatch, the should have an Execution role with the following inline policy:
38
+
State machines that use AWS Batch for job execution and send events to CloudWatch should have an Execution role with the following inline policy:
39
39
40
40
```json
41
41
{
@@ -67,7 +67,7 @@ For state machines that use AWS Batch for job execution and send events to Cloud
67
67
68
68
## Step Functions State Machine
69
69
70
-
Workflows in AWS Step Functions are built using [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) (ASL), a declarative, JSON-based, structured language used to define your state machine, a collection of states, that can do work (Task states), determine which states to transition to next (Choice states), stop an execution with an error (Fail states), and so on.
70
+
Workflows in AWS Step Functions are built using [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) (ASL), a declarative, JSON-based, structured language used to define your state machine, a collection of states that can do work (Task states), determine which states to transition to next (Choice states), stop an execution with an error (Fail states), and so on.
71
71
72
72
### Building workflows with AWS Step Functions
73
73
@@ -185,7 +185,7 @@ An example Job Definition for the `bwa-mem` sequence aligner is shown below:
185
185
186
186
### State Machine Batch Job Tasks
187
187
188
-
Conveniently for genomics workflows, Step Functions has built-in integration with AWS Batch (and [several other services](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-connectors.html)), and provides snippets of code to make developing your state-machine
188
+
Conveniently for genomics workflows, AWS Step Functions has built-in integration with AWS Batch (and [several other services](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-connectors.html)), and provides snippets of code to make developing your state-machine
189
189
Batch tasks easier.
190
190
191
191

0 commit comments