- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
非常感谢有关如何使用以下堆栈正确部署 Elastic Beanstalk 的资源建议:
我需要在 ebextension 文件中设置所有这些东西吗?或者是在 AWS 中手动设置,然后将它们正确地路由到某个地方?
最佳答案
您绝对不想在 Elastic Beanstalk 服务器上运行所有这些。 Elastic Beanstalk 将根据您的流量/服务器负载自动添加或删除服务器。您不希望您的数据库在被删除时位于其中一台服务器上。
Elastic Beanstalk 是一种平台即服务,非常适合运行 Web 服务器。 AWS 上还有其他服务,例如 ElastiCache(Redis/Memcached 即服务)和 Elasticsearch 即服务。还有第三方提供在 AWS 上运行的服务,例如 RedisLabs(Redis 即服务)和 MongoLab(MongoDB 即服务)。
您可以决定使用这些服务中的任何一个来减少您必须自己完成的系统管理工作量。或者,您可以手动设置 EC2 Linux 服务器(在 Elastic Beanstalk 之外)并在其上安装 Rails、MongoDB 和 ElasticSearch 等东西并自行管理。
对于您的情况,我会推荐如下内容:
您可能希望设置这些服务中的每一个,然后只需将每个服务的连接信息添加到您的 Elastic Beanstalk 环境中,以便 Rails 可以使用它们。
编辑:
以下是在 EC2 上手动设置 MongoDB 的最佳说明:https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/
对于 ElastiCache 和 Elasticsearch,您只需在 AWS 控制台中四处单击即可配置 Redis 服务器并获取要连接的 URL。完成所有这些设置后,您只需将连接参数作为自定义环境变量放入 ElasticBeanstalk 环境中,例如:
MONGO_DB_URL="您的 MongoDB EC2 内部 IP 地址"
REDIS_URL="ElastiCache 为您提供的 url"
然后在创建与这些服务的连接时在您的应用程序中读取这些环境变量。
此外,您还必须学习如何设置 VPN 和安全组,以使所有内容都能连接。例如,您希望您的 Elastic Beanstalk 服务器位于一个安全组中,而 MongoDB 服务器位于另一组中。然后,您必须配置 MongoDB 安全组以允许从 MongoDB 端口上的 beantalk 组进行访问。 ElastiCache 类似。我认为对于 Elasticsearch,您必须创建一个可以访问 Elasticsearch API 的 IAM 角色,然后将该角色分配给您的 Beanstalk 服务器。
当然还有为您的 MongoDB 集群设置 Linux 服务器、配置集群、故障转移、自动备份、日志存档、定期安全更新等管理任务。我知道您拥有所有这些 AWS 信用,但是您应该权衡将一切都转移到 AWS 与您将花时间处理的所有管理任务的成本。如果您免费获得 Elastic Beanstalk、Elasticsearch 和 ElasticCache,那是无需动脑筋的选择,但我的 MongoLab 费用必须相当高才能证明自己设置和管理所有这些是合理的。
关于mongodb - 使用 MongoDB 部署 Elastic Beanstalk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837610/
我正在尝试将我的应用程序上载到Elastic Beanstalk,但是在节点预gyp安装--fallback-to-build上,npm安装失败。我尝试了各种版本的节点,但无济于事。似乎正在尝试获取一
设置 Elastic Beanstalk 的配置时,我没有获得解决方案堆栈的任何选项。 以下是有问题的行: `Select a solution stack. Available solution s
我正在尝试自定义 beanstalk 的默认 AMI,但每次我都会在一段随机时间后服务器重新启动。我什至没有改变任何东西,但没有任何效果。 我尝试过以下方法: 找到运行beanstalk的实例,创建A
我正在尝试使用sudo pip install awsebcli在新的Ubuntu 14.04(在Windows的Linux子系统上)上安装Elastic Beanstalk CLI(awsebcli
Amazon Beanstalk 是否会自动防止(分布式)拒绝服务攻击?如果没有,最方便的方法是什么? 最佳答案 我相信它会 New – AWS Shield AWS Shield is a new
每当我在 Elastic Beanstalk 中创建新环境时,我都会手动配置自定义 AMI ID、SNS 通知等,但我想自动完成,即,将设置(自定义 AMI ID、SNS、 key 对等)保存到一个配
我已使用以下方法连接到 Elastic Beanstalk: eb ssh XXXXXX --profile=xx 现在我想将一个文件复制到我的本地机器上,我该怎么做? 最佳答案 找出与 scp 一起
对于典型的 Java Web 应用程序,使用 Elastic Beanstalk 相对于手动创建 EC2 实例、设置 tomcat 服务器和部署等有哪些优势?负载平衡、监控和自动缩放是唯一的优势吗?
我有一个运行 PHP 的弹性 beanstalk 环境。在我的项目中,我有一个 .ebextensions 文件夹和一个名为“15-memorymonitor.config”的文件,其中包含以下内容;
我有 “更新”:Dockerrun.aws.json 中的“真” 当我更新 ECR 中的图像时,它应该自动更新 EC2 iontance 中的图像和容器。 但是当我在推送新图像后通过 ssh 进入实例
我有一个定义 Elastic Beanstalk 应用程序的 CloudFormation 模板。 我想扩展这个应用程序,即我希望端口 80 上的监听器重定向到 HTTPS。 AWS::Elastic
我在使用自定义 .ebextensions 文件部署 EB 实例时遇到问题。这是该文件中的相关部分: container_commands: 01_migrate: command: 'p
我已经使用带负载均衡器的 Elastic Beanstalk 创建了一个环境,并在各自的配置中分配了所有健康检查值 我也为ELB设置了应用健康检查url 但是当我检查自动缩放组配置时,健康检查类型是
我正在尝试部署我的 角申请通过GitHub Actions到 Elastic Beanstalk 。我正在使用这个 GitHub actions用于部署到 ELB。 我的问题是,部署失败,因为 ELB
我已阅读有关 Deploying Versions with Zero Downtime 的 AWS 文档,又名 CNAME 交换。 如 yegor256在 this answer 中有解释: The
我有一个弹性 beanstalk 设置,但无法访问环境中列出的 url,而如果我指向负载均衡器的 url,我可以访问它。 有什么建议吗? 最佳答案 将 LoadBalancer 安全组附加到实例。对我
我正在使用 AWS Elastic beanstalk 并希望为不同的环境配置不同的 ENV 变量。我发现的唯一方法是使用 ebextensions,但如果我将同一个数据包部署到多个环境,则无法覆盖在
我有一个应用程序,其中包含 nodejs 和 php 代码。 nodejs 用于运行应用程序所需的几个脚本。我如何使用 aws Elastic beanstalk 部署此类应用程序? 最佳答案 有两种
我今天遇到一个关于 Amazon Elastick BeanStalk 的奇怪问题:对于我的实例,我无法上传应用程序: XXX@-Vostro-2520:~/git_projects/ProjectB
我不断收到以下消息。但是在我的 nginx 日志中没有任何内容表明返回的请求状态为 5xx。此外,应用程序似乎按预期工作。我可能会得到这些的任何指示? 留言: Environment health h
我是一名优秀的程序员,十分优秀!