我们正在运行一个静态网站,该网站由CI自动部署到公共S3存储桶。该网站是一个jekyll页面,有多个文件夹。由于易于部署且没有基础设施,我们对设置非常满意。
但我们现在拥有流量到我们的网站,我们想要添加一个暂存阶段。 这一阶段应由来自已知IP的选定非技术人员访问。我们无法使用S3存储桶实现此目的,因为此存储桶需要公开。
因此,我们正在寻找一种方法来部署静态网站,其中包含非公开的暂存区域。这可以通过AWS服务或其他云产品实现吗?
答案 0 :(得分:2)
第一部分相对简单,只需设置另一个存储桶,部署到那里进行升级,然后从那里到生产桶即可上线。
第二部分也很简单,您可以在限制访问IP范围的S3存储桶上指定策略 - 请参阅此处的示例:http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-3
我个人建议,如果可能的话,最好使用基于登录的限制(您需要在办公室外签字的人是IP地址限制让您进入的典型示例麻烦)无论哪种方式,你都可以对S3存储桶权限进行足够精细的控制,让你做你需要的事情
答案 1 :(得分:0)
我们通过在S3存储桶中使用名称难以猜测的子文件夹解决了此问题。这些名称使子文件夹可以公开使用,并充当静态网站的共享秘密密码。每个拉取请求都会自动在此存储桶中部署到子文件夹。
示例:
s3-staging-bucket
└ ed567c0e-dca9-44fc-b1bc-18ed5237f598/
└ index.html