

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

# 使用精靈開始使用 AWS Batch 和 Fargate 協同運作
<a name="getting-started-fargate"></a>

AWS Fargate 會啟動和擴展運算，以符合您為容器指定的資源需求。使用 Fargate，您不需要過度佈建或支付額外的伺服器。如需詳細資訊，請參閱 [Fargate](https://docs.aws.amazon.com//batch/latest/userguide/fargate.html#when-to-use-fargate)。

## 概觀
<a name="getting-started-fargate-contextual"></a>

本教學課程示範如何使用 AWS Batch 精靈設定 ，以設定 AWS Fargate 並執行 `Hello World`。

**目標對象**  
本教學課程專為負責設定、測試和部署的系統管理員和開發人員而設計 AWS Batch。

**使用的功能**  
本教學課程說明如何使用 AWS Batch 主控台精靈：  
+ 建立和設定 AWS Fargate 運算環境
+ 建立任務佇列。
+ 建立任務定義
+ 建立並提交要執行的任務
+ 在 CloudWatch 中檢視任務的輸出

**所需時間**  
完成本教學課程約需 10-15 分鐘。

**區域限制**  
使用此解決方案沒有相關聯的國家或地區限制。

**資源用量成本**  
建立 AWS 帳戶無需付費。不過，透過實作此解決方案，您可能會產生下表中所列的部分或全部費用。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/batch/latest/userguide/getting-started-fargate.html)

## 先決條件
<a name="getting-started-fargate-prerequisite"></a>

開始之前：
+ 如果您沒有 ， AWS 帳戶 請建立 。
+ 建立任務執行角色。如果您尚未建立[任務執行角色](create-execution-role.md#create-execution-role.title)，則可以建立它做為本教學課程的一部分。

## 步驟 1：建立運算環境
<a name="create-ce-2"></a>

**重要**  
為了盡可能簡單快速地開始使用，本教學課程包含具有預設設定的步驟。為生產用途建立 之前，建議您先熟悉所有設定，並使用符合您需求的設定進行部署。

若要為 Fargate 協同運作建立運算環境，請執行下列動作：

1. 開啟[AWS Batch 主控台初次執行精靈](https://console.aws.amazon.com/batch/home#wizard)。

1. 針對**設定任務和協同運作類型**，選擇 **Fargate**。

1. 選擇**下一步**。

1. 在**名稱**的**運算環境組態**區段中，指定運算環境的唯一名稱。名稱長度最多可達 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (\$1)。

1. 對於所有其他組態選項，您可以保留預設值。

1. 選擇**下一步**。

## 步驟 2：建立任務佇列
<a name="create-job-queue-2"></a>

任務佇列會儲存您提交的任務，直到 AWS Batch 排程器在運算環境中的資源上執行任務為止。若要建立任務佇列：

若要為 Fargate 協同運作建立任務佇列，請執行下列動作：

1. 在**名稱****的任務佇列組態**區段中，指定運算環境的唯一名稱。名稱長度最多可達 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (\$1)。

1. 針對**優先順序**，輸入任務佇列的 900。

1. 對於所有其他組態選項，您可以保留預設值。

1. 選擇**下一步**。

## 步驟 3：建立任務定義
<a name="create-job-definition-2"></a>

若要建立任務定義：

1. 在**一般組態**區段中：

   1. 在**名稱****的一般組態**區段中，指定運算環境的唯一名稱。名稱長度最多可達 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (\$1)。

1. 在 **Fargate 平台組態**區段中：

   1. 開啟**指派公有 IP** 以指派公有 IP 地址。您需要公有 IP 才能下載容器映像，除非您已設定私有映像儲存庫。

   1. 針對**執行角色**，選擇可讓 Amazon Elastic Container Service (Amazon ECS) 代理程式代您 AWS 呼叫的任務執行角色。選擇 **ecsTaskExecutionRole** 或 **BatchEcsTaskExecutionRole**。

      若要建立**執行角色**，請選擇**建立執行角色**。在**建立 IAM 角色**模態中，選擇**建立 IAM 角色**。

      1. IAM 主控台已設定用於建立執行角色的許可設定。

      1. 對於**信任的實體類型**，請確認已選取**AWS 服務**。

      1. 針對**服務或使用者案例**，確認已選取 **Elastic Container Service**。

      1. 選擇**下一步**。

      1. 針對**許可政策**，確認已選取 **AmazonECSTaskExecutionRolePolicy**。

      1. 選擇**下一步**。

      1. 針對**名稱，檢閱並建立** ，確認角色名稱為 **BatchEcsTaskExecutionRole**。

      1. 選擇建**立角色**。

      1. 在 AWS Batch 主控台中，選擇**執行角色**旁的重新整理按鈕。選擇 **BatchEcsTaskExecutionRole** 執行角色。

1. 在**容器組態**區段中：

   1. 對於 **命令**，您可以`hello world`變更為自訂訊息或保持原狀。

1. 對於所有其他組態選項，您可以保留預設值。

1. 選擇**下一步**。

## 步驟 4：建立任務
<a name="create-job-2"></a>

若要建立 Fargate 任務，請執行下列動作：

1. 在**名稱****的任務組態**區段中，指定任務的唯一名稱。名稱長度最多可達 128 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (\$1)。

1. 對於所有其他組態選項，您可以保留預設值。

1. 選擇**下一步**。

## 步驟 4：檢閱和建立
<a name="review-create-2"></a>

在**檢閱和建立**頁面上，檢閱組態步驟。如需變更，請選擇 **Edit** (編輯)。完成後，請選擇**建立資源**。

## 步驟 6：檢視任務的輸出
<a name="view-job-fargate"></a>

若要檢視任務的輸出，請執行下列動作：

1. 在導覽窗格中，選擇**任務**。

1. 在**任務佇列**下拉式清單中，選擇您為教學課程建立的任務佇列。

1. **任務**表格列出所有任務及其目前狀態。一旦任務**狀態****成功**，請選擇任務**名稱**以檢視任務的詳細資訊。

1. 在**詳細資訊**窗格中，選擇**日誌串流名稱**。任務的 CloudWatch 主控台將開啟，並且應該有一個事件具有 ****的訊息`hello world`或您的自訂訊息。

## 步驟 7：清除您的教學課程資源
<a name="delete-fargate"></a>

您需支付啟用 Amazon EC2 執行個體的費用。您可以刪除執行個體以停止產生費用。

若要刪除您建立的資源，請執行下列動作：

1. 在導覽窗格中，選擇**任務佇列**。

1. 在**任務佇列**表格中，選擇您為教學課程建立的任務佇列。

1. 選擇**停用**。任務佇列**狀態**停用後，您可以選擇**刪除**。

1. 刪除任務佇列後，在導覽窗格中選擇**運算環境**。

1. 選擇您為此教學課程建立的運算環境，然後選擇**停用**。運算環境可能需要 1-2 分鐘才能完成停用。

1. 一旦運算環境**的狀態**停用，請選擇**刪除**。可能需要 1-2 個小節才能刪除運算環境。

## 其他資源
<a name="fargate-additional-resources"></a>

完成教學課程後，您可能想要探索下列主題：
+ 進一步了解 [最佳實務](best-practices.md#best-practices.title)。
+ 探索 AWS Batch 核心元件。如需詳細資訊，請參閱[的元件 AWS Batch](batch_components.md)。
+ 進一步了解 中可用的不同[運算環境](compute_environments.md#compute_environments.title) AWS Batch。
+ 進一步了解[任務佇列](job_queues.md#job_queues.title)及其不同的排程選項。
+ 進一步了解[任務定義](job_definitions.md#job_definitions.title)和不同的組態選項。
+ 進一步了解不同類型的[任務](jobs.md#jobs.title)。