amazon-web-services - 如何使用 Cloud Formation 模板在 AWS Elastic Beanstalk 中包含粘性会话
问题描述
当我在 Elastic Beanstalk 中搜索粘性时,我没有找到如何使用 AWS Cloud Formation 将其包含在内的方法。谁能帮我做那件事。
提前致谢。
解决方案
如果我们看到粘性会话的定义,它会说“粘性会话是一种将请求路由到目标组中的同一目标的机制”。
在 Elastic Beanstalk 中,目标组由进程表示。所以我们需要使用选项设置在流程级别设置粘性
您可以在这里采取 2 种方法:(以下是“默认”流程,如果您配置了其他流程,则进行相应修改,但实现保持不变)
选项设置命名空间:aws:elasticbeanstalk:environment:process:default 要设置的有效选项:StickinessEnabled、StickinessLBCookieDuration
- 在AWS::ElasticBeanstalk::Environment Type下的 CloudFormation 模板中指定选项设置,如所述。
样本 :
"Environment": {
"Properties": {
"ApplicationName": {
"Ref": "Application"
},
"Description": "AWS Elastic Beanstalk Environment running Python Sample Application",
"SolutionStackName": {
"Ref": "SolutionStackName"
},
"VersionLabel": "Initial Version",
"OptionSettings": [
{
"Namespace": "aws:elasticbeanstalk:environment:process:default",
"OptionName": "StickinessEnabled",
"Value":"true"
},
{
"Namespace": "aws:elasticbeanstalk:environment:process:default",
"OptionName": "StickinessLBCookieDuration",
"Value":"43200"
}
]
},
"Type": "AWS::ElasticBeanstalk::Environment"
}
- 在源包级别进行配置,即创建一个 .config 文件(比如 albstickiness.config )并将其放在 .ebextensions 文件夹中。在 .config 文件中为 ALB 进程设置粘性。
可以在子标题“.ebextensions/alb-default-process.config”下找到示例
推荐阅读
- java - 无法将 [...ReloadableResourceBundleMessageSource] 转换为所需类型 [...ResourceBundleMessageSource]
- apollo - 如何为不使用 Apollo 引擎的项目正确配置 `apollo` CLI?
- python - 在 Flask 中使用 for 循环更新数据库?
- asp.net - Web 窗体用户控制事件,需要在页面加载后添加
- r - R:如何使用别名调用数据框列?
- c# - 如何在 MVC 主控制器中将 http post 请求数据读取为 JSON?
- memcached - 是否可以选择使用 spring 缓存从缓存中执行 getBulk
- java - 即使关闭 InputStream 也无法删除文件
- python - Numpy比较两个3d数组并找到相同的数组
- java - 从异步方法中抛出异常是否合理?