

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用金色 AMI 进行不可变部署
<a name="ex-immute-gold-ami"></a>

此策略采用 “黄金” AMI，您已将其配置为按照您希望的所有应用程序实例运行。例如，使用此金色 AMI 创建的实例将自行加入正确的域和 DNS、自行配置、重启并启动所有必要的系统。当您想要更新应用程序实例时，可以重新创建金色 AMI 并使用它推出全新的应用程序实例。

所有 AMS 都支持该 CodeDeploy 代理 AMIs。以下是支持的列表 AMIs：
+ 亚马逊 Linux（第 1 版）
+ Amazon Linux 2
+ RedHat 7
+ CentOS 7

IDs 所有 CT 选项都可以在[更改类型参考](https://docs.aws.amazon.com/managedservices/latest/ctref/index.html)中找到。
**注意**  
目前，您必须在此解决方案中使用 Amazon S3 存储。

1. 创建 Amazon S3 存储桶。CT：ct-1a68ck03fn98r。S3 存储桶必须启用版本控制（有关执行此操作的信息，请参阅[启用存储桶版本控制](https://docs.aws.amazon.com/AmazonS3/latest/UG/enable-bucket-versioning.html)）。

1. 将捆绑的应用程序工件放在上面（应用程序启动并运行所需的一切）。您可以通过 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 Artifact 控制台中的 “**报告**” 选项卡。或 CLI：`aws amsskms list-amis`

1. 使用该 AMI 创建 EC2 实例。CT：ct-14027q0sjyt1h。指定 AMS AMI，设置标签`Key=backup, Value=true`并指定`customer-mc-ec2-instance-profile``InstanceProfile`。记下返回的实例 ID。

1. 请求管理员访问该实例。CT：ct-1dmlg9g1l91h6。你的账户需要有 FQDN。如果您不确定自己的 FQDN 是什么，可以通过以下方式找到它：
   + 使用目录服务的 AWS 管理控制台（在 “安全和身份” 下）“目录名称” 选项卡。
   + 运行以下命令之一（返回目录类；DC\$1DC\$1DC=FQDN）：Windows：或 Linux：。`whoami /fqdn` `hostname --fqdn`

1. 登录实例，请参阅 AMS 用户指南中的[访问实例](https://docs.aws.amazon.com/managedservices/latest/userguide/using-bastions.html)。

1. 从 S3 存储桶中将捆绑的应用程序文件下载到实例。配置实例，使其在启动时自行部署功能齐全的应用程序。

1. 在实例上创建黄金 AMI。CT：ct-3rqqu43krekby。有关详细信息，请参阅 [AMI \$1 创建](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html)。

1. 配置 Auto Scaling 组以使用该 AMI 创建新实例。CT：ct-2tylseo8rxfsc。当您需要更新应用程序时，请按照以下步骤操作，并请求 AMS 更新 ASG 以使用新的金色 AMI；为此使用管理 \$1 其他 \$1 其他 \$1 更新 CT。