简短版本:如何"按需"制作签名URL,以使用Python模拟Nginx的X-Accel-Redirect行为(即保护下载)与Amazon CloudFront/S3.
我有一个Django服务器,并运行Nginx前端.我一直受到了对它的请求的打击,最近不得不将其安装为Tornado WSGI应用程序,以防止它在FastCGI模式下崩溃.
现在我遇到了一个问题,我的服务器陷入困境(因为它的大部分带宽正在用完),因为有太多的媒体请求,我一直在寻找CDN,我相信Amazon CloudFront/S3对我来说是合适的解决方案.
我一直在使用Nginx的X-Accel-Redirect标头来保护文件免受未经授权的下载,但我没有使用CloudFront/S3的能力 - 但是它们确实提供了签名的URL.到目前为止,我不是Python专家,并且肯定不知道如何正确创建签名URL,所以我希望有人可以获得如何"按需"制作这些URL的链接,或者愿意解释如何在这里,我们将不胜感激.
而且,这是正确的解决方案吗?我不太熟悉CDN,是否有更适合这种情况的CDN?
我知道有一种方法可以使用POST直接从Web浏览器上传到S3,而不会将文件发送到您的后端服务器.但有没有办法从URL而不是Web浏览器.
例如,使用post 将位于http://example.com/dude.jpg的文件直接上传到S3.我的意思是我不想将资产下载到我的服务器然后将其上传到S3.我只想向S3发出POST请求并自动上传.
S3Client.ListObjects仅返回1000个对象.如何使用Amazon C#库检索所有现有对象的列表?
我对Elastic Beanstalk的理解是,当您部署新版本的应用程序时,它会一次一个地部署到Amazon EC2实例(如果您有多个).但是,即使至少有两个实例,当我.war在部署它时上传新的应用程序时,我的应用程序会导致短暂的停机时间,就好像它们同时更新它们一样.有没有办法可以确保没有停机时间,并且一个实例在下次启动之前完全更新并接受请求:这是事件的外观.请注意,这是应用程序零负载,因此只会因生产流量而变得更糟.
INFO
Environment update completed successfully.
INFO
New application version was deployed to running EC2 instances.
ERROR
The application did not respond at the health check URL.
INFO
Waiting for 8 seconds while EC2 instances download the updated application version.
INFO
Deploying version SomethingMore to 2 instance(s).
Run Code Online (Sandbox Code Playgroud) deployment amazon-ec2 production-environment amazon-web-services amazon-elastic-beanstalk
我有两个来自Ubuntu图像的EC2实例,它们位于不同的区域.我只是想问一下,他们是否可以通过私有IP地址进行通信?
我已经用安全组打开了所需的端口.我使用netcat来测试通信,但它只在我使用公共IP地址时才有效.
小标准实例是:
小实例(默认)1.7 GB内存,1个EC2计算单元(1个虚拟核心,1个EC2计算单元),160 GB本地实例存储,32位或64位平台
这是否意味着您可以访问整个物理CPU核心?或者您是否与其他实例共享更强大的核心?
您的性能是否受到其他人共享相同"物理核心"或其他硬件的影响?
我正在使用aws lambda函数将存储桶中的上传的wav文件转换为mp3格式,然后将文件移动到另一个存储桶.它工作正常.但是触发有问题.当我上传小wav文件时,lambda函数被调用一次.但是当我上传一个大型的wav文件时,会多次触发此功能.
我已经google了这个问题,发现它是无状态的,所以它会被多次调用(不确定这个触发器是多次上传还是同一次上传).
https://aws.amazon.com/lambda/faqs/
是否有任何方法可以为单个上传调用此函数一次?
现货价格通常远低于EC2服务器的正常按需价格,但价格差异很大.现货价格是否高于按需价格?
如果没有,总是使用最高出价等于普通按需服务器的现货实例是否有意义?这样,现货实例理论上会永远持续下去(因为现货价格永远不会超过最高出价)并且会为您节省大量资金.每个人都已经这样做了吗?
我希望这个问题不是太简陋,但我很困惑......
在S3文档中我读到:
所有HTTP查询都有一个到期参数,允许您设置查询有效的时间.例如,您可以将网页图形配置为在很长一段时间后过期,或者软件下载仅持续24小时.
对于可公开访问的数据对象(文件),这是否意味着数据对象(文件)本身将不再有效,或者浏览器将在到期日期之后简单地重新缓存对象.如果我将期限设置得那么久,我将在十年后失去我的数据吗?或者,如果我设置了24小时的下载,它是否已经过去/无法访问?
如果我没有设置到期日怎么办?
IAM政策是复杂的野兽.在制作它们时添加注释会很不错.例如,
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1422979261000",
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
],
"Comment": "Foo"
# or Bar
"Resource": [
"*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
这些都不奏效.是否存在为这些政策添加评论的方法?
amazon-ec2 ×4
amazon-s3 ×4
cloud ×2
amazon-iam ×1
aws-lambda ×1
c# ×1
cdn ×1
deployment ×1
instances ×1
json ×1
python ×1