Amazon web services 如何在不修改Cloudfront的情况下在AWS中设置维护页面?

Amazon web services 如何在不修改Cloudfront的情况下在AWS中设置维护页面?,amazon-web-services,amazon-s3,amazon-ec2,Amazon Web Services,Amazon S3,Amazon Ec2,我们将在生产环境中部署更改,并希望在部署期间显示维护页面。没有重定向到错误页面,只是在他们访问我们的网站时显示维护页面。我们当前的生产设置是DNS->cloudfront->S3对象(mydomain.test.com)。我们的登台是DNS->R53->Cloudfront->S3(mydomain.staging.test.com->mydomain.staging.test53.com)。我想首先在我们的Staging env中对此进行测试,这样如果它起作用,我将修改prod env的DNS

我们将在生产环境中部署更改,并希望在部署期间显示维护页面。没有重定向到错误页面,只是在他们访问我们的网站时显示维护页面。我们当前的生产设置是DNS->cloudfront->S3对象(mydomain.test.com)。我们的登台是DNS->R53->Cloudfront->S3(mydomain.staging.test.com->mydomain.staging.test53.com)。我想首先在我们的Staging env中对此进行测试,这样如果它起作用,我将修改prod env的DNS条目,并指向我将创建的新R53

到目前为止,我所做的是,创建一个包含maintenance.html对象的S3 bucket,创建一个Cloudfront和R53,只用于维护页面。将S3对象添加为CF中的默认根对象,并将mydomain.staging.maintenance.test53.com添加为别名。还添加了CF作为R53中的cname。因此,当我加载r53 mydomain.staging.maintenance.test53.com时,我会看到维护页面

但是,为了实现这一点,我必须更新实时环境的CF,以删除mydomain.staging.test.com和mydomain.staging.test53.com,并添加mydomain.staging.maintenance.test53.com作为别名,然后更新staging live R53以指向maintenace R53。这是可行的,但CF更改需要时间来传播


如果您有任何建议,我们将不胜感激

如果主要关注的是传播时间,则可以使用清除旧缓存--不过,这可能需要几分钟才能到达所有边缘服务器。尝试了另一种设置方法。我构建了一个带有S3端点的反向代理。因为您可以在R53中将ttl设置为60秒,所以在我们的产品发布期间,放置和删除维护页面大约需要一两分钟。