建立啟動組態 - Amazon EC2 Auto Scaling

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

建立啟動組態

重要

您無法呼叫在 2022 年 12 月 31 日之後發行的新 Amazon EC2 執行個體類型的 CreateLaunchConfiguration。此外,任何在 2023 年 6 月 1 日或之後建立的新帳戶都無法選擇透過主控台建立新的啟動組態。future,新帳戶將無法使用主控台、API、CLI 和建立新的啟動設定 CloudFormation。移轉至啟動範本,以確保您現在或 future 不需要建立新的啟動設定。如需將 Auto Scaling 群組遷移至啟動範本的資訊,請參閱 移轉「自 Auto Scaling」群組以啟動範本

本主題說明如何建立啟動組態。

建立啟動組態之後,就無法修改它。相反地,您必須建立新的啟動設定。

若要將新的啟動組態與現有的「Auto Scaling」群組相關聯,請參閱變更 Auto Scaling 群組的啟動組態。若要建立新的「Auto Scaling」群組,請參閱使用啟動組態建立 Auto Scaling 群組

建立啟動組態

建立啟動組態 (主控台)
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在頂部導航欄上,選擇您的 AWS 地區。

  3. 在左側導覽窗格的自動擴展下,選擇 Auto Scaling 群組

  4. 在頁面頂端附近選擇啟動組態。出現確認提示時,請選擇檢視啟動組態,以確認您要檢視啟動組態頁面。

  5. 選擇 Create launch configuration (建立啟動組態),然後輸入啟動組態的名稱。

  6. 針對 Amazon Machine Image (AMI) ,請選擇 AMI。若要尋找特定 AMI,您可以尋找合適的 AMI,記下其 ID,然後輸入 ID 作為搜尋條件。

    若要獲取 Amazon Linux 2 AMI 的 ID:

    1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

    2. 在左側導覽窗格的執行個體下,選擇執行個體,然後選擇啟動執行個體

    3. Quick Start 索引標籤中的 Choose an Amazon Machine Image (選擇 Amazon Machine Image) 頁面上,請注意 Amazon Linux 2 AMI (HVM) 旁的 AMI ID。

  7. 針對 Instance type (執行個體類型),為執行個體選取硬體組態。

  8. Additional configuration (其他組態) 下,請注意下列欄位:

    1. (選用) 針對 Purchasing option (購買選項),您可以選擇 Request Spot Instances (請求 Spot 執行個體),便能以 Spot 價格 (上限為隨需價格) 請求 Spot 執行個體。您也可以為 Spot 執行個體指定每執行個體小時的最高價格。

      注意

      Spot 執行個體較隨需執行個體更符合成本效益,只要您可以接受應用程式的執行時間可變動且可中斷。如需詳細資訊,請參閱 為具備容錯能力和靈活性的應用程式請求 Spot 執行個體

    2. (選用) 針對 IAM instance profile (執行個體描述檔),請選擇與執行個體相關聯的角色。如需詳細資訊,請參閱 在 Amazon EC2 執行個體上執行的應用程式的 IAM 角色

    3. (選擇性) 對於監控,請選擇是否啟用詳細監控,讓執行個體以 1 分鐘的間隔向 Amazon CloudWatch 發佈指標資料。需支付額外費用。如需詳細資訊,請參閱 設定 Auto Scaling 執行個體的監控

    4. (選用) 針對 Advanced details (進階詳細資訊)、User data (使用者資料),您可以指定使用者資料,以便在啟動期間設定執行個體,或在執行個體啟動後執行組態指令碼。

    5. (選用) 針對 Advanced details (進階詳細資訊)、IP address type (IP 地址類型),請選擇是否要指派 public IP address (公有 IP 地址) 至群組的執行個體。若未設定數值,則會依預設使用啟動執行個體的子網路的自動指派公有 IP 設定。

  9. (選用) 針對 Storage (volumes) (儲存 (磁碟區)),若不需要額外的儲存空間,則可略過此部分。否則,除了 AMI 所指定的磁碟區,若還要指定連接至執行個體的磁碟區,請選擇 Add new volume (新增磁碟區)。然後為 Devices (裝置)、Snapshot (快照)、Size (規模)、Volume type (磁碟區類型)、IOPSThroughput (輸送量)、Delete on termination (終止時刪除) 以及 Encrypted (加密) 選擇所需的選項和相關數值。

  10. 針對 Security groups (安全群組),請建立或選取要與群組執行個體相關聯的安全群組。如果選擇 Create a new security group (建立新的安全群組) 選項,則會為 Amazon EC2 Linux 執行個體設定預設 SSH 規則。為 Amazon EC2 Windows 執行個體設定預設 RDP 規則。

  11. 針對 Key pair (login) (金鑰對 (登入)),請選擇 Key pair options (金鑰對選項) 下的某個選項。

    若您已經設定 Amazon EC2 執行個體金鑰對,則可以在這裡選擇它。

    如果您還沒有 Amazon EC2 執行個體金鑰對,則請選擇 Create a new key pair (建立新的金鑰對),然後給予可輕鬆辨識的名稱。選擇 Download Key Pair (下載金鑰對),將金鑰對下載至電腦。

    重要

    如果您需要連線到執行個體,請勿選取 Proceed without a key pair (沒有金鑰對仍繼續作業)。

  12. 選取確認核取方塊,然後選擇 Create launch configuration (建立啟動組態)。

若要從現有的啟動設定 (主控台) 建立啟動組態
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在頂部導航欄上,選擇您的 AWS 地區。

  3. 在左側導覽窗格的自動擴展下,選擇 Auto Scaling 群組

  4. 在頁面頂端附近選擇啟動組態。出現確認提示時,請選擇檢視啟動組態,以確認您要檢視啟動組態頁面。

  5. 選取啟動組態,然後選擇 Actions (動作)Copy launch configuration (複製啟動範本)。此會以和原始相同的選項來設定新的啟動組態,但會在名稱中加入「Copy」。

  6. Copy Launch Configuration (複製啟動組態) 頁面,視需要編輯組態選項,然後選擇 Create launch configuration (建立啟動組態)。

使用命令列建立啟動組態

您可以使用下列其中一項命令:

設定執行個體中繼資料選項

Amazon EC2 Auto Scaling 支援在啟動組態中設定執行個體中繼資料服務 (IMDS)。此功能可讓您選擇使用啟動組態來設定 Auto Scaling 群組中的 Amazon EC2 執行個體,以便請求執行個體中繼資料服務第 2 版 (IMDSv2),這是請求執行個體中繼資料的工作階段導向方法。如需 IMDSv2 優勢的詳細資訊,請參閱 AWS 部落格中關於提升 EC2 執行個體中繼資料服務防禦深度的增強功能的文章。

您可以將 IMDS 設定為支援 IMDSv2 和 IMDSv1 (預設),或請求使用 IMDSv2。如果您使用 AWS CLI 或其中一個開發套件來設定 IMDS,則必須使用最新版本的 AWS CLI 或 SDK 來要求使用 IMDSv2。

您可以設定下列啟動組態項目:

  • 要求執行個體中繼資料時需要 IMDSv2

  • 指定 PUT 回應跳轉限制

  • 關閉對執行個體中繼資料的存取

您可以在以下主題中找到有關設定執行個體中繼資料服務的更多詳細資訊:在 Amazon EC2 使用者指南設定執行個體中繼資料服務

使用下列程序在啟動組態中設定 IMDS 選項。在建立啟動組態後,您可以將其與您的 Auto Scaling 群組建立關聯。若將新的啟動組態與現有 Auto Scaling 群組建立關聯,則現有啟動組態會與 Auto Scaling 群組取消關聯,而且需要取代現有執行個體,才能使用您在新啟動組態中指定的 IMDS 選項。如需詳細資訊,請參閱 變更 Auto Scaling 群組的啟動組態

在啟動組態中設定 IMDS (主控台)
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在頂部導航欄上,選擇您的 AWS 地區。

  3. 在左側導覽窗格的自動擴展下,選擇 Auto Scaling 群組

  4. 在頁面頂端附近選擇啟動組態。出現確認提示時,請選擇檢視啟動組態,以確認您要檢視啟動組態頁面。

  5. 請選擇 Create launch configuration (建立啟動組態),再以一般方式建立啟動組態。在其中加入 Amazon Machine Image (AMI) 的 ID、執行個體類型、可選用的金鑰對、一或多個安全群組,以及任何適用於您執行個體的額外 EBS 磁碟區或執行個體存放區。

  6. 若要為與此啟動組態相關聯的所有執行個體設定執行個體中繼資料選項,請在 Additional configuration (其他組態) 中的 Advanced details (進階詳細資訊) 下執行下列操作:

    1. 針對 Metadata accessible (中繼資料可存取),請選擇啟用或停用對執行個體中繼資料服務的 HTTP 端點的存取。根據預設,HTTP 端點為啟用狀態。若您選擇停用端點,則會關閉對執行個體中繼資料的存取。您可以指定條件,僅在啟用 HTTP 端點時才需要 IMDSv2。

    2. 針對 Metadata version (中繼資料版本),您可以選擇在請求執行個體中繼資料時請求使用執行個體中繼資料服務第 2 版 (IMDSv2)。若不指定數值,則預設會同時支援 IMDSv1 和 IMDSv2。

    3. 針對 Metadata token response hop limit (中繼資料字符回應跳轉限制),您可以為中繼資料字符設定允許的網路躍點數目。若未指定數值,則預設值為 1。

  7. 完成這些設定後,請選擇 Create launch configuration (建立啟動組態)。

利用 AWS CLI請求在啟動組態中使用 IMDSv2

使用 --metadata-options 設定為 HttpTokens=required 的下列 create-launch-configuration 命令。在為 HttpTokens 指定數值時,您也必須將 HttpEndpoint 設定為啟用。由於中繼資料擷取要求設定為需要安全字符標頭,因此在請求執行個體中繼資料時,即會在執行個體中請求使用 IMDSv2。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-with-imdsv2 \ --image-id ami-01e24be29428c15b2 \ --instance-type t2.micro \ ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required"
關閉對執行個體中繼資料的存取

使用下列 create-launch-configuration (建立啟動組態) 命令來關閉對執行個體中繼資料的存取。您稍後可以使用 modify-instance-metadata-options 命令來重新開啟存取。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-with-imds-disabled \ --image-id ami-01e24be29428c15b2 \ --instance-type t2.micro \ ... --metadata-options "HttpEndpoint=disabled"

使用 EC2 執行個體建立啟動組態

您也可以選擇使用執行中 EC2 執行個體的屬性建立啟動組態。

從頭建立啟動組態和從現有的 EC2 執行個體建立啟動組態是有差別的。當您從頭建立啟動組態,您會指定映像 ID、執行個體類型、選用的資源 (例如儲存裝置),以及選用的設定 (像是監控)。在從執行中的執行個體建立啟動組態時,Amazon EC2 Auto Scaling 會從指定的執行個體獲得啟動組態的屬性。屬性也會衍生自從中啟動執行個體的 AMI 區塊型設備映射,而忽略在啟動後新增的任何其他額外區塊型儲存設備。

在使用執行中的執行個體建立啟動組態時,您可以藉由指定它們為相同請求的一部分覆寫下列屬性:AMI、區塊型儲存設備、金鑰對、執行個體描述檔、執行個體類型、核心、執行個體監控、安置租用、Ramdisk、安全群組、Spot (最高) 價格、使用者資料、執行個體是否具備公有 IP 地址,以及執行個體是否為 EBS 最佳化。

注意

若指定的執行個體具備目前不受啟動組態支援的屬性,則 Auto Scaling 群組所啟動的執行個體可能不同於原始 EC2 執行個體。

重要

用於啟動指定的執行個體的 AMI 必須仍然存在。

從 EC2 執行個體建立啟動組態 (AWS CLI)

使用下列 create-launch-configuration 命令,利用與該執行個體相同的屬性從執行個體建立啟動組態。任何在啟動後新增的區塊型儲存設備都會被忽略。

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance --instance-id i-a8e09d9c

您可以使用下列 describe-launch-configurations 命令來描述啟動組態,並確認其屬性與執行個體的屬性相符:

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance

以下是回應範例。

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-05355a6c", "CreatedTime": "2014-12-29T16:14:50.382Z", "BlockDeviceMappings": [], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8422d1eb" ], "LaunchConfigurationName": "my-lc-from-instance", "KernelId": "null", "RamdiskId": null, "InstanceType": "t1.micro", "AssociatePublicIpAddress": true } ] }

從執行個體建立啟動組態,並覆寫區塊型儲存設備 (AWS CLI)

在預設情況下,Amazon EC2 Auto Scaling 會使用您指定的 EC2 執行個體的屬性來建立啟動組態。不過,區塊型儲存設備來自用於啟動執行個體的 AMI,而非執行個體。若要新增區塊型儲存設備到啟動組態,請覆寫啟動組態的區塊型設備映射。

使用下列 create-launch-configuration 命令來利用 EC2 執行個體建立啟動組態,但搭配自訂區塊型設備映射。

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance-bdm --instance-id i-a8e09d9c \ --block-device-mappings "[{\"DeviceName\":\"/dev/sda1\",\"Ebs\":{\"SnapshotId\":\"snap-3decf207\"}},{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-eed6ac86\"}}]"

使用下列 describe-launch-configurations 命令來描述啟動組態,並確認其使用您的自訂區塊型設備映射。

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance-bdm

下列範例回應描述啟動組態。

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-c49c0dac", "CreatedTime": "2015-01-07T14:51:26.065Z", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "SnapshotId": "snap-3decf207" } }, { "DeviceName": "/dev/sdf", "Ebs": { "SnapshotId": "snap-eed6ac86" } } ], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8637d3e3" ], "LaunchConfigurationName": "my-lc-from-instance-bdm", "KernelId": null, "RamdiskId": null, "InstanceType": "t1.micro", "AssociatePublicIpAddress": true } ] }

建立啟動組態並覆寫執行個體類型 (AWS CLI)

在預設情況下,Amazon EC2 Auto Scaling 會使用您指定的 EC2 執行個體的屬性來建立啟動組態。根據您的要求,您可能想要覆寫執行個體的屬性,並使用您需要的值。例如,您可以覆寫執行個體類型。

使用下列 create-launch-configuration 命令來利用 EC2 執行個體建立啟動組態,但執行個體類型 (例如:t2.medium) 與該執行個體不同 (例如:t2.micro)。

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-from-instance-changetype \ --instance-id i-a8e09d9c --instance-type t2.medium

使用下列 describe-launch-configurations 命令來描述啟動組態,並確認已覆寫執行個體類型:

aws autoscaling describe-launch-configurations --launch-configuration-names my-lc-from-instance-changetype

下列範例回應描述啟動組態。

{ "LaunchConfigurations": [ { "UserData": null, "EbsOptimized": false, "LaunchConfigurationARN": "arn", "InstanceMonitoring": { "Enabled": false }, "ImageId": "ami-05355a6c", "CreatedTime": "2014-12-29T16:14:50.382Z", "BlockDeviceMappings": [], "KeyName": "my-key-pair", "SecurityGroups": [ "sg-8422d1eb" ], "LaunchConfigurationName": "my-lc-from-instance-changetype", "KernelId": "null", "RamdiskId": null, "InstanceType": "t2.medium", "AssociatePublicIpAddress": true } ] }