

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

# 克隆 Elastic Beanstalk 环境
<a name="using-features.managing.clone"></a>

通过克隆现有的 Elastic Beanstalk 环境，您可以使用现有环境作为新环境的基础。例如，您可能希望创建一个克隆，以便使用原始环境平台所使用的较新版本的平台分支。Elastic Beanstalk 使用原始环境所使用的环境设置来配置克隆。通过克隆现有环境而不是创建新环境，您不必手动配置使用 Elastic Beanstalk 服务进行的选项设置、环境变量和其他设置。Elastic Beanstalk 还会创建与原始环境关联的任何 Amazon 资源的副本。

了解以下情况很重要：
+ 在克隆过程中，Elastic Beanstalk 不会将数据从 Amazon RDS 复制到克隆中。
+ Elastic Beanstalk 不会将对资源的任何非托管更改包含在克隆中。您使用 Elastic Beanstalk 控制台、命令行工具或 API 以外的工具对 Amazon 资源进行的更改被视为非托管更改。
+ 用于入口的安全组被视为非托管更改。克隆的 Elastic Beanstalk 环境不会继承入口的安全组，从而使环境对所有互联网流量开放。您需要为克隆的环境重新建立入口安全组。

您只能将环境克隆到相同平台分支的不同平台版本。不同的平台分支不能保证兼容。要使用不同的平台分支，您必须手动创建新的环境，部署应用程序代码，并对代码和选项进行必要的更改，以确保应用程序可在新平台分支上正常工作。

## Amazon 管理控制台
<a name="using-features.managing.clone.CON"></a>

**重要**  
克隆的 Elastic Beanstalk 环境不会继承入口的安全组，从而使环境对所有互联网流量开放。您需要为克隆的环境重新建立入口安全组。  
您可以通过检查环境配置的偏差状态来查看可能无法克隆的资源。有关更多信息，请参阅《*Amazon CloudFormation 用户指南*》中的[检测整个 CloudFormation 堆栈上的偏差](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/detect-drift-stack.html)。

**克隆环境**

1. 打开 [Elastic Beanstalk](https://console.amazonaws.cn/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 Amazon Web Services 区域

1. 在导航窗格中，选择 **Environments**（环境），然后从列表中选择环境的名称。

1. 在环境概述页面上，选择**操作**。

1. 选择**克隆环境**。

1. 在 **Clone environment**（克隆环境）页面上，查看 **Original Environment**（原始环境）部分中的信息以验证您是否选择了要从其中创建克隆的环境。

1. 在**新环境**部分中，您可以选择性地更改 Elastic Beanstalk 根据原始环境自动设置的**环境名称**、**环境 URL**、**描述**、**平台版本**和**服务角色**值。
**注意**  
如果原始环境中使用的平台版本与平台分支中推荐使用的版本不同，则会向您发送警告，建议您使用其他平台版本。选择**平台版本**，您可以在列表中看到推荐的平台版本，例如 **3.3.2（推荐）**。

1. 如果准备就绪，请选择 **Clone**（克隆）。

## Elastic Beanstalk 命令行界面 (EB CLI)
<a name="using-features.managing.clone.CLI"></a>

**重要**  
克隆的 Elastic Beanstalk 环境不会继承入口的安全组，从而使环境对所有互联网流量开放。您需要为克隆的环境重新建立入口安全组。  
您可以通过检查环境配置的偏差状态来查看可能无法克隆的资源。有关更多信息，请参阅《*Amazon CloudFormation 用户指南*》中的[检测整个 CloudFormation 堆栈上的偏差](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/detect-drift-stack.html)。

使用 **eb clone** 命令克隆正在运行的环境，如下所示。

```
~/workspace/my-app$ eb clone {{my-env1}}
Enter name for Environment Clone
(default is my-env1-clone): {{my-env2}}
Enter DNS CNAME prefix
(default is my-env1-clone): {{my-env2}}
```

您可以在克隆命令中指定源环境的名称，或留空以克隆当前项目文件夹的默认环境。EB CLI 会提示您为新环境输入名称和 DNS 前缀。

默认情况下，**eb clone** 会使用源环境平台的最新可用版本创建新环境。要强制 EB CLI 使用相同的版本 (即使有新版本可用时)，请使用 `--exact` 选项。

```
~/workspace/my-app$ eb clone --exact
```

有关此命令的更多信息，请参阅 [eb clone](eb3-clone.md)。