

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

# 教學課程：建立您的第一個 Auto Scaling 群組
<a name="create-your-first-auto-scaling-group"></a>

本教學課程透過 提供 Amazon EC2 Auto Scaling 的實作簡介 AWS 管理主控台。您將建立啟動範本來定義 EC2 執行個體，以及具有單一執行個體的 Auto Scaling 群組。啟動 Auto Scaling 群組後，您將終止執行個體，並確認執行個體已從服務中移除並取代。為了維持固定的執行個體數目，Amazon EC2 Auto Scaling 會自動偵測並回應 Amazon EC2 的運作狀態和連線能力檢查。

註冊時 AWS，您可以使用 [AWS 免費方案](https://aws.amazon.com/free/)免費開始使用 Amazon EC2 Auto Scaling。您可以使用免費方案來啟動並免費使用 `t2.micro` 執行個體 12 個月 (在無法使用 `t2.micro` 的區域中，您可以根據免費方案使用 `t3.micro` 執行個體)。如果您啟動的執行個體不包含在免費方案內，您將需要為執行個體支付標準 Amazon EC2 使用費。如需詳細資訊，請參閱 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/)。

**Topics**
+ [準備演練](#gs-preparing-for-walkthrough)
+ [步驟 1：建立啟動範本](#gs-create-lt)
+ [步驟 2：建立單一執行個體 Auto Scaling 群組](#gs-create-asg)
+ [步驟 3：驗證 Auto Scaling 群組](#gs-verify-asg)
+ [步驟 4：終止 Auto Scaling 群組中的執行個體](#gs-asg-terminate-instance)
+ [步驟 5：後續步驟](#gs-tutorial-next-steps)
+ [步驟 6：清除](#gs-delete-asg)

## 準備演練
<a name="gs-preparing-for-walkthrough"></a>

本演練假設您已熟悉如何啟動 EC2 執行個體，且您也已建立金鑰對和安全群組。

若要開始使用 Amazon EC2 Auto Scaling，您可以使用 *的預設* VPC AWS 帳戶。預設 VPC 在所有可用區域中均包含預設公有子網路，以及連接至您 VPC 的網際網路閘道。您可以在 Amazon Virtual Private Cloud (Amazon VPC) 主控台中[您的 VPC 頁面](https://console.aws.amazon.com/vpc/home?/#vpcs)上檢視您的 VPC。

## 步驟 1：建立啟動範本
<a name="gs-create-lt"></a>

在此步驟中，您會建立啟動範本，指定 Amazon EC2 Auto Scaling 為您建立的 EC2 執行個體類型。 Amazon EC2 其中的資訊包含：Amazon Machine Image (AMI) 使用的 ID、執行個體類型、金鑰對以及安全群組。

**建立啟動範本**

1. 開啟 Amazon EC2 主控台並前往[啟動範本頁面](https://console.aws.amazon.com/ec2/v2/#LaunchTemplates)。

1. 在頂部導覽列中選取 AWS 區域。您建立的啟動範本與 Auto Scaling 群組會繫結至您指定的區域。

1. 選擇 **Create launch template** (建立啟動範本)。

1. 針對 **Launch template name** (啟動範本名稱)，請輸入 **my-template-for-auto-scaling**。

1. 在 **Auto Scaling guidance** (Auto Scaling 指引) 下，選取核取方塊。

1. 對於 **Application and OS Images (Amazon Machine Image)** (應用程式和作業系統映像 (Amazon Machine Image))，請從 **Quick Start** (快速入門) 清單中選擇 Amazon Linux 2 (HVM) 的版本。AMI 可作為執行個體的基本組態範本。

1. 在 **Instance type (執行個體類型)** 部分，選擇可與您指定的 AMI 相容之硬體組態。

1. (選用) 針對 **Key pair name** (金鑰對名稱)，選擇現有的金鑰對。使用金鑰對來以 SSH 連線至 Amazon EC2 執行個體。連接到執行個體未包含在本教學課程中。因此，除非您想要使用 SSH 連線到執行個體，否則不必指定金鑰對。

1. 針對 **Network settings** (網路設定)，展開 **Advanced network configuration** (進階網路組態)，並執行下列動作：

   1. 選擇 **Add network interface** (新增網路介面) 以設定主要網路介面。

   1. 針對**自動指派公有 IP**，指定執行個體是否收到公有 IPv4 地址。根據預設，如果 EC2 Amazon EC22 會指派公有 IPv4 地址。 IPv4 如果您不需要連線到執行個體，請選擇**停用**。

   1. 針對**安全群組 ID**，選擇您計劃用作 Auto Scaling 群組之 VPC 的相同 VPC 中的安全群組。若您未指定安全群組，則執行個體會自動與 VPC 的預設安全群組相關聯。

   1. 針對**終止時刪除**，選擇**是**以在刪除執行個體時刪除網路界面。

1. 選擇 **Create launch template** (建立啟動範本)。

1. 在確認頁面上，選擇 **Create Auto Scaling group** (建立 Auto Scaling 群組)。

## 步驟 2：建立單一執行個體 Auto Scaling 群組
<a name="gs-create-asg"></a>

使用下列程序在建立啟動範本後，從您離開的地方繼續。

**建立 Auto Scaling 群組**

1. 在 **Choose launch template or configuration** (選擇啟動範本或組態) 頁面上，在 **Auto Scaling group name** (Auto Scaling 群組名稱) 中輸入 **my-first-asg**。

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

   選擇**執行個體啟動選項**頁面隨即出現，可讓您選擇您希望 Auto Scaling 群組使用的 VPC 網路設定，並提供啟動隨需執行個體和 Spot 執行個體的選項。

1. 在**網路**區段中，將 **VPC** 設定為您選擇的預設 VPC AWS 區域，或選取您自己的 VPC。預設 VPC 會自動設定為為您的執行個體提供網際網路連線。此 VPC 包含在區域中每個可用區域的公有子網路。

1. 在 **Availability Zones and subnets** (可用區域和子網路) 中，請從要包含的每個可用區域內選擇子網路。在多個可用區域中，請使用子網路，以獲得高可用性。如需詳細資訊，請參閱[選擇 VPC 子網路時的注意事項](asg-in-vpc.md#as-vpc-considerations)。

1. 在 **Instance type requirements** (執行個體類型需求) 區段中，請使用預設設定來簡化此步驟。(請勿覆寫啟動範本。) 在本教程中，您將僅用啟動範本中指定的執行個體類型僅啟動一個隨需執行個體。

1. 保留本教學課程的其他預設值，然後選擇 **Skip to review (跳過以進行檢閱)**。
**注意**  
群組的初始大小取決於所需的容量。預設值為 `1` 個執行個體。

1. 在 **Review** (檢閱) 頁面中，檢閱群組的資訊，然後選擇 **Create Auto Scaling group** (建立 Auto Scaling 群組)。

## 步驟 3：驗證 Auto Scaling 群組
<a name="gs-verify-asg"></a>

建立 Auto Scaling 群組後，您就可以驗證該群組是否已經啟動 EC2 執行個體。

**提示**  
在下列程序中，您可以查看 Auto Scaling 群組的 **Activity history** (活動歷史記錄) 和 **Instances** (執行個體) 部分。在這兩個部分中，已顯示了指定的資料欄。要顯示隱藏的資料欄列或變更顯示的資料列，請選擇每個部分右上角的齒輪圖示以開啟偏好設定模式，視需要更新設定，然後選擇 **Confirm** (確認)。

**驗證 Auto Scaling 群組已啟動 EC2 執行個體**

1. 開啟 Amazon EC2 主控台的 [Auto Scaling 群組頁面](https://console.aws.amazon.com/ec2/v2/home?#AutoScalingGroups)。

1. 選取您剛建立的 Auto Scaling 群組旁的核取方塊。

   **Auto Scaling groups** (Auto Scaling 群組) 頁面底部會開啟一個分割窗格。第一個可用的索引標籤是 **Details** (詳細資訊) 索引標籤，其上會顯示 Auto Scaling 群組的資訊。

1. 選擇第二個索引標籤，**Activity** (活動)。在 **Activity history** (活動歷史記錄) 中，您可以檢視與 Auto Scaling 群組相關聯的活動進度。**Status (狀態)** 欄顯示執行個體的目前狀態。在執行個體啟動的同時，狀態欄顯示 `Not yet in service`。在執行個體啟動後，狀態會變更成 `Successful`。您也可以使用重新整理按鈕，查看執行個體的目前狀態。

1. 在 **Instance management** (執行個體管理) 索引標籤的 **Instances** (執行個體) 下方，您可以檢視執行個體的狀態。

1. 確認您已成功啟動執行個體。啟動執行個體無須費時。
   + **Lifecycle (生命週期)** 欄顯示執行個體的狀態。初始時，您的執行個體為 `Pending` 狀態。在執行個體準備好接受流量之後，它的狀態會變成 `InService`。
   + **運作狀態**欄會顯示執行個體上 Amazon EC2 Auto Scaling 運作狀態檢查的結果。

## 步驟 4：終止 Auto Scaling 群組中的執行個體
<a name="gs-asg-terminate-instance"></a>

您可以使用這些步驟來進一步了解 Amazon EC2 Auto Scaling 如何運作，尤其是在必要時如何啟動新的執行個體。您在本教學課程中建立的 Auto Scaling 群組規模下限為一個執行個體。因此，若您終止執行中的執行個體，則 Amazon EC2 Auto Scaling 必須啟動新的執行個體以將其取代。

1. 開啟 Amazon EC2 主控台的 [Auto Scaling 群組頁面](https://console.aws.amazon.com/ec2/v2/home?#AutoScalingGroups)。

1. 選取 Auto Scaling 群組旁的核取方塊。

1. 在 **Instance management** (執行個體管理) 索引標籤的 **Instances** (執行個體) 下方，選取執行個體的 ID。

   這會將您引導至 Amazon EC2 主控台的 **Instances** (執行個體) 頁面，您可以在該頁面終止執行個體。

1. 依序選擇 **Actions** (動作)、**Instance State** (執行個體狀態) 和 **Terminate** (終止)。出現確認提示時，請選擇 **Yes, Terminate** (是，終止)。

1. 在導覽窗格的 **Auto Scaling** 下，選擇 **Auto Scaling Groups (Auto Scaling 群組)**。選取您的 Auto Scaling 群組，然後選擇 **Activity** (活動) 索引標籤。

   當您從執行個體****頁面終止執行個體時，在終止執行個體之後，需要一到兩分鐘才能啟動新的執行個體。在活動歷史記錄中，當擴展活動開始時，您會看到第一個執行個體終止項目與新的執行個體啟動項目。使用重新整理按鈕，直到您看到新的項目為止。

1. 在 **Instance management** (執行個體管理) 索引標籤上，**Instances** (執行個體) 區段僅會顯示新的執行個體。

1. 在導覽窗格的 **Instances** (執行個體) 下方，選擇 **Instances** (執行個體)。此頁面會同時顯示終止的執行個體與執行中的新執行個體。

## 步驟 5：後續步驟
<a name="gs-tutorial-next-steps"></a>

如果您想要刪除剛建立的基本基礎設施，請前往下一個步驟。否則，您可以使用此基礎設施做為基礎，嘗試一或多個下列選項：
+ 使用 Session Manager 或 SSH 連線到您的 Linux 執行個體。如需詳細資訊，請參閱《Amazon [ EC2 使用者指南》中的使用 Session Manager 連線至 EC2 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-with-systems-manager-session-manager.html)和[使用 SSH 連線至 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)。 *Amazon EC2 *
+ 設定 Amazon SNS 通知，以在 Auto Scaling 群組啟動或終止執行個體時通知您。如需詳細資訊，請參閱[Amazon SNS 通知選項](ec2-auto-scaling-sns-notifications.md)。
+ 手動擴展 Auto Scaling 群組以測試 SNS 通知。如需詳細資訊，請參閱[更改您的 Auto Scaling 群組的所需容量](ec2-auto-scaling-scaling-manually.md#change-desired-capacity)。

您也可以閱讀 [目標追蹤擴展政策](as-scaling-target-tracking.md)，開始自行熟悉自動擴展概念。如果應用程式的負載發生變化，Auto Scaling 群組可以在最小和最大容量限制之間調整所需的群組容量，從而自動擴充 (新增執行個體) 和縮減 (執行較少執行個體)。如需有關設定這些限制的詳細資訊，請參閱 [設定 Auto Scaling 群組的擴展限制](asg-capacity-limits.md)。

## 步驟 6：清除
<a name="gs-delete-asg"></a>

您可以刪除擴展基礎設施，或僅刪除 Auto Scaling 群組，並保留啟動範本以供稍後使用。

若您啟動的執行個體不在 [AWS 免費方案](https://aws.amazon.com/free/)內，您需要終止該執行個體以免產生額外費用。當您終止執行個體時，與其相關聯的資料也會一併刪除。

**若要刪除 Auto Scaling 群組**

1. 開啟 Amazon EC2 主控台的 [Auto Scaling 群組頁面](https://console.aws.amazon.com/ec2/v2/home?#AutoScalingGroups)。

1. 選取 Auto Scaling 群組 (`my-first-asg`) 旁的核取方塊。

1. 選擇 **刪除**。

1. 出現確認提示時，請輸入 **delete** 來確認刪除特定的 Auto Scaling 群組，然後選擇 **Delete** (刪除)。

   **Name** (名稱) 欄位中的載入圖示會顯示正在刪除 Auto Scaling 群組。刪除過程中，**Desired** (所需)、**Min** (最小) 和 **Max** (最大) 欄位會顯示 Auto Scaling 群組的 `0` 個執行個體。終止執行個體並刪除群組需要幾分鐘的時間。重新整理清單，以查看目前狀態。

若想保留您的啟動範本，請跳過以下程序。

**刪除您的啟動範本**

1. 開啟 Amazon EC2 主控台中的[啟動範本頁面](https://console.aws.amazon.com/ec2/v2/#LaunchTemplates)。

1. 選取您的啟動範本 (`my-template-for-auto-scaling`)。

1. 選擇 **Actions** (動作)、**Delete template** (刪除範本)。

1. 出現確認提示時，請輸入 **Delete** 確認刪除指定的啟動範本，然後選擇 **Delete** (刪除)。