如何在AWS EC2中同步机器密钥?

dpa*_*kar 3 amazon-ec2 machinekey formsauthentication autoscaling

由于Auto-Scaling不允许缓冲时间和/或不够智能,不允许只有"新请求"进入由于自动缩放而被安排关闭的实例,我试图避免使用粘性 - ELB提供的会议.否则,此行为将使一些客户具有登录屏幕.

该网站和其他RESTful Web服务正在IIS7中运行.该网站使用基于经典表单的身份验证(MVC3中的内置成员资格提供程序),但很快将迁移到自定义成员资格提供程序以查看cookie并解密然后给出判决.RESTful Web服务已经在使用自定义成员资格提供程序.

在这种情况下,我认为对于我不能通过其ELB使用粘性会话而无法获得的网站.

RESTful Web服务的ELB可以配置为非粘性,因为它们会在每个请求上单独观察cookie,以查看auth令牌是否存在某些加密值.但是,这里的问题是FormsAuthentication.Enrypt和FormsAuthentication.Decrypt方法,它们使用MachineKeys.对 ?!如果没有,那么它没有问题,但如果他们这样做,那么如何在EC2中的自动标量实例之间同步机器密钥?

小智 5

最佳做法是生成机器密钥并放入web.config文件.这样,当自动缩放开始和停止实例时,密钥将始终保持不变并且不依赖于实际实例.