Skip to content

Commit ee6a3a3

Browse files
committed
Merge branch 'main' into develop
2 parents d5f2dd7 + b2fb673 commit ee6a3a3

33 files changed

+2760
-104
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ This repository contains example recipes that demonstrate how to build HPC syste
1313
* You can learn about ParallelCluster from this [quick explainer video](https://youtu.be/gmw7A3kOh60).
1414
* [This video](https://www.youtube.com/watch?v=2Nku6MWDwT0) introduces Research and Engineering Studio on AWS.
1515
* Discover recipes to help you [get started with AWS PCS](recipes/pcs/)
16-
* Try launching an HPC cluster in the cloud [with just a few clicks](recipes/pcluster/latest/README.md).
16+
* Try launching a HPC cluster in the cloud [with just a few clicks](recipes/pcs/getting_started/README.md).
1717
* Need to set up HPC-ready networking? Choose from a [simple example](recipes/net/hpc_basic/README.md) or a [more advanced configuration](recipes/net/hpc_large_scale/README.md).
1818
* There are also examples of setting up HPC-ready filesystems on AWS [for you to try and learn from](recipes/README.md#arrow_right-storage-storage).
1919

recipes/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@ You can use an HPC Recipe for AWS in several ways:
116116
* **About**: Creates a multi-user instance of AWS ParallelCluster using AWS Managed AD as the directory service.
117117
* **Usage**: [README.md](pcluster/multi_user/README.md)
118118

119+
#### nist_800_223 ![tag](https://img.shields.io/badge/-activedirectory-%23AAB7B8) ![tag](https://img.shields.io/badge/-beta-%23800080) ![tag](https://img.shields.io/badge/-efs-%237DCEA0) ![tag](https://img.shields.io/badge/-fsx-%237DCEA0) ![tag](https://img.shields.io/badge/-parallelcluster-%23FF9900) ![tag](https://img.shields.io/badge/-rds-%237DCEA0) ![tag](https://img.shields.io/badge/-secretsmanager-%237DCEA0) ![tag](https://img.shields.io/badge/-ssm-%23AAB7B8)
120+
121+
* **About**: Creats an AWS ParallelCluster using recommendations from [NIST SP 800-223](https://csrc.nist.gov/pubs/sp/800/223/final).
122+
* **Usage**: [README.md](pcluster/nist_800_223/README.md)
123+
119124
#### pcui ![tag](https://img.shields.io/badge/-cognito-%237DCEA0) ![tag](https://img.shields.io/badge/-lambda-%237DCEA0) ![tag](https://img.shields.io/badge/-parallelcluster-%23FF9900)
120125

121126
* **About**: Create an AWS ParallelCluster with ParallelClusterUI to manage it.
@@ -209,6 +214,16 @@ You can use an HPC Recipe for AWS in several ways:
209214
* **About**: Install Spack on AWS PCS
210215
* **Usage**: [README.md](pcs/spack_for_pcs/README.md)
211216

217+
#### try_amd ![tag](https://img.shields.io/badge/-amd-%23AAB7B8) ![tag](https://img.shields.io/badge/-beta-%23800080) ![tag](https://img.shields.io/badge/-cloudformation-%237DCEA0) ![tag](https://img.shields.io/badge/-demo-%23AAB7B8) ![tag](https://img.shields.io/badge/-efs-%237DCEA0) ![tag](https://img.shields.io/badge/-pcs-%23FF9900)
218+
219+
* **About**: Get started with AMD-powered HPC instances and AWS PCS
220+
* **Usage**: [README.md](pcs/try_amd/README.md)
221+
222+
#### try_graviton ![tag](https://img.shields.io/badge/-alinux2-%23FF9900) ![tag](https://img.shields.io/badge/-arm64-%23AAB7B8) ![tag](https://img.shields.io/badge/-beta-%23800080) ![tag](https://img.shields.io/badge/-ec2-%23FF9900) ![tag](https://img.shields.io/badge/-efs-%237DCEA0) ![tag](https://img.shields.io/badge/-fsx-%237DCEA0) ![tag](https://img.shields.io/badge/-graviton-%237DCEA0) ![tag](https://img.shields.io/badge/-pcs-%23FF9900)
223+
224+
* **About**: Get started with Graviton-powered instances on AWS PCS
225+
* **Usage**: [README.md](pcs/try_graviton/README.md)
226+
212227

213228
### :arrow_right: res: Research and Engineering Studio on AWS
214229

recipes/pcluster/nist_800_223/README.md

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ We developed this guidance in response to the growing need for secure HPC enviro
3737

3838
Architecture diagrams below show sample NIST 800-223 based architecture, provisoning and deployment process using cloudformation, HPC Cluster deployment, and user interactions via AWS ParallelCluster. Depending on the region you deploy the recipe in, it will automatically scale to from 2-4 AZs in order to maximize availability and redundancy of your cluster.
3939

40-
![Infrastructure](images/ref-arch.png "Reference Architecture")
40+
![Infrastructure](docs/ref-arch.png "Reference Architecture")
4141

4242
### Cost
4343

@@ -119,59 +119,59 @@ This deployment requires you have access to Amazon CloudFormation in your AWS ac
119119
5. Locate the search bar at the top of your screen and type in CloudFormation
120120
6. When presented with a list of services click CloudFormation to open the CloudFormation console
121121

122-
![CloudFormation](images/deployment_steps/0_deployment.png)
122+
![CloudFormation](docs/deployment_steps/0_deployment.png)
123123

124-
7. Click the Create Stack button
124+
1. Click the Create Stack button
125125

126-
![Create Stack](images/deployment_steps/1_deployment.png)
126+
![Create Stack](docs/deployment_steps/1_deployment.png)
127127

128-
8. In the "Prepare template" section select "Choose an existing template"
128+
1. In the "Prepare template" section select "Choose an existing template"
129129

130-
![Prepare Tempalte](images/deployment_steps/2_deployment.png)
130+
![Prepare Tempalte](docs/deployment_steps/2_deployment.png)
131131

132-
9. In the "Specifiy teamplate" section select "Upload a template file"
133-
10. Click the "Choose file" button
132+
1. In the "Specifiy teamplate" section select "Upload a template file"
133+
2. Click the "Choose file" button
134134

135-
![Choose File](images/deployment_steps/3_deployment.png)
135+
![Choose File](docs/deployment_steps/3_deployment.png)
136136

137-
11. Navigate to the location on your local computer where you clone the repo too and go to the deployment folder. There you will find the CloudFormation templates prefaced with a number that will indicate the order to execute them in.
138-
12. Select the first template titled "0_network.yaml"
139-
13. For each template you will be asked to provide a Stack name, this name must be a unique stack name for the region you are deploying in.
137+
1. Navigate to the location on your local computer where you clone the repo too and go to the deployment folder. There you will find the CloudFormation templates prefaced with a number that will indicate the order to execute them in.
138+
2. Select the first template titled "0_network.yaml"
139+
3. For each template you will be asked to provide a Stack name, this name must be a unique stack name for the region you are deploying in.
140140

141141
***Important: The stack name should be noted for use in later templates. Downstream services will need to know this stack name in order to reference Amazon Resource Names (ARNs) or resource IDs that will be exported/output for each template***
142142

143-
![Stack Name](images/deployment_steps/4_deployment.png)
143+
![Stack Name](docs/deployment_steps/4_deployment.png)
144144

145-
14. For the network stack review the parameters and adjust as needed based on your specific use case or requirements
146-
15. Once you have reviewed and validated the parameters click the Next button at the bottom of the page
147-
16. Leave the default options on the "Configure stack options" page
148-
17. You will need to scroll to the bottom of this page and select the check box to allow CloudFormation to create IAM resources on your behlaf
149-
18. Click Next
145+
1. For the network stack review the parameters and adjust as needed based on your specific use case or requirements
146+
2. Once you have reviewed and validated the parameters click the Next button at the bottom of the page
147+
3. Leave the default options on the "Configure stack options" page
148+
4. You will need to scroll to the bottom of this page and select the check box to allow CloudFormation to create IAM resources on your behlaf
149+
5. Click Next
150150

151-
![Choose File](images/deployment_steps/5_deployment.png)
151+
![Choose File](docs/deployment_steps/5_deployment.png)
152152

153-
19. On the "Review and create" screen review your selections one last time and then click the Submit button at the bottom of the page.
153+
1. On the "Review and create" screen review your selections one last time and then click the Submit button at the bottom of the page.
154154

155-
![Submit](images/deployment_steps/6_deployment.png)
155+
![Submit](docs/deployment_steps/6_deployment.png)
156156

157-
20. Your CloudFormation stack will begin deploying
158-
21. You can monitor the progress of the deployment with in the CloudFormation console
157+
1. Your CloudFormation stack will begin deploying
158+
2. You can monitor the progress of the deployment with in the CloudFormation console
159159

160-
![Choose File](images/deployment_steps/7_deployment.png)
160+
![Choose File](docs/deployment_steps/7_deployment.png)
161161

162-
22. Wait until you see the stack status update from "CREATE_IN_PROGRESS" to "CREATE_COMPLETE" before moving on to the next template
163-
23. You can review the outputs generated by the stack by going to the Outputs tab for each stack or going to the Exports page on the left-hand menu
162+
1. Wait until you see the stack status update from "CREATE_IN_PROGRESS" to "CREATE_COMPLETE" before moving on to the next template
163+
2. You can review the outputs generated by the stack by going to the Outputs tab for each stack or going to the Exports page on the left-hand menu
164164
- ***Note: The export values will be used by later templates to reference resources created in earlier templates***
165165

166166
Outputs View
167167

168-
![Outputs](images/deployment_steps/8_deployment.png)
168+
![Outputs](docs/deployment_steps/8_deployment.png)
169169

170170
Exports View
171171

172-
![Exports](images/deployment_steps/9_deployment.png)
172+
![Exports](docs/deployment_steps/9_deployment.png)
173173

174-
24. Repeat the steps above starting with step 7. moving on to the next stack in the deployment folder
174+
1. Repeat the steps above starting with step 7. moving on to the next stack in the deployment folder
175175

176176
***Important: Stacks 1-5 will have a parameter that asks for the previous stack names. If you modify the stack names from the default values, you will need to also update the parameters in each subsequent stack with the appropriate name so that the relevant services can be referenced.***
177177

@@ -192,11 +192,10 @@ Exports View
192192

193193
* Open CloudFormation console and verify the status of the template with the name starting with each of the names above.
194194

195-
<img src="https://github.com/aws-samples/aws-hpc-recipes/tree/main/recipes/pcluster/nist-800-223/images/deployment_steps/0_validate.png" alt="Validate" width="200" height="325">
195+
<img src="https://github.com/aws-samples/aws-hpc-recipes/blob/main/recipes/pcluster/nist_800_223/docs/deployment_steps/0_validate.png" alt="Validate" width="325">
196196

197197
* Make sure that all CloudFormation stacks have a status of "CREATE_COMPLETE"
198198

199-
200199
## Next Steps
201200

202201
You now have successfully deployed the infrastructure need to comply with the guidelines and recommendations outlined in NIST SP 800-223.

recipes/pcs/getting_started/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ To create a demonstration PCS cluster:
3737
3. Follow the instructions in the AWS CloudFormation console:
3838
* (Optional) Customize the stack name.
3939
* Under **Parameters**
40+
* For **SlurmVersion** choose any available version of Slurm.
41+
* For **NodeArchitecture** choose either `x86` or `Graviton` for your login and compute node groups.
4042
* For **KeyName** choose an SSH key for connecting to the login nodes
41-
* Leave **AmiId** empty
4243
* For **ClientIpCidr**, either leave it as its default value or replace with a more restrictive CIDR range
4344
* Leave the parameters under **HPC Recipes configuration** as their default values.
4445
* Under **Capabilities and transforms**
@@ -61,3 +62,7 @@ Once you have connected to a login instance, follow along with the **Getting Sta
6162
When you are done using your PCS cluster, you can delete it and all its associated resources by navigating to the AWS CloudFormation console and deleting the stack you created.
6263

6364
**Note** If you have created additional compute node groups or queues in your cluster, beyond the `login` and `compute-1` groups created by the CloudFormation stack, you will need to delete those resources in the PCS console before deleting the CloudFormation stack.
65+
66+
### Deprecation Notice
67+
68+
Versions of this recipe released prior to 12/17/2024 use an AWS CloudFormation helper to manage the AWS PCS cluster. With the release of official CloudFormation support for PCS, this is no longer necessary. The file [pcs-cfn.yaml](assets/pcs-cfn.yaml), which provides this helper, will be deleted from this recipe on January 17, 2025.

0 commit comments

Comments
 (0)