Skip to content

Commit 2a20863

Browse files
committed
Update PCluster deployment guide
1 parent fc1be0f commit 2a20863

39 files changed

+1967
-450
lines changed

0.docs/EnableIdentityCenter.png

414 KB
Loading

0.docs/IdentityCenterSetup1.png

339 KB
Loading

0.docs/IdentityCenterSetup10.png

76.2 KB
Loading

0.docs/IdentityCenterSetup2.png

190 KB
Loading

0.docs/IdentityCenterSetup3.png

561 KB
Loading

0.docs/IdentityCenterSetup4.png

171 KB
Loading

0.docs/IdentityCenterSetup5.png

357 KB
Loading

0.docs/IdentityCenterSetup6.png

243 KB
Loading

0.docs/IdentityCenterSetup7.png

320 KB
Loading

0.docs/IdentityCenterSetup8.png

419 KB
Loading

0.docs/IdentityCenterSetup9.png

202 KB
Loading

0.docs/core-infra-architecture.png

203 KB
Loading
367 KB
Loading

0.docs/observability_architecture.png

694 KB
Loading
2.03 MB
Loading

0.docs/ssm-connect-user.png

83 KB
Loading

0.docs/ssm-connect.png

137 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
env_vars

1.architectures/2.aws-parallelcluster/README.md

+166-85
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Here, we provide detailed instruction for the cluster deployment in various different setup scenario
2+
3+
* [Vanilla cluster deployment](vanilla-pcluster.md)
4+
* [Pcluster with observability stack deployment](pcluster-observability.md)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.yaml
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
#!/bin/bash
2+
3+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4+
# SPDX-License-Identifier: MIT-0
5+
#
6+
# Permission is hereby granted, free of charge, to any person obtaining a copy of this
7+
# software and associated documentation files (the "Software"), to deal in the Software
8+
# without restriction, including without limitation the rights to use, copy, modify,
9+
# merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
10+
# permit persons to whom the Software is furnished to do so.
11+
#
12+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13+
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
14+
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
15+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
16+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
17+
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18+
19+
: "${STACK_ID_VPC:=parallelcluster-prerequisites}"
20+
21+
# Check for JQ
22+
if ! command -v jq &> /dev/null
23+
then
24+
echo -e "please install jq...\nsudo yum install -y jq or brew install jq"
25+
exit 1
26+
fi
27+
28+
# Define AWS Region
29+
if [ -z ${AWS_REGION} ]; then
30+
echo "[WARNING] AWS_REGION environment variable is not set, automatically set depending on aws cli default region."
31+
export AWS_REGION=$(aws configure get region)
32+
fi
33+
echo "export AWS_REGION=${AWS_REGION}" >> env_vars
34+
echo "[INFO] AWS_REGION = ${AWS_REGION}"
35+
36+
if [ -z ${INSTANCE} ]; then
37+
echo "[WARNING] INSTANCES environment variable is not set, automatically set to p5.48xlarge."
38+
export INSTANCE=p5.48xlarge
39+
fi
40+
echo "export INSTANCE=${INSTANCE}" >> env_vars
41+
echo "[INFO] INSTANCE = ${INSTANCE}"
42+
43+
if [ -z ${NUM_INSTANCES} ]; then
44+
echo "[WARNING] NUM_INSTANCES environment variable is not set, automatically set to 2"
45+
export NUM_INSTANCES=2
46+
fi
47+
echo "export NUM_INSTANCES=${NUM_INSTANCES}" >> env_vars
48+
echo "[INFO] NUM_INSTANCES = ${NUM_INSTANCES}"
49+
50+
if [ -z ${CAPACITY_RESERVATION_ID} ]; then
51+
echo "[WARNING] CAPACITY_RESERVATION_ID environment variable is not set, automatically set to 2"
52+
export CAPACITY_RESERVATION_ID="NA"
53+
fi
54+
echo "export CAPACITY_RESERVATION_ID=${CAPACITY_RESERVATION_ID}" >> env_vars
55+
echo "[INFO] CAPACITY_RESERVATION_ID = ${CAPACITY_RESERVATION_ID}"
56+
57+
if [ -z ${KEY_PAIR_NAME} ]; then
58+
echo "[WARNING] KEY_PAIR_NAME environment variable is not set, assuming that you will not use it."
59+
export KEY_PAIR_NAME="REMOVE_THIS_LINE_AND_A_LINE_BEFORE"
60+
fi
61+
echo "export KEY_PAIR_NAME=${KEY_PAIR_NAME}" >> env_vars
62+
echo "[INFO] KEY_PAIR_NAME = ${KEY_PAIR_NAME}"
63+
64+
if [ -z ${AMPREMOTEWRITEURL} ]; then
65+
echo "[WARNING] AMPREMOTEWRITEURL environment variable is not set, assuming that you will not use it."
66+
export AMPREMOTEWRITEURL="NA"
67+
fi
68+
echo "export AMPREMOTEWRITEURL=${AMPREMOTEWRITEURL}" >> env_vars
69+
echo "[INFO] AMPREMOTEWRITEURL = ${AMPREMOTEWRITEURL}"
70+
71+
# Retrieve VPC ID
72+
export VPC_ID=`aws cloudformation describe-stacks \
73+
--stack-name $STACK_ID_VPC \
74+
--query 'Stacks[0].Outputs[?OutputKey==\`VPC\`].OutputValue' \
75+
--region ${AWS_REGION} \
76+
--output text`
77+
78+
if [[ ! -z $VPC_ID ]]; then
79+
echo "export VPC_ID=${VPC_ID}" >> env_vars
80+
echo "[INFO] VPC_ID = ${VPC_ID}"
81+
else
82+
echo "[ERROR] failed to retrieve VPC ID"
83+
return 1
84+
fi
85+
86+
# Grab the subnet id
87+
export PRIVATE_SUBNET_ID=`aws cloudformation describe-stacks \
88+
--stack-name $STACK_ID_VPC \
89+
--query 'Stacks[0].Outputs[?OutputKey==\`PrimaryPrivateSubnet\`].OutputValue' \
90+
--region ${AWS_REGION} \
91+
--output text`
92+
93+
if [[ ! -z $PRIVATE_SUBNET_ID ]]; then
94+
echo "export PRIVATE_SUBNET_ID=${PRIVATE_SUBNET_ID}" >> env_vars
95+
echo "[INFO] PRIVATE_SUBNET_ID = ${PRIVATE_SUBNET_ID}"
96+
else
97+
echo "[ERROR] failed to retrieve PRIVATE_SUBNET_ID"
98+
return 1
99+
fi
100+
101+
# Grab the subnet id
102+
export PUBLIC_SUBNET_ID=`aws cloudformation describe-stacks \
103+
--stack-name $STACK_ID_VPC \
104+
--query 'Stacks[0].Outputs[?OutputKey==\`PublicSubnet\`].OutputValue' \
105+
--region ${AWS_REGION} \
106+
--output text`
107+
108+
if [[ ! -z $PUBLIC_SUBNET_ID ]]; then
109+
echo "export PUBLIC_SUBNET_ID=${PUBLIC_SUBNET_ID}" >> env_vars
110+
echo "[INFO] PUBLIC_SUBNET_ID = ${PUBLIC_SUBNET_ID}"
111+
else
112+
echo "[ERROR] failed to retrieve Public SUBNET ID"
113+
return 1
114+
fi
115+
116+
# Get FSx Filesystem id from CloudFormation
117+
export FSX_ID=`aws cloudformation describe-stacks \
118+
--stack-name $STACK_ID_VPC \
119+
--query 'Stacks[0].Outputs[?OutputKey==\`FSxLustreFilesystemId\`].OutputValue' \
120+
--region ${AWS_REGION} \
121+
--output text`
122+
123+
if [[ ! -z $FSX_ID ]]; then
124+
echo "export FSX_ID=${FSX_ID}" >> env_vars
125+
echo "[INFO] FSX_ID = ${FSX_ID}"
126+
else
127+
echo "[ERROR] failed to retrieve FSX ID"
128+
return 1
129+
fi
130+
131+
# Get FSx Filesystem Mountname from CloudFormation
132+
export FSX_MOUNTNAME=`aws cloudformation describe-stacks \
133+
--stack-name $STACK_ID_VPC \
134+
--query 'Stacks[0].Outputs[?OutputKey==\`FSxLustreFilesystemMountname\`].OutputValue' \
135+
--region ${AWS_REGION} \
136+
--output text`
137+
138+
if [[ ! -z $FSX_MOUNTNAME ]]; then
139+
echo "export FSX_MOUNTNAME=${FSX_MOUNTNAME}" >> env_vars
140+
echo "[INFO] FSX_MOUNTNAME = ${FSX_MOUNTNAME}"
141+
else
142+
echo "[ERROR] failed to retrieve FSX Mountname"
143+
return 1
144+
fi
145+
146+
# Get FSxO Filesystem Root Volume from CloudFormation
147+
export FSXO_ID=`aws cloudformation describe-stacks \
148+
--stack-name $STACK_ID_VPC \
149+
--query 'Stacks[0].Outputs[?OutputKey==\`FSxORootVolumeId\`].OutputValue' \
150+
--region ${AWS_REGION} \
151+
--output text`
152+
153+
if [[ ! -z $FSX_MOUNTNAME ]]; then
154+
echo "export FSXO_ID=${FSXO_ID}" >> env_vars
155+
echo "[INFO] FSXO_ID = ${FSXO_ID}"
156+
else
157+
echo "[ERROR] failed to retrieve FSx for OpenZFS Root Volume ID"
158+
return 1
159+
fi
160+
161+
# Get FSx Security Group from CloudFormation
162+
export SECURITY_GROUP=`aws cloudformation describe-stacks \
163+
--stack-name $STACK_ID_VPC \
164+
--query 'Stacks[0].Outputs[?OutputKey==\`SecurityGroup\`].OutputValue' \
165+
--region ${AWS_REGION} \
166+
--output text`
167+
168+
if [[ ! -z $SECURITY_GROUP ]]; then
169+
echo "export SECURITY_GROUP=${SECURITY_GROUP}" >> env_vars
170+
echo "[INFO] SECURITY_GROUP = ${SECURITY_GROUP}"
171+
else
172+
echo "[ERROR] failed to retrieve FSX Security Group"
173+
return 1
174+
fi

0 commit comments

Comments
 (0)