有多种方法可以实现这一目标。您无需ssh到实例并复制文件。
我会在“更新3”中推荐该方法。
您可以将Elastic
Beanstalk环境配置为在部署应用程序之前执行命令。您可以使用ebextensions进行此操作。在此处阅读有关命令的文档。
本质上,您会
.ebextensions在应用程序源中创建一个具有名称的文件夹。该文件夹可以包含一个或多个带
.config扩展名的文件。这些文件按照其名称的字典顺序进行处理。您可以使用ebextensions执行shell命令。例如,您可以执行以下操作:
commands: 02_download_index: command: aws s3 cp s3://mybucket/test.txt test2.txt
您首先需要在EC2实例上安装aws
cli。可以再次使用类似于上面的命令来完成此操作。此处提供了有关如何使用捆绑的安装程序安装AWS
CLI的说明。您可以运行多个命令。配置文件中的命令将按字典顺序执行,因此您可以将命令命名为
01_install_awcli,
02_download_index等等。
现在,如果您打算在EC2实例上使用AWS
CLI,则还需要凭证。如果您使用的是IAM实例配置文件(很可能是您,如果没有在此阅读有关内容)。您可以授予实例配置文件权限,以使用IAM访问S3对象。这样,您的实例将具有与之关联的IAM实例配置文件,并能够从S3下载文件。另外,您也可以直接拿到ACCESS_KEY_ID和使用环境属性SECRET_KEY如图所示这里。
出现的所有新实例都应在扩展名中执行命令。因此,您的实例可以使用所需的软件进行预配置。



