

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

# AWS ParallelCluster AMI 自訂
<a name="custom-ami-v3"></a>

在某些情況下 AWS ParallelCluster ，需要為 建置自訂 AMI。本節涵蓋建置自訂 AWS ParallelCluster AMI 時的考量事項。

您可以使用下列其中一種方法來建置自訂 AWS ParallelCluster AMI：

1. 建立[建置映像組態檔案](image-builder-configuration-file-v3.md)，然後使用 `pcluster` CLI 搭配 EC2 Image Builder 建置映像。此程序為自動化、可重複且支援監控。如需詳細資訊，請參閱[`pcluster`](pcluster-v3.md)映像命令。

1. 從 AWS ParallelCluster AMI 建立執行個體，然後登入執行個體並進行手動修改。最後，使用 Amazon EC2 從修改的執行個體建立新的 AMI。此程序所需的時間較少。不過，它不是自動化或可重複的，也不支援使用 `pcluster` CLI 映像監控命令。

如需這些方法的詳細資訊，請參閱 [建置自訂 AWS ParallelCluster AMI](building-custom-ami-v3.md)。

## AWS ParallelCluster AMI 自訂考量事項
<a name="custom-ami-considerations-v3"></a>

無論您如何建立自訂映像，我們都建議您執行初步驗證測試，並包含監控所建立映像狀態的 佈建。

若要使用 建置自訂 AMI`pcluster`，您可以使用 [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html) 用來[建置自訂映像的 和 區段來建立建置映像組態檔案](image-builder-configuration-file-v3.md)。 [`Build`](Build-v3.md) [`Image`](Image-v3.md#Image-v3.properties)`Build` 區段指定建置映像所需的映像建置器。這包括 [`ParentImage`](Build-v3.md#yaml-build-image-Build-ParentImage)（基礎映像） 和 [`Components`](Build-v3.md#Build-v3-Components)。[映像建置器元件](https://docs.aws.amazon.com/imagebuilder/latest/userguide/toe-component-manager.html)定義在建立映像之前自訂執行個體或測試由建立映像啟動的執行個體所需的一系列步驟。如需詳細資訊，請參閱 *EC2 * [Image Builder 使用者指南中的使用映像建置器建立自訂元件](https://docs.aws.amazon.com/imagebuilder/latest/userguide/create-component.html)。

從叢集呼叫 [`build-image`](pcluster.build-image-v3.md) 以建立自訂映像時，Image Builder 會使用建置映像組態搭配 AWS ParallelCluster 技術指南，在您的 AWS ParallelCluster 上引導[`ParentImage`](Build-v3.md#yaml-build-image-Build-ParentImage)。Image Builder 會下載元件、執行建置和驗證階段、建立 AMI、從 AMI 啟動執行個體，以及執行測試。程序完成時，Image Builder 接著會產生新的映像或停止訊息。

## 執行自訂元件驗證測試
<a name="custom-ami-validation-v3"></a>

在組態中包含 Image Builder 元件之前，請使用下列其中一種方法進行測試和驗證。由於映像建置器程序最多可能需要 1 小時，我們建議您事先測試元件。這可以為您節省大量時間。

**指令碼案例**  
在建置映像程序以外的執行中執行個體中測試指令碼，並確認指令碼以結束碼 0 結束。

**Amazon Resource Name (ARN) 案例**  
在建置映像程序之外，在執行中的執行個體中測試元件文件。如需需求清單，請參閱《*映像建置器使用者指南*》中的[元件管理員](https://docs.aws.amazon.com/imagebuilder/latest/userguide/toe-component-manager.html)。

**成功驗證後，將 元件新增至建置映像組態**  
驗證自訂元件是否正常運作後，將其新增至[建置映像組態檔案](image-builder-configuration-file-v3.md)。

## 使用 `pcluster` 命令監控映像建置器程序，以協助偵錯
<a name="custom-ami-monitor-v3"></a>

[`describe-image`](pcluster.describe-image-v3.md)

使用此命令來監控建置映像狀態。

[`list-image-log-streams`](pcluster.list-image-log-streams-v3.md)

使用此命令來取得日誌串流IDs，您可以使用 來擷取日誌事件[`get-image-log-events`](pcluster.get-image-log-events-v3.md)。

[`get-image-log-events`](pcluster.get-image-log-events-v3.md)

使用此命令可取得建置映像程序事件的日誌串流。

例如，您可以使用下列命令來結束建置映像事件。

```
$ watch -n 1 'pcluster get-image-log-events -i <image-id> \
        --log-stream-name/1 <pcluster-version> \
        --query "events[*].message" | tail -n 50'
```

[`get-image-stack-events`](pcluster.get-image-stack-events-v3.md)

使用此命令來擷取映像建置器建立之堆疊的映像堆疊事件。

[`export-image-logs`](pcluster.export-image-logs-v3.md)

使用此命令儲存映像日誌。

如需 AWS ParallelCluster 日誌和 Amazon CloudWatch 的詳細資訊，請參閱 [Amazon CloudWatch Logs 建置映像日誌](cloudwatch-logs-v3.md#cloudwatch-logs-build-images)和 [Amazon CloudWatch 儀表板](cloudwatch-dashboard-v3.md)。

## 其他考量
<a name="custom-ami-other-v3"></a>

**新 AWS ParallelCluster 版本和自訂 AMIs**  
如果您建置並使用自訂 AMI，則必須在每個新 AWS ParallelCluster 版本中重複用來建立自訂 AMI 的步驟。

**自訂引導操作**  
檢閱 [自訂引導操作](custom-bootstrap-actions-v3.md)區段，判斷您欲進行的修改是否可以編寫指令碼，並支援未來的 AWS ParallelCluster 版本。

**使用自訂 AMIs**  
您可以在 / [`CustomAmi`](Image-v3.md#yaml-Image-CustomAmi)和 / [`Scheduling`](Scheduling-v3.md) / [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues) - [`Image`](Image-v3.md) [`Name`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Name)/ [`Image`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Image) / [`CustomAmi`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Image-CustomAmi)區段的叢集組態中指定自訂 AMIs。  
若要對自訂 AMI 驗證警告進行疑難排解，請參閱 [對自訂 AMI 問題進行故障診斷](troubleshooting-v3-custom-amis.md)。