

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

# 以程式碼形式管理截止日期雲端基礎設施
<a name="infrastructure-as-code"></a>

您可以將截止日期雲端 AWS （截止日期雲端） 陣列、佇列和機群定義為程式碼。使用 AWS CloudFormation (CloudFormation) AWS Cloud Development Kit (AWS CDK)、 或 部署它們Terraform。這三個工具都以相同的截止日期雲端資源類型為基礎，因此它們會建立同等的基礎設施。選擇您的團隊已用來管理 AWS 基礎設施其餘部分的工具。

下表比較三個工具。表格後面的各節說明 GitHub 網站上的 [deadline-cloud-samples](https://github.com/aws-deadline/deadline-cloud-samples) 儲存庫中的每個工具和工作入門範本的連結。


| 面向 | CloudFormation | AWS CDK | Terraform | 
| --- | --- | --- | --- | 
| 編寫 | YAML 或 JSON 範本 | 編譯為 CloudFormation 範本的程式設計語言，例如 TypeScript 或 Python | HCL 組態 | 
| 供應商 | AWS 原生 | AWS 原生 | HashiCorp AWSCC | 
| 截止日期 雲端資源名稱 | `AWS::Deadline::*` | `CfnFarm`、`CfnQueue`、`CfnFleet`，依此類推 | `awscc_deadline_*` | 
| State | 管理者 AWS | 管理者 AWS | 本機或遠端後端 | 

## CloudFormation
<a name="infrastructure-as-code-cfn"></a>

CloudFormation 在 `AWS::Deadline` 命名空間中提供 Deadline Cloud 的原生資源類型。如需每個資源類型的屬性和傳回值，請參閱 *CloudFormation 範本參考*中的[AWS 截止日期雲端](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Deadline.html)。

如需部署完整陣列的工作範本、將機群連接至私有 VPC 資源，以及管理容量，請參閱 [CloudFormation 截止日期雲端的範本範例](examples-cloudformation.md)。

## AWS CDK
<a name="infrastructure-as-code-cdk"></a>

使用 AWS CDK，您可以使用 L1 建構模組定義截止日期雲端資源，例如 `CfnQueue`、 `CfnFarm`和 `CfnFleet`[`aws-cdk-lib/aws-deadline`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_deadline-readme.html)。這些建構是從 CloudFormation 資源類型產生，您的 AWS CDK 應用程式會部署為 CloudFormation 堆疊。

如需具有四個範例陣列堆疊的運作 TypeScript 應用程式，這些堆疊是從可重複使用的建構模組建置而成，請參閱 [使用 部署截止日期雲端陣列 AWS CDK](examples-cdk.md)。

## Terraform
<a name="infrastructure-as-code-terraform"></a>

Terraform 透過Terraform登錄網站上的 [AWS Cloud Control (AWSCC) 提供者](https://registry.terraform.io/providers/hashicorp/awscc/latest)支援截止日期雲端，這會公開 資源，例如 `awscc_deadline_farm`、 `awscc_deadline_queue`和 `awscc_deadline_fleet`。AWSCC 提供者是透過 資源 CloudFormation 類型產生 AWS 雲端控制 API，因此涵蓋與 相同的資源 CloudFormation。供應商`hashicorp/aws`不包含截止日期雲端資源。

如需運作中的組態，包括相當於 CloudFormation 和 AWS CDK 版本的入門陣列，請參閱 [使用 部署截止日期雲端陣列 Terraform](examples-terraform.md)。

## 範本外部的資源
<a name="infrastructure-as-code-coverage"></a>

截止日期雲端資源類型涵蓋陣列、佇列、機群、佇列環境、儲存設定檔、限制、授權端點、計量產品、監視器，以及佇列與機群或限制之間的關聯。如需完整清單，請參閱 *CloudFormation 範本參考*中的[AWS 截止日期雲端](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Deadline.html)。

一些資源沒有資源類型，因此您可以在部署完成後使用 主控台 AWS CLI、 或 API 來管理它們：
+ **預算** – 使用預算管理員為您的陣列和佇列建立預算。如需詳細資訊，請參閱*《截止日期雲端使用者指南*》中的[管理預算和用量](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/using-budget-manager.html)。
+ **成員資格** – 授予使用者和群組對陣列、機群、佇列和任務的存取權。如需詳細資訊，請參閱*《截止日期雲端使用者指南*》中的[管理使用者](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/managing-users.html)。