如何使用Cloud Formation模板在AWS Elastic Beanstalk中包括粘性会话

时间:2019-09-16 10:27:01

标签: amazon-web-services amazon-cloudformation session-cookies amazon-elastic-beanstalk sticky

当我在Elastic Beanstalk中搜索粘性时,没有找到如何使用AWS Cloud Formation包含粘性的方法。谁能帮我做那件事。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以尝试以下

      LBCookieStickinessPolicy:
      - PolicyName: myLBPolicy
        CookieExpirationPeriod: '180'

您可以详细了解粘性会话herehere

答案 1 :(得分:0)

如果我们看到粘性会话的定义,则说“粘性会话是一种将请求路由到目标组中相同目标的机制”。

在Elastic Beanstalk中,目标组由进程表示。因此,我们需要使用option settings

在流程级别设置粘性

您可以在此处采取2种方法:(以下是“默认”过程,如果您配置了其他过程,则可以进行相应的修改,但实现方式保持不变)

选项设置名称空间:aws:elasticbeanstalk:environment:process:default 设置的有效选项:StickinessEnabled,StickinessLBCookieDuration

  1. 如前所述,在AWS::ElasticBeanstalk::Environment类型下的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"
}
  1. 在源包级别进行配置,即创建一个.config文件(例如albstickiness.config)并将其放置在.ebextensions文件夹中。在.config文件中,为ALB进程设置粘性。

示例可以在子标题“ .ebextensions / alb-default-process.config”下找到here