由于目前所有 S3“文件系统”都不兼容,您建议使用什么 s3 网关工具来安装远程 S3 存储桶进行备份?我一直在使用 S3FS,但是我听到很多人抱怨代码质量很差;我还没有对我自己进行正式的代码审查。您对哪些其他工具感到满意?
编辑:澄清一下,我在这里运行 Linux。Windows 兼容性会很好,但不是必需的
我是一名计划使用 Amazon Cloudfront S3 的网站所有者。我一直在阅读有关 CDN 可以做什么的所有内容,但我仍然有一个悬而未决的问题。
即使我的主服务器关闭,CDN 是否仍然有效。这是我对它感兴趣的主要原因。因为,我的服务器在马里经常因为停电而经常中断。
我有一个 AWS Elastic Beanstalk Rails 应用程序,我正在通过配置脚本配置它以从 S3 存储桶中提取一些文件。当我启动应用程序时,我不断在日志中收到以下错误(为了安全起见,存储桶名称已更改):
Failed to retrieve https://s3.amazonaws.com/my.bucket/bootstrap.sh: HTTP Error 403 : <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>
Run Code Online (Sandbox Code Playgroud)
配置文件:
packages:
yum:
git: []
files:
/opt/elasticbeanstalk/hooks/appdeploy/pre/01a_bootstrap.sh:
mode: "00755"
owner: root
group: root
source: https://s3.amazonaws.com/my.bucket/bootstrap.sh
Run Code Online (Sandbox Code Playgroud)
Elastic Beanstalk 环境设置了aws-elasticbeanstalk-ec2-roleIAM 角色作为它的实例角色。此角色具有以下策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "arn:aws:s3:::my.bucket/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
S3 存储桶具有以下策略:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "Stmt1371012493903",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account #>:role/aws-elasticbeanstalk-ec2-role"
}, …Run Code Online (Sandbox Code Playgroud) amazon-s3 amazon-ec2 amazon-web-services amazon-iam elastic-beanstalk
我的免费 AWS 帐户已过期。我删除了所有 S3 和 EC2 资源,但是如果我可以离开Key Pairs并且Security Groups无需支付费用,我就在徘徊。(我的帐户资源现在看起来像这样:资源)
亚马逊的文档似乎没有提到这个问题。
这些资源要花钱吗?
假设我有一个 Django 应用程序
使用 s3 提供静态文件或在 ec2 实例上设置 nginx 服务器会更好(性能方面)吗?
我的文件.ebextensions夹中有一个简单的文件:
00-myconfig.config
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Access:
type: S3
roleName: aws-elasticbeanstalk-ec2-role
buckets: my-bucket
files:
"/tmp/ca-bundle.zip":
mode: "000755"
owner: root
group: root
source: https://s3-ap-southeast-2.amazonaws.com/my-bucket/ca/ca-bundle.zip
authentication: S3Access
Run Code Online (Sandbox Code Playgroud)
根据多个答案,这是授予aws-elasticbeanstalk-ec2-role角色S3 存储桶访问权限的方法。
但我继续收到 403 错误 /var/log/eb-activity.log
[2015-08-26T01:27:03.544Z] INFO [22320] - [Application update/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Activity execution failed, because: Failed to retrieve https://s3-ap-southeast-2.amazonaws.com/my-bucket/ca/ca-bundle.zip: HTTP Error 403 : <?xml version="1.0" encoding="UTF-8"?> (ElasticBeanstalk::ExternalInvocationError)
Run Code Online (Sandbox Code Playgroud)
如果我手动向aws-elasticbeanstalk-ec2-role角色添加 S3 访问策略,一切正常,所以我知道我在 URLS 或其他任何内容中没有拼写错误,EC2 实例肯定处于正确的角色。
怎么了?
附注。我尝试了files带有或不带有“身份验证”设置的部分。
configuration amazon-s3 amazon-ec2 amazon-web-services elastic-beanstalk
在使用 s3 进行物理文档存储的 Web 应用程序中,我们遇到了 NTP 不断死亡的问题。这似乎每天大约发生一两次。发生这种情况时提供的信息很少,除了 PID 文件存在但在我检查状态时服务已死。
谁能提出NTPD死亡的可能原因?我假设时钟漂移可能导致它死亡,但我也不确定是什么导致了这种情况。有足够的内存和可用磁盘空间。
服务最后一次死亡时,这是输出:
Sep 6 06:15:25 vm02 rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="988" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Sep 6 06:17:06 vm02 ntpd[10803]: 0.0.0.0 0618 08 no_sys_peer
Sep 6 08:01:10 vm02 ntpd[10803]: 0.0.0.0 0617 07 panic_stop -28101 s; set clock manually within 1000 s.
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用用户数据脚本在启动时使用 AWS CLI (1.8.7) 将一些文件从 S3 下载到 EC2 实例。此实例具有具有适当权限的 IAM 角色和实例配置文件。有时,CLI 会失败并显示错误“无法找到凭据”。它经常发生(不是每次),但总是在单独的 S3 命令之后发生,该命令有效。这是脚本的输出:
++ date +%r
03:24:10 AM
++ aws s3 cp s3://non-public-bucket-1/15mb-zip-file.zip ./15mb-zip-file.zip
Completed 1 of 1 part(s) with 1 file(s) remaining^Mdownload: s3://non-public-bucket-1/15mb-zip-file.zip to 15mb-zip-file.zip
++ date +%r
03:24:14 AM
++ unzip 15mb-zip-file.zip
# Snip
++ date +%r
03:26:01 AM
++ curl http://169.254.169.254/latest/meta-data/instance-id
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10 100 …Run Code Online (Sandbox Code Playgroud) 互联网上有很多教程,通过 AWS S3 + AWS Cloudfront (+ Cloudflare) 促进静态网站的廉价托管。
例如:
我查看了 AWS 服务的定价结构,在 S3 或 Cloudfront 的情况下,我认为不可能限制与无效请求相关的成本,因为亚马逊也在对无效或被阻止请求产生的流量和请求进行计费。
即使使用可以阻止特定 IP 地址范围的 Amazon WAF 也不会对您有帮助,因为请求者仍应收到“拒绝访问”消息或类似消息。
无效请求将导致:
定价(北弗吉尼亚州的 S3 / Cloudfront USA;2018-03-25)
---------------------------------------------------------------------------------------
- service - # requests type - pricing -
---------------------------------------------------------------------------------------
- S3 - 1000 PUT/COPY/POST requests - 0.0050 USD -
---------------------------------------------------------------------------------------
- S3 - 1000 GET and other requests - 0.0004 USD - …Run Code Online (Sandbox Code Playgroud) 我有一个 Web,我想将其图像移动到 AWS S3。假设它被调用mypage.com,我可以访问这样的图像:
https://mypage.com/pics/one.jpg
Run Code Online (Sandbox Code Playgroud)
我创建了一个称为存储static.mypage.com所有图像的存储桶,所以现在我可以像这样访问图像:
https://static.mypage.com.s3.eu-west-1.amazonaws.com/pics/one.jpg
Run Code Online (Sandbox Code Playgroud)
由于它是一个很长的名称,我想使用 DNS 使用“缩短器”。
所以,我想知道如何在我的 DNS 提供商中设置 CNAME 以使其成为可能,如果我去...
https://static.mypage.com/pics/one.jpg
Run Code Online (Sandbox Code Playgroud)
...我会从桶中获取图像。
谢谢!
domain-name-system amazon-s3 cname-record amazon-web-services
amazon-s3 ×10
amazon-ec2 ×5
backup ×2
amazon-iam ×1
aws-cli ×1
cdn ×1
cloud-init ×1
cloudflare ×1
cname-record ×1
linux ×1
nginx ×1
ntp ×1
ntpd ×1
resources ×1
security ×1
service ×1