本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Elastic Beanstalk 创建示例应用程序
在此步骤中,您将从先前存在的示例应用程序开始创建新应用程序。Elastic Beanstalk 支持针对不同的编程语言、应用程序服务器以及 Docker 容器的平台。您在创建应用程序时选择一个平台。
创建应用程序和环境
要创建您的示例应用程序,您将使用 Create application(创建应用程序)控制台向导。它创建 Elastic Beanstalk 应用程序并在其中启动一个环境。环境是运行应用程序代码所需的 AWS 资源集合。
创建示例应用程序
-
选择创建应用程序。
-
对于 Application name(应用程序名称),输入
getting-started-app
。 -
(可选)添加应用程序标签。
-
对于 Platform(平台),选择一个平台。
-
选择下一步。
-
这时将显示配置服务访问权限页面。
-
对于服务角色,请选择使用现有的服务角色。
-
接下来,我们将重点介绍EC2 实例配置文件下拉列表。此下拉列表中显示的值可能因您的账户之前是否创建过新环境而异。
根据列表中显示的值,选择以下选项中的一个。
-
如果
aws-elasticbeanstalk-ec2-role
显示在下拉列表中,请从EC2 实例配置文件下拉列表中选择它。 -
如果列表中显示了另一个值,并且它是针对您的环境的默认 EC2 实例配置文件,请从EC2 实例配置文件下拉列表中选择它。
-
如果EC2 实例配置文件下拉列表未列出任何可供选择的值,请展开接下来的步骤,为 EC2 实例配置文件创建 IAM 角色。
完成为 EC2 实例配置文件创建 IAM 角色中的步骤,创建一个 IAM 角色,您可以随后为EC2 实例配置文件选择该角色。然后返回此步骤。
现在您已创建了一个 IAM 角色并刷新了列表,该角色将在下拉列表中显示为一个选项。从EC2 实例配置文件下拉列表中选择您刚刚创建的 IAM 角色。
-
-
在 Configure service access(配置服务访问)页面上选择 Skip to Review(跳至审核)。
这将跳过可选步骤。
-
Review(审核)页面将显示所有选择的摘要。
在页面底部选择 Submit(提交)。
![配置服务访问](images/configure-service-access.png)
为 EC2 实例配置文件选择创建 IAM 角色
-
选择查看权限详细信息。它显示在EC2 实例配置文件下拉列表下。
这时会显示一个名为查看实例配置文件权限的模态窗口。此窗口列出了您需要附加到您创建的新 EC2 实例配置文件中的托管配置文件。此外还提供了一个用于启动 IAM 控制台的链接。
-
选择窗口顶部显示的 IAM 控制台链接。
-
请在 IAM 控制台的导航窗格中,选择 Roles(角色)。
-
选择 Create role(创建角色)。
-
在可信实体类型下,选择 AWS 服务。
-
在 Use case(使用案例)下,选择 EC2。
-
选择下一步。
-
附加适当的托管式策略。滚动查看实例配置文件权限模式窗口,以查看托管式策略。这些策略还将在此处列出:
-
AWSElasticBeanstalkWebTier
-
AWSElasticBeanstalkWorkerTier
-
AWSElasticBeanstalkMulticontainerDocker
-
-
选择下一步。
-
输入角色的名称。
-
(可选)将标签添加到角色。
-
选择 Create role(创建角色)。
-
返回已打开的 Elastic Beanstalk 控制台窗口。
-
关闭查看实例配置文件权限模态窗口。
重要
不要关闭显示 Elastic Beanstalk 控制台的浏览器页面。
-
选择EC2 实例配置文件下拉列表旁边的
(刷新)。
这将刷新下拉列表,以确保您刚刚创建的角色会在下拉列表中显示。
Elastic Beanstalk 工作流
为了在 AWS 资源上部署和运行示例应用程序,Elastic Beanstalk 会执行以下操作。这些操作需要约 5 分钟的时间完成。
-
创建名为的 Elastic Beanstalk 应用程序getting-started-app。
-
使用以下 AWS 资源启动名为 GettingStartedApp-env 的环境:
-
亚马逊弹性计算云 (Amazon EC2) 实例(虚拟机)
-
Amazon EC2 安全组
-
一个 Amazon Simple Storage Service (Amazon S3) 存储桶
-
亚马逊 CloudWatch 警报
-
一个 AWS CloudFormation 堆栈
-
域名
有关这些 AWS 资源的详细信息,请参阅AWS 为示例应用程序创建的资源。
-
-
创建一个名为 Sample Application 的新应用程序版本。这是默认的 Elastic Beanstalk 示例应用程序文件。
-
将示例应用程序的代码部署到 GettingStartedApp-en v 环境中。
在环境创建过程中,控制台会跟踪进度并在“事件”选项卡中显示事件状态。当所有资源启动并且运行应用程序的 EC2 实例通过运行状况检查时,环境的运行状况将变为Ok
。现在,您可以使用您的 Web 应用程序的网站。
AWS 为示例应用程序创建的资源
在创建示例应用程序时,Elastic Beanstalk 会创建以下资源: AWS
-
EC2 实例 — 配置为在您选择的平台上运行 Web 应用程序的 Amazon EC2 虚拟机。
各平台运行一组不同的软件、配置文件和脚本以支持特定的语言版本、框架、Web 容器或其组合。大多数平台使用 Apache 或 nginx 作为在 Web 应用程序前处理 Web 流量的反向代理,向其转发请求、提供静态资产以及生成访问和错误日志。
-
实例安全组 — 配置为允许端口 80 上的传入流量的 Amazon EC2 安全组。此资源允许来自负载均衡器的 HTTP 流量到达运行您的 Web 应用程序的 EC2 实例。默认情况下,其他端口不允许流量进入。
-
Amazon S3 存储桶 – 使用 Elastic Beanstalk 时创建的源代码、日志和其他构件的存储位置。
-
Amazon CloudWatch CloudWatch 警报 — 两个警报,用于监控您环境中实例的负载,并在负载过高或过低时触发。警报触发后,您的 Auto Scaling 组会扩展或收缩以进行响应。
-
AWS CloudFormation 堆栈 — Elastic AWS CloudFormation Beanstalk 用于在您的环境中启动资源并传播配置更改。这些资源在您可通过 AWS CloudFormation 控制台
查看的模板中定义。 -
域名-以表单形式路由到您的 Web 应用程序的域名
subdomain
。region
.elasticbeanstalk.com。域安全
为增强 Elastic Beanstalk 应用程序的安全性,已将 elasticbeanstalk.com 域注册到 公共后缀列表(PSL)
。 如果您需要在 Elastic Beanstalk 应用程序的默认域名中设置敏感 Cookie,我们建议您使用带有前缀
__Host-
的 Cookie 来提高安全性。这种做法可以保护您的域免遭跨站点请求伪造(CSRF)攻击。要了解更多信息,请参阅 Mozilla 开发者网络中的 Set-Cookie页面。