

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

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

# 設定運算和執行時間映像
<a name="workflows-working-compute"></a>

在 CodeCatalyst 工作流程中，您可以指定 CodeCatalyst 用來執行工作流程動作的運算和執行時間環境映像。

*運算*是指由 CodeCatalyst 管理和維護以執行工作流程動作的運算引擎 (CPU、記憶體和作業系統）。

**注意**  
如果運算定義為工作流程的屬性，則無法定義為該工作流程中任何動作的屬性。同樣地，如果運算定義為任何動作的屬性，則無法在工作流程中定義。

*執行時間環境映像*是 CodeCatalyst 在其中執行工作流程動作的 Docker 容器。Docker 容器會在您選擇的運算平台上執行，並包含工作流程動作可能需要的作業系統和額外工具，例如 AWS CLI、Node.js 和 .tar。

**Topics**
+ [運算類型](#compute.types)
+ [運算機群](#compute.fleets)
+ [隨需機群屬性](#compute.on-demand)
+ [佈建的機群屬性](#compute.provisioned-fleets)
+ [建立佈建機群](projects-create-compute-resource.md)
+ [編輯佈建的機群](edit-compute-resource.md)
+ [刪除佈建的機群](delete-compute-resource.md)
+ [將機群或運算指派給動作](workflows-assign-compute-resource.md)
+ [跨動作共用運算](compute-sharing.md)
+ [指定執行時間環境映像](build-images.md)

## 運算類型
<a name="compute.types"></a>

CodeCatalyst 提供下列運算類型：
+ Amazon EC2
+ AWS Lambda

Amazon EC2 在動作執行期間提供最佳化的彈性，Lambda 則提供最佳化的動作啟動速度。Lambda 支援更快速的工作流程動作執行，因為啟動延遲較低。Lambda 可讓您執行基本工作流程，以建置、測試和部署具有常見執行時間的無伺服器應用程式。這些執行時間包括 Node.js、Python、Java、.NET 和 Go。不過，Lambda 不支援某些使用案例，如果它們影響到您，請使用 Amazon EC2 運算類型：
+ Lambda 不支援來自指定登錄檔的執行期環境映像。
+ Lambda 不支援需要根許可的工具。對於 `yum`或 等工具`rpm`，請使用 Amazon EC2 運算類型或其他不需要根許可的工具。
+ Lambda 不支援 Docker 組建或執行。不支援下列使用 Docker 映像的動作：部署 AWS CloudFormation 堆疊、部署至 Amazon ECS、Amazon S3 發佈、 AWS CDK 引導、 AWS CDK 部署、 AWS Lambda 叫用 和 GitHub 動作。Lambda 運算也不支援在 CodeCatalyst GitHub 動作中執行的 Docker 型 GitHub 動作。您可以使用不需要根許可的替代方案，例如 Podman。
+ Lambda 不支援寫入 外部的檔案`/tmp`。設定工作流程動作時，您可以重新設定工具以安裝或寫入 `/tmp`。如果您有安裝 的建置動作`npm`，請務必將其設定為安裝到 `/tmp`。
+ Lambda 不支援超過 15 分鐘的執行時間。

## 運算機群
<a name="compute.fleets"></a>

CodeCatalyst 提供下列運算機群：
+ 隨需機群
+ 佈建的機群

使用隨需機群時，當工作流程動作開始時，工作流程會佈建所需的資源。這些機器會在動作完成時銷毀。您只需支付執行動作的分鐘數。隨需機群受到完整管理，並包含自動擴展功能，可處理需求激增。

CodeCatalyst 也提供佈建機群，其中包含由 CodeCatalyst 維護且採用 Amazon EC2 技術的機器。使用佈建機群，您可以設定一組專用機器來執行工作流程動作。這些機器保持閒置狀態，準備好立即處理動作。使用佈建機群時，您的機器一律在執行中，只要佈建，就會產生成本。

若要建立、更新或刪除機群，您必須擁有**空間管理員**角色或**專案管理員**角色。

## 隨需機群屬性
<a name="compute.on-demand"></a>

CodeCatalyst 提供下列隨需機群：



- **`Linux.Arm64.Large`**
  - **作業系統:** Amazon Linux 2
  - **Architecture:** Arm64
  - **vCPUs:** 2
  - **記憶體 (GiB):** 4
  - **磁碟空間:** 64 GB / **支援的運算類型:** Amazon EC2
  - **磁碟空間:** 10 GB / **支援的運算類型:** Lambda

- **`Linux.Arm64.XLarge`**
  - **作業系統:** Amazon Linux 2
  - **Architecture:** Arm64
  - **vCPUs:** 4
  - **記憶體 (GiB):** 8
  - **磁碟空間:** 128 GB / **支援的運算類型:** Amazon EC2
  - **磁碟空間:** 10 GB / **支援的運算類型:** Lambda

- **`Linux.Arm64.2XLarge`**
  - **作業系統:** Amazon Linux 2
  - **Architecture:** Arm64
  - **vCPUs:** 8
  - **記憶體 (GiB):** 16
  - **磁碟空間:** 128 GB
  - **支援的運算類型:** Amazon EC2

- **`Linux.x86-64.Large`**
  - **作業系統:** Amazon Linux 2
  - **Architecture:** x86-64
  - **vCPUs:** 2
  - **記憶體 (GiB):** 4
  - **磁碟空間:** 64 GB / **支援的運算類型:** Amazon EC2
  - **磁碟空間:** 10 GB / **支援的運算類型:** Lambda

- **`Linux.x86-64.XLarge`**
  - **作業系統:** Amazon Linux 2
  - **Architecture:** x86-64
  - **vCPUs:** 4
  - **記憶體 (GiB):** 8
  - **磁碟空間:** 128 GB / **支援的運算類型:** Amazon EC2
  - **磁碟空間:** 10 GB / **支援的運算類型:** Lambda

- **`Linux.x86-64.2XLarge`**
  - **作業系統:** Amazon Linux 2
  - **Architecture:** x86-64
  - **vCPUs:** 8
  - **記憶體 (GiB):** 16
  - **磁碟空間:** 128 GB
  - **支援的運算類型:** Amazon EC2



**注意**  
隨需機群的規格會根據您的帳單方案而有所不同。如需詳細資訊，請參閱[ 定價](https://codecatalyst.aws/explore/pricing)。

如果未選取機群，CodeCatalyst 會使用 `Linux.x86-64.Large`。

## 佈建的機群屬性
<a name="compute.provisioned-fleets"></a>

佈建機群包含下列屬性：

**作業系統**  
作業系統。下列作業系統可供使用：  
+ Amazon Linux 2
+ Windows Server 2022
**注意**  
只有建置動作支援 Windows 機群。其他動作目前不支援 Windows。

**Architecture**  
處理器架構。下列架構可供使用：  
+ x86\_64
+ Arm64

**機器類型**  
每個執行個體的機器類型。下列機器類型可供使用：      
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/workflows-working-compute.html)

**Capacity**  
配置給機群的機器初始數量，定義可平行執行的動作數量。

**擴展模式**  
定義動作數量超過機群容量時的行為。    
**隨需佈建額外容量**  
其他機器會隨需設定，自動擴展以回應執行中的新動作，然後在動作完成時縮減至基本容量。這可能會產生額外費用，因為您按分鐘為每部執行中的機器付費。  
**等待直到有額外的機群容量可用**  
動作執行會放置在佇列中，直到機器可用為止。這可限制額外的成本，因為沒有配置額外的機器。