我的 CloudFormation 模板中有一个 S3 存储桶作为资源,DeletionPolicy设置为Retain. 这按预期工作:删除堆栈时,它确实保留了存储桶。但是,当我尝试再次创建堆栈时,尝试再次创建同一个存储桶时创建失败,并显示一条错误消息,抱怨它已存在。
我需要向我的 CloudFormation 模板添加什么才能使其不尝试重新创建已存在的资源?
我的模板相关片段如下:
"Resources": {
"SomeS3Bucket" : {
"Type" : "AWS::S3::Bucket",
"DeletionPolicy" : "Retain",
"Properties": {
"BucketName": "SomeS3Bucket"
}
}
Run Code Online (Sandbox Code Playgroud) 我们刚刚迁移到亚马逊 AWS。我们目前有一个运行良好的 EC2 实例。它在前端运行 Nginx,在后端运行 Apache。这也运行良好。所有站点都已正确启动,并包含从 EC2 提供的文件的 Cache-Control 标头。
问题在于我们放置在Amazon S3中的所有静态文件都是通过CloudFront CDN访问的。我们可以正常访问文件(并且 CORS 没有问题),但显然CloudFront 不提供带有 Cache-Control 标头的文件。我们想利用浏览器缓存。
在我看来,EC2 实例在这里不起作用,因为静态文件由 S3+CloudFront 直接提供,请求不会转到 EC2 中的 Web 服务器。
我完全迷失了。
问题:1)在这种情况下如何设置Cache-Control?2)是否可以设置Cache-Control?从 S3 还是 CloudFront?
注意:我在 Google 中找到了几个页面,您可以在其中为单个对象设置 S3 中的 Header。这真的不是一种特别有效的方法,因为在我的情况下,我们正在谈论几个对象。
谢谢!
对于我用来测试 devops 管道的简单应用程序,我将构建的开始时间输出到主页。在我的开发机器上,我期望的 ISO-8601 时间戳年份 2019 被打印出来(特别是“2019-09-12T20:11:00.000Z”)。当使用 AWS CodeBuild 构建相同的代码库时,ISO-8601 时间戳看起来像“+051668-02-09T08:09:32.000Z”。什么是“+051668”?我想是今年;我最好的猜测是它的年份表示为不同的日历。想法?
AWS CodeBuild 为每个构建 (CODEBUILD_START_TIME) 设置此环境变量。我正在使用他们最新的默认 Ubuntu 容器 (v2.0) 进行构建。
我对系统管理相当陌生,我只是想确保 nginx 在我的 Amazon EC2 实例(运行 Amazon linux)上启动时运行
我已经将脚本放在/etc/init.d 中了,但是Amazon linux 似乎没有自带update-rc.d 命令。那么如何确保脚本在启动时运行?
我尝试将现有的 EBS 存储(包含数据)安装到实例,但它不断抛出此错误。
mount: wrong fs type, bad option, bad superblock on /dev/xvdf,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
Run Code Online (Sandbox Code Playgroud)
存储细节是:
ec2-user@ip ~]$ sudo parted -l
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
128 1049kB 2097kB 1049kB BIOS Boot Partition bios_grub
1 2097kB 8590MB …Run Code Online (Sandbox Code Playgroud) 我们有一个从外部数据源加载一些配置文件的任务。上传设置后,我们希望能够重新启动服务中的所有任务,以便设置传播到所有实例。
重新启动所有服务的最佳方法是什么?
我们有一个“解决方法”,包括将“任务数”设置为 0 然后备份,但这绝对不是它应该完成的方式并且有停机时间。
当我尝试使用 Elastic Beanstalk 在 EC2 上部署我的 php 应用程序时收到一条消息。
Environment named *** is in an invalid state for this operation. Must be Ready.
Run Code Online (Sandbox Code Playgroud)
我无法部署。服务器状态正在运行,没有警告。
在这一点上,我的经验非常有限。我该如何解决这个问题?
在创建实例时,我对 EBS 和 SSD 的选择感到困惑。
在选择实例参数(步骤 2)时,您将在Instance Storage (GB)列中看到 2 个选项: 仅 EBS 或 SSD。
我不知道为什么会有这个选项,因为 SSD 和 EBS 是不同的东西,为什么我会选择一个而不是另一个。
下面的实例存储 (GB)的定义 与上面的矛盾,因为 all is persistant 。(如果您将鼠标悬停在列名称上,您会看到此定义)
实例可用的本地实例存储卷。实例存储中的数据不是永久性的 - 它仅在实例的生命周期内持续存在。
为什么在第 4 步中我需要在 SSD 或磁性之间进行选择?
任何澄清都会有所帮助。
我正在启动一个免费层实例,我不想意外超过限制。我怎么做?
我正在做:
aws iam upload-server-certificate --server-certificate-name MysiteCertificate --certificate-body Downloads/mysite/mysite.crt --private-key mysite.pem --certificate-chain Downloads/mysite/COMODOSSLCA.crt
Run Code Online (Sandbox Code Playgroud)
我收到一个错误: A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to parse certificate. Please ensure the certificate is in PEM format.
pem虽然它是一个有效的文件 =(
amazon-ec2 ×3
amazon-s3 ×2
amazon-ebs ×1
amazon-ecs ×1
cache ×1
cdn ×1
date ×1
docker ×1
mount ×1
ssd ×1
time ×1
unix ×1