

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用以下方式部署 AWS ParallelCluster API AWS CLI
<a name="api-reference-deploy-v3"></a>

在本节中，您将学习如何使用进行部署 AWS CLI。

如果您尚未配置要与 CLI 一起使用的 AWS 凭证，请执行此操作。

```
$ aws configure
```

运行以下命令以部署 API：

```
$ REGION=<region>
$ API_STACK_NAME=<stack-name>  # This can be any name
$ VERSION=3.15.0
$ aws cloudformation create-stack \
    --region ${REGION} \
    --stack-name ${API_STACK_NAME} \
    --template-url https://${REGION}-aws-parallelcluster.s3.${REGION}.amazonaws.com/parallelcluster/${VERSION}/api/parallelcluster-api.yaml \
    --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
$ aws cloudformation wait stack-create-complete --stack-name ${API_STACK_NAME} --region ${REGION}
```

**自定义部署**

您可以使用模板公开的 CloudFormation 参数来自定义 API 部署。要在通过 CLI 部署时配置参数的值，可以使用以下选项：`--parameters ParameterKey=KeyName,ParameterValue=Value`。

以下参数可选：
+ **区域**-使用`Region`参数指定 API 是能够控制全部资源 AWS 区域 （默认）还是单个资源 AWS 区域。将此值设置 AWS 区域 为要部署的 API 以限制访问权限。
+ **ParallelClusterFunctionRole**-这会覆盖分配给实现 AWS ParallelCluster 功能的 AWS Lambda 函数的 IAM 角色。该参数接受 IAM 角色的 ARN。需要将此角色配置为 AWS Lambda 作为 IAM 委托人。此外，由于此角色将取代 API Lambda 函数的默认角色，因此它必须至少具有 API 所需的默认权限，如中所列。[AWS ParallelCluster `pcluster`用户策略示例](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies)
+ **ParallelClusterFunctionAdditionalPolicies**-要附加到 AWS ParallelCluster API 函数角色的其他 IAM 策略的 ARN。只能指定一个策略。
+ **CustomDomainName，CustomDomainCertificate，CustomDomainHostedZoneId**-使用这些参数为 Amazon API Gateway 终端节点设置自定义域。 `CustomDomainName`是要使用的域名，`CustomDomainCertificate`是该域名的 AWS 托管证书的 ARN，`CustomDomainHostedZoneId`也是您要在其中创建记录的 A [mazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 托管区域的 ID。
**警告**  
您可以配置自定义域设置，以对 API 强制使用最低版本的传输层安全性协议 (TLS)。有关更多信息，请参阅[在 API Gateway 中为自定义域选择最低 TLS 版本](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html)。
+ **EnableIamAdminAccess**-默认情况下，处理 AWS ParallelCluster API 操作的 AWS Lambda 函数配置为阻止任何特权 IAM 访问的 IAM 角色 (`EnableIamAdminAccess=false`)。这使得 API 无法处理需要创建 IAM 角色或策略的操作。因此，只有在资源配置过程中提供 IAM 角色作为输入时，才能成功创建集群或自定义映像。

  当设置`EnableIamAdminAccess`为`true`时， AWS ParallelCluster API 将获得管理部署集群或生成自定义集群所需的 IAM 角色创建的权限 AMIs。
**警告**  
如果将其设置为 true，则会向处理 AWS ParallelCluster 操作的 AWS Lambda 函数授予 IAM 管理员权限。

  有关启用此模式时可以解锁的功能的更多详细信息，请参阅。[AWS ParallelCluster 用于管理 IAM 资源的用户示例策略](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-user-policy-manage-iam)
+ **PermissionsBoundaryPolicy**-此可选参数接受现有 IAM 策略 ARN，该策略将被设置为 PC API 基础设施创建的所有 IAM 角色的权限边界，并设置为管理 IAM 权限的条件，因此 PC API 只能创建具有此策略的角色。

  有关此模式施加的限制的更多详细信息，请参阅 [`PermissionsBoundary` 模式](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-permissionsboundary-mode)。
+ **CreateApiUserRole**-默认情况下， AWS ParallelCluster API 的部署包括创建 IAM 角色，该角色被设置为唯一有权调用 API 的角色。 Amazon API Gateway 终端节点配置了基于资源的策略，仅向创建的用户授予调用权限。 要更改此设置，请设置`CreateApiUserRole=false`并向选定的 IAM 用户授予 API 访问权限。有关更多信息，请参阅 *Amazon API Gateway 开发者指南中的控制调用 API* [的访问权限](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html)。
**警告**  
如果`CreateApiUserRole=true`对 API 终端节点的访问不受到 Amazon API Gateway 资源策略的限制，则所有拥有不受限制`execute-api:Invoke`权限的 IAM 角色都可以访问 AWS ParallelCluster 功能。有关更多信息，请参阅《API Gat [eway *开发者指南》中的使用 API Gateway 资源策略控制 API* 的访问权限](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html)。
**警告**  
`ParallelClusterApiUserRole` 有权调用所有 AWS ParallelCluster API 操作。要限制对一部分 API 资源的访问，请参阅《API [Gateway *开发者指南》中的使用 IAM 策略控制谁可以调用 API Gateway API* 方法](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-control-access-using-iam-policies-to-invoke-api.html#api-gateway-who-can-invoke-an-api-method-using-iam-policies)。
+ **IAMRoleAndPolicyPrefix**-此可选参数接受一个最多包含 10 个字符的字符串，该字符串将用作作为 PC API 基础设施一部分创建的 IAM 角色和策略的前缀。