

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

# 直接更新堆疊
<a name="using-cfn-updating-stacks-direct"></a>

想要快速部署以更新堆疊時，請您執行直接更新。使用直接更新，您將提交或輸入更新堆疊中資源的範本或參數，CloudFormation 並會立即部署這些更新。如果您想要使用範本進行更新，可以修改目前的範本，並將其存放在本機或 Amazon S3 儲存貯體。

如果是不支援更新的資源屬性，您必須保留目前的值。若要在進行更新堆疊之前，預覽 CloudFormation 將對堆疊進行的變更，請使用變更集。如需詳細資訊，請參閱[透過變更集更新 CloudFormation 堆疊](using-cfn-updating-stacks-changesets.md)。

當更新堆疊時，CloudFormation 可能會中斷資源或取代更新的資源，取決於您更新的屬性。如需資源更新行為的詳細資訊，請參閱 [了解更新堆疊資源的行為](using-cfn-updating-stacks-update-behaviors.md)。

**更新 堆疊 (主控台)**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 開啟 CloudFormation 主控台。

1. 在畫面上方的導覽列上，選擇 AWS 區域。

1. 在**堆疊**頁面上，選取您要更新的執行中堆疊。

1. 在 stack details (堆疊詳細資訊) 窗格中，選擇 **Update (更新)**。

1. 如*尚未*修改堆疊範本，請選擇**使用現有的範本**，然後選擇**下一步**。

   如已修改範本，請選取**取代現有的範本**，然後在**指定範本**區段中指定更新的範本位置：
   + 如果是存放在本機電腦上的範本，請選取 **Upload a template file (上傳範本檔案)**。選擇 **Choose File (選擇檔案)** 導覽至該檔案並選取它，然後選擇** Next (下一步)**。
**注意**  
如果您上傳本機範本檔案，CloudFormation 會將其上傳至 中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體 AWS 帳戶。如果您尚未擁有 CloudFormation 建立的 S3 儲存貯體，&CFN; 會針對您已上傳範本檔案至其中的每個區域建立唯一儲存貯體。如果您的 AWS 帳戶中已經擁有 CloudFormation 建立的 S3 儲存貯體，CloudFormation 會將範本新增到該儲存貯體。  
針對 CloudFormation 所建立的 S3 儲存貯體，需謹記的事項  
 AWS 帳戶中擁有 Amazon S3 許可的任何人皆可存取這些儲存貯體。
CloudFormation 建立儲存貯體時，伺服器端加密預設為啟用，藉此加密所有儲存貯體中存放的物件。  
您可以直接管理 CloudFormation 已建立的儲存貯體之加密選項；例如，使用位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台或使用 AWS CLI。如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》中的[設定 Amazon S3 儲存貯體的預設伺服器端加密行為](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)。**
您可以使用自己的儲存貯體，並手動上傳範本至 Amazon S3 以管理其許可。當您建立或更新堆疊時，請指定範本檔的 Amazon S3 URL。
   + 如需存放在 Amazon S3 儲存貯體的範本，請選擇 **Amazon S3 URL**。輸入或貼上該範本的 URL，然後選擇 **Next (下一步)**。

     如果您擁有已啟用版本控制的儲存貯體中的範本，則可以指定範本的特定版本，方法是將 `?versionId={{version-id}}` 附加到 URL。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[使用已啟用版本控制之儲存貯體中的物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-objects-versioned-bucket.html)。

   若偵測到任何語法問題，主控台會提供錯誤訊息，以協助您更正範本。

1. 如果您的範本包含參數，請在 **Specify stack details (指定堆疊詳細資訊)** 頁面上輸入或修改參數值，然後選擇 **Next (下一步)**。

   CloudFormation 會將堆疊中目前設定的值填入各個參數，但不包括以 `NoEcho` 屬性宣告的參數；不過，您仍可勾選 **Use existing value (使用現有的值)** 繼續使用目前的值。

   如需使用 `NoEcho` 遮罩敏感資訊，以及使用動態參數管理密碼的詳細資訊，請參閱 [請勿在您的範本中內嵌憑證](security-best-practices.md#creds) 最佳實務。

1. 在 **Configure stack options** (設定堆疊選項) 頁面上，您可以更新套用到堆疊的標籤和許可，以及修改進階選項，例如堆疊政策、復原組態，或更新 Amazon SNS 通知主題。如需關於這些選項的詳細資訊，請參閱 [設定堆疊選項](cfn-console-create-stack.md#configure-stack-options)。

1. 如果範本包含 IAM 資源，在**功能**中選擇**我知道此範本可建立 IAM 資源**，以指定您要使用此範本中的 IAM 資源。如需詳細資訊，請參閱[認可 CloudFormation 範本中的 IAM 資源](control-access-with-iam.md#using-iam-capabilities)。

1. 選擇 **Next** (下一步) 繼續。

1. 檢閱堆疊資訊和您提交的變更。

   檢查是否提交了正確的資訊，例如正確的參數值或範本 URL。

   在**變更集預覽**區段中，檢查 CloudFormation 是否會進行您預期的所有變更。例如，您可以檢查 CloudFormation 是否會新增、移除及修改您要新增、移除或修改的資源。CloudFormation 透過建立針對堆疊設定的變更，產生此預覽。如需詳細資訊，請參閱[透過變更集更新 CloudFormation 堆疊](using-cfn-updating-stacks-changesets.md)。

1. 當您完成變更後，請選擇 **Update stack** (更新堆疊)。
**注意**  
此時，您也可以選擇檢視變更集，更仔細地檢閱您提出的更新。若要執行此操作，請選擇 **View change set** (檢視變更集) 而不是 **Update stack** (更新堆疊)。CloudFormation 會顯示根據更新所產生的變更集。當您準備好執行堆疊更新時，請選擇 **Execute (執行)**。

   在選取 **Events (事件)** 窗格的情況下，CloudFormation 會顯示您堆疊的 stack details (堆疊詳細資訊) 頁面。您的堆疊目前的狀態為 `UPDATE_IN_PROGRESS`。CloudFormation 成功更新堆疊之後，就會將堆疊狀態設為 `UPDATE_COMPLETE`。

   如果堆疊更新失敗，CloudFormation 會自動復原變更，並將堆疊狀態設為 `UPDATE_ROLLBACK_COMPLETE`。
**注意**  
您可以在處於 `UPDATE_IN_PROGRESS` 狀態時取消更新。如需詳細資訊，請參閱[取消堆疊更新](using-cfn-stack-update-cancel.md)。

**使用命令列更新堆疊**  
您可以使用下列其中一項命令：
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html) (AWS CLI)
+ [https://docs.aws.amazon.com/powershell/latest/reference/items/Update-CFNStack.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Update-CFNStack.html) (AWS Tools for Windows PowerShell)

如需使用命令列來更新堆疊的範例，請參閱 [AWS CLI 和 PowerShell 的 CloudFormation 堆疊操作命令範例](service_code_examples.md)。