

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

# 使用提取式部署工具設定的 AMI 進行互斥部署
<a name="ex-mute-pull-based"></a>

此策略依賴 Managed Services Create EC2 CT 中的 `InstanceUserData` 參數。如需使用此參數的詳細資訊，請參閱[使用使用者資料設定執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-add-user-data)。此範例假設提取型應用程式部署工具，例如 Chef 或 Puppet。

所有 AMS AMIs 都支援 CodeDeploy 代理程式。以下是支援的 AMIs清單：
+ Amazon Linux （第 1 版）
+ Amazon Linux 2
+ RedHat 7
+ CentOS 7

您可以在[變更類型參考](https://docs.aws.amazon.com/managedservices/latest/ctref/index.html)中找到所有 CT 選項IDs。
**注意**  
目前，您必須搭配此解決方案使用 Amazon S3 儲存體。

此處概述了基本步驟，而程序在 AMS 使用者指南中詳細說明。

1. 建立 Amazon S3 儲存貯體。CT：ct-1a68ck03fn98r。S3 儲存貯體必須已啟用版本控制 （如需執行此作業的相關資訊，請參閱[啟用儲存貯體版本控制](https://docs.aws.amazon.com/AmazonS3/latest/UG/enable-bucket-versioning.html))。

1. 將您的綁定 CodeDeploy 成品放在其上。您可以使用 Amazon S3 主控台執行此操作，而無需透過 AMS 請求存取權。或者使用此命令的變體：

   ```
   aws s3 cp {{ZIP_FILEPATH_AND_NAME}} s3://{{S3BUCKET_NAME}}/
   ```

1. 尋找 AMS `customer-` AMI；使用下列其中一項：
   + AMS 主控台：相關 VPC 的 VPC 詳細資訊頁面
   + AMS API 如需 AMS SKMS API 參考，請參閱 AWS 成品主控台中的**報告**索引標籤。 或 CLI： `aws amsskms list-amis`

1. 建立 EC2 執行個體。CT：ct-14027q0sjyt1h；設定標籤 `Key=backup, Value=true`，並使用 `InstanceUserData` 參數指定引導和其他指令碼 （下載 Chef/Puppet 代理程式等），並包含必要的授權金鑰。您可以在 AMS 使用者指南的變更管理區段中，找到建立 HA 兩層部署的範例。或者，請求存取和登入執行個體，並使用必要的部署成品進行設定。請記住，提取型部署命令會從執行個體上的代理程式傳送至您的公司主伺服器，而且可能需要授權才能通過堡壘。您可能需要向 AMS 提出服務請求，才能在沒有堡壘的情況下請求安全群組/AD 群組存取。

1. 重複步驟 4 建立另一個 EC2 執行個體，並使用部署工具主伺服器進行設定。

1. 當您需要更新應用程式時，請使用 部署工具將更新推展到您的執行個體。