我有一个托管在 Amazon S3 上的网站。它是托管在 WordPress 上的旧网站的新版本。
我已经设置了一些带有元数据的文件Website Redirect Location来处理旧位置并将它们重定向到新的网站页面。
例如:我http://www.mysite.com/solution想重定向到http://mysite.s3-website-us-east-1.amazonaws.com/product.html所以我solution在我的存储桶中创建了一个带有正确元数据的空文件:
Website Redirect Location= /product.html
S3 重定向元数据相当于一个301 Moved Permanently非常适合 SEO 的元数据。这在直接从 S3 域访问 URL 时非常有效。
我还基于网站存储桶设置了 CloudFront 分配。当我尝试通过我的发行版访问时,重定向不起作用,即:
http://xxxx123.cloudfront.net/solution 不重定向而是下载空文件。
所以我的问题是如何通过 CloudFront 分配保持重定向?或者关于如何在不恶化 SEO 的情况下处理重定向的任何想法?
谢谢
我有一个用户的以下 IAM 策略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1395161912000",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:*"
],
"Resource": [
"arn:aws:s3:::bucketname"
]
},
{
"Sid": "list",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
目标是让用户将文件上传到存储桶,但不会覆盖或删除。是用来备份的。我从ListBucketand开始PutObject,但*由于它不起作用而添加。甚至*不允许用户上传文件,只是获取Access Denied.
当我尝试模拟器时,它返回Denied - Implicitly denied (no matching statements found).for ListBucket,这看起来很奇怪,因为我已经隐含地允许了。
我试过 Cyberduck 和 3Hub 作为 S3 客户端。
知道出了什么问题吗?
我试图建立一个简单的基于亚马逊AWS S3网站,如解释在这里。
我已经设置了 S3 存储桶 (simples3websitetest.com),给了它(希望)正确的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::simples3websitetest.com/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我上传了 index.html,设置了网站访问,它可以通过http://simples3websitetest.com.s3-website-us-west-2.amazonaws.com/index.html访问
到目前为止一切顺利,现在我想设置 Amazon Route53 访问,这就是我卡住的地方。
我已经在我拥有的域 (resourcesbox.net) 上设置了一个托管区域,然后单击了“创建记录集”,然后进入了“设置别名”步骤,但是当我在 S3 网站端点下看到“没有可用的目标”时尝试设置别名目标。
我错过了什么??
我在使用 AWS Cloudfront 向 Firefox 提供静态资产时遇到问题。
Chrome 运行良好,但 Firefox 返回 CORS 错误。
如果我执行 curl ,我会得到:
HTTP/1.1 200 OK
Content-Type: application/x-font-opentype
Content-Length: 39420
Connection: keep-alive
Date: Mon, 11 Aug 2014 21:53:50 GMT
Cache-Control: public, max-age=31557600
Expires: Sun, 09 Aug 2015 01:28:02 GMT
Last-Modified: Fri, 08 Aug 2014 19:28:05 GMT
ETag: "9df744bdf9372cf4cff87bb3e2d68fc8"
Accept-Ranges: bytes
Server: AmazonS3
Age: 2743
X-Cache: Hit from cloudfront
Via: 1.1 c445b20dfbf3128d810e975e5d84e2cd.cloudfront.net (CloudFront)
X-Amz-Cf-Id: ...
Run Code Online (Sandbox Code Playgroud)
我认为需要标题:
Access-Control-Allow-Origin: *
Run Code Online (Sandbox Code Playgroud)
谁能帮我?为什么它是 Firefox 而不是 Chrome 的问题?我该如何解决?
firefox amazon-s3 amazon-cloudfront amazon-web-services cors
假设我为我的存储桶启用了 S3 版本控制:http : //docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html
然后,假设某人(例如,初级员工)弄乱了 S3 存储桶(意外删除了一些文件等)
然后如何将整个版本化存储桶恢复到特定时间点?我相信考虑到 S3 的 API,这应该是可能的,但我宁愿不必自己编写这样的脚本,因为害怕遗漏一些东西(我不是 AWS 专家)。
这个问题有没有好的解决方案?我使用 S3 存储桶作为我的 Rails 应用程序的图像存储,因此我可以将其用作 rake 任务的基于 Ruby 的东西将是理想的选择。
我在 S3 上托管了 200 GB 的产品图片(这是我的主要文件主机)。
我是否需要将该数据备份到其他地方,或者 S3 是否安全?
我一直在尝试将 S3 存储桶安装到 EC2 实例,然后每晚进行 rsync 备份。问题是它大约有 300 万个文件,因此需要一段时间来生成不同的 rsync 需求。备份实际上需要大约 3 天才能完成。
任何想法如何更好地做到这一点?(如果有必要?)
我有一个运行 Web 服务器的 EC2 实例,该服务器将用户上传的文件存储到 S3。这些文件被写入一次并且永远不会改变,但偶尔会被用户检索。我们每年可能会积累大约 200-500GB 的数据。我们希望确保这些数据是安全的,尤其是不会被意外删除,并且希望能够恢复被删除的文件,无论出于何种原因。
我已经阅读了 S3 存储桶的版本控制功能,但我似乎无法找到是否可以恢复没有修改历史记录的文件。有关版本控制,请参阅此处的 AWS 文档:
http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html
在这些示例中,它们没有显示上传数据但从未修改然后删除的场景。在这种情况下删除的文件是否可以恢复?
然后,我们认为我们可以使用对象生命周期管理将 S3 文件备份到 Glacier:
http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
但是,这似乎对我们不起作用,因为文件对象没有复制到 Glacier 而是移动到 Glacier(更准确地说,它似乎是一个对象属性已更改,但无论如何......)。
因此,似乎没有直接的方法来备份 S3 数据,并且将数据从 S3 传输到本地服务器可能非常耗时,并且随着时间的推移可能会产生大量的传输成本。
最后,我们想我们会每个月创建一个新的bucket作为每月的完整备份,并在第1天将原始bucket的数据复制到新的bucket中。然后使用类似duplicity的东西(http://duplicity.nongnu.org/ ) 我们每晚都会同步备份桶。在月底,我们会将备份存储桶的内容放入 Glacier 存储中,并使用原始存储桶的新的当前副本创建一个新的备份存储桶……并重复此过程。这似乎可以工作并最大限度地降低存储/传输成本,但我不确定双重性是否允许直接进行存储桶到存储桶的传输,而无需先将数据传输到控制客户端。
所以,我想这里有几个问题。首先,S3 版本控制是否允许恢复从未修改过的文件?有什么方法可以将文件从 S3“复制”到我错过的 Glacier?duplicity 或任何其他工具可以直接在 S3 存储桶之间传输文件以避免传输成本吗?最后,我在备份 S3 数据的方法上是否离谱?
提前感谢您提供的任何见解!
您推荐使用 Amazon S3 作为日常备份的占位符的软件是什么?
我需要它完全自动化,并且易于恢复数据。