

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 資源：運算環境範本
<a name="compute-environment-template"></a>

下列範例顯示空的運算環境範本。您可以使用此範本來建立運算環境，然後將其儲存至 檔案，並搭配 AWS CLI `--cli-input-json`選項使用。如需這些參數的詳細資訊，請參閱 *AWS Batch API 參考*中的 [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html)。

在建立受管 Amazon EC2 運算環境之前，請確定您已備妥下列先決條件。這些先決條件會在 `type` 欄位設定為 時套用`MANAGED`。
+ **安全群組** – 您的運算資源需要允許傳出流量的安全群組，以便執行個體可以與 Amazon ECS 服務端點通訊並提取容器映像。如需詳細資訊，請參閱[建立安全群組](create-a-base-security-group.md)。
+ **IAM 角色** – AWS Batch 需要允許容器執行個體代表您進行 AWS API 呼叫的 Amazon ECS 執行個體角色。如需詳細資訊，請參閱[Amazon ECS 執行個體角色](instance_IAM_role.md)及[使用 的服務連結角色 AWS Batch](using-service-linked-roles.md)。
**注意**  
`instanceRole` 欄位接受執行個體描述檔 ARN，而不是角色 ARN。格式是 `arn:aws:iam::{{account_id}}:instance-profile/{{ecsInstanceRole}}`。
+ **網路存取** – 運算資源必須能夠連線到 Amazon ECS 服務端點。如果您的執行個體位於沒有公有 IP 地址的私有子網路中，您可以使用 NAT 閘道或 Amazon VPC 介面端點。如需詳細資訊，請參閱[使用界面端點存取 AWS Batch](vpc-interface-endpoints.md)。

**注意**  
您可以使用下列 AWS CLI 命令產生運算環境範本。  

```
$ aws batch create-compute-environment --generate-cli-skeleton
```

**重要**  
運算環境必須以 `ENABLED` 狀態建立。

下列範例顯示**受管 Amazon EC2 運算環境**的骨架範本。當 `type`為 時，需要 `computeResources`區塊`MANAGED`。

```
{
    "computeEnvironmentName": "",
    "type": "MANAGED",
    "state": "ENABLED",
    "computeResources": {
        "type": "EC2",
        "allocationStrategy": "BEST_FIT_PROGRESSIVE",
        "minvCpus": 0,
        "maxvCpus": 16,
        "desiredvCpus": 0,
        "instanceTypes": [
            "default_arm64"
        ],
        "subnets": [
            "{{subnet-a1b2c3d4}}"
        ],
        "securityGroupIds": [
            "{{sg-a1b2c3d4}}"
        ],
        "instanceRole": "arn:aws:iam::{{123456789012}}:instance-profile/{{ecsInstanceRole}}",
        "tags": {
            "KeyName": ""
        },
        "launchTemplate": {
            "launchTemplateId": "",
            "version": "$Default"
        },
        "ec2Configuration": [
            {
                "imageType": "ECS_AL2023"
            }
        ]
    },
    "serviceRole": "",
    "tags": {
        "KeyName": ""
    }
}
```

下列範例顯示**未受管 Amazon EC2 運算環境**的骨架範本。`computeResources` 區塊不會用於`UNMANAGED`運算環境，應該省略。

```
{
    "computeEnvironmentName": "",
    "type": "UNMANAGED",
    "state": "ENABLED",
    "unmanagedvCpus": 0,
    "serviceRole": "",
    "tags": {
        "KeyName": ""
    }
}
```