【发布时间】:2020-01-13 15:57:08
【问题描述】:
我正在将Django 应用程序与python 3.6 部署到AWS Elastic Beanstalk。有谁知道在创建或恢复 elastic beanstalk 环境时如何设置 Healthcheck URL?我尝试保存配置,但没有存储我的自定义 URL,所以我使用 eb config get 下载它,手动将其添加到配置中(我在 aws 页面上遇到)
aws:elasticbeanstalk:application:
Application Healthcheck URL: /accounts/login/
并做了一个 eb 配置。然后我使用 eb create --cfg good_cfg 创建了一个环境,但这并没有恢复 URL。我还通过 Web 界面设置了它,终止了环境,然后通过 eb restore env_id 恢复了环境,但是 Healthcheck URL 被设置回默认值 /。
这是我的完整 2020-01-12-test.cfg.yml 文件。
EnvironmentConfigurationMetadata:
DateCreated: '1578859126000'
DateModified: '1578859126000'
Platform:
PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Python 3.6 running on 64bit Amazon Linux/2.9.4
OptionSettings:
aws:elasticbeanstalk:command:
BatchSize: '30'
BatchSizeType: Percentage
aws:elb:policies:
ConnectionDrainingEnabled: true
aws:elb:loadbalancer:
CrossZone: true
aws:elasticbeanstalk:environment:
ServiceRole: arn:aws:iam::598520317272:role/aws-elasticbeanstalk-service-role
LoadBalancerType: application
aws:elasticbeanstalk:application:
Application Healthcheck URL: /accounts/login/
aws:elasticbeanstalk:healthreporting:system:
SystemType: enhanced
aws:elbv2:listener:443:
ListenerEnabled: true
SSLPolicy: ELBSecurityPolicy-2016-08
SSLCertificateArns: arn:aws:acm:us-east-2:598520317272:certificate/4f82f8a4-cc06-48de-a96a-31bb6767f847
DefaultProcess: default
Protocol: HTTPS
Rules: ''
aws:autoscaling:launchconfiguration:
IamInstanceProfile: aws-elasticbeanstalk-ec2-role
EC2KeyName: aws-eb-coincounter
aws:autoscaling:updatepolicy:rollingupdate:
RollingUpdateType: Health
RollingUpdateEnabled: true
EnvironmentTier:
Type: Standard
Name: WebServer
AWSConfigurationTemplateVersion: 1.1.0.0
【问题讨论】:
-
您正在运行什么类型的应用程序?运行状况检查仅适用于负载平衡环境。
-
我不确定您的意思是“什么类型的应用程序”。它是一个在 AWS Elastic Beanstalk 中运行的带有 python 3.6 的 Django 应用程序。如果我不更改 EC2 -> 目标组 -> 健康检查中的 URL,健康检查肯定会运行,因为应用程序会变成红色。我只需要通过 UI 执行此操作,并且想要在配置启动时执行此操作。
-
啊,好的,那么你就有了一个负载平衡的应用程序。还有一个选项可以让 EB 应用程序成为单个实例,这对于测试和原型环境非常常见,并且您无法进行健康检查。
-
保存配置也应该保存健康检查设置,它确实适用于我的项目。您可以在问题中分享您的完整启动配置吗?我可以比较一下,也许会看到一些有用的东西。
-
我刚刚编辑了我的原始帖子以包含我的配置文件的内容。我有一个工作环境,我只是从中保存了这个配置。然后我终止了工作环境并尝试通过 aws Web 界面使用此配置创建一个新环境。但是当我加载这个环境时,它甚至没有启动负载均衡器,并且我的 SSL 证书也没有配置,即使它似乎列在这个配置文件中。也许我对如何使用这些配置文件有一个根本的误解。
标签: amazon-ec2 amazon-elastic-beanstalk