

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

# 使用推送式部署工具設定的 AMI 進行互斥部署
<a name="ex-mute-push-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。

您可以在[變更類型參考](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 AMI，所有 都會有 CodeDeploy。若要尋找「客戶」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` 參數來執行引導和其他指令碼，包括授權金鑰、SALT 堆疊 （引導小兵—如需詳細資訊，請參閱[使用 Cloud-Init 在 Linux EC2 上引導 Salt](https://gist.github.com/akoumjian/1714699)) 或 Ansible （安裝金鑰對—如需詳細資訊，請參閱 [ Ansible 和動態 Amazon EC2 庫存管理入門](https://aws.amazon.com/blogs/apn/getting-started-with-ansible-and-dynamic-amazon-ec2-inventory-management/))。或者，請求存取並登入執行個體，並使用必要的部署成品進行設定。請記住，推送型命令來自您的企業子網路到您的執行個體，您可能需要設定授權，才能通過堡壘。您可能需要向 AMS 提出服務請求，才能在沒有堡壘的情況下請求安全群組/AD 群組存取。

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

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