我们有一些使用 s3 作为后端的 terraform 配置。我们有多个 AWS 账户,每个环境对应一个账户。
在所有环境和跨多个区域中,我们使用了不同的 s3 存储桶和 dynamodb_table 名称,这些名称目前不遵循有效的约定,并且很难从名称中识别存储桶的用途。现在,我们希望对所有 s3 terraform 状态存储桶遵循基于约定的命名。为此,我需要将现有 terraform 资源的状态迁移到新的 s3 存储桶。
我不确定实现这一目标的最佳方法是什么,而无需在旧状态存储桶上运行销毁并应用于新状态存储桶。
我能想到的一些选择如下,但我不确定它们是否正确。
.terraform并非如此。因此,我可以使用新存储桶更改源代码,提交它并从此提交创建一个新的 git 标签。现在,当实际进行迁移时,我会检查环境中使用的旧 git 标签,运行terraform init,检查新的 git 标签并terraform init再次运行,理想情况下会询问我是否要进行迁移并执行必要的操作。这个过程与 terraform在这里建议的类似,但我不确定的是,这种方法是否会在我期望的运动中发挥作用。PS:我认为重命名 DynamoDB 表或仅使用新表而不是旧表可以开箱即用,因为我将确保在进行状态迁移时,我没有任何正在进行的实时 terraform 运行。
我在公共 S3 存储桶中有很多长(45 分钟 - 90 分钟)MP4 视频,我想使用AVPlayer.
我经常AVPlayerViewController播放它们,但我需要等待几分钟才能开始播放,因为它会下载整个视频而不是流式传输。
我在本地缓存它,所以这只是第一次发生,但我很想流式传输视频,这样用户就不必等待整个视频下载。
有些人指出我需要 Cloudfront 来流式传输视频,但在文档中,我读到只有当很多人流式传输同一个文件时才需要这样做。我正在构建 MVP,所以我只需要一个简单的解决方案。
有没有办法从 S3 存储桶流式传输 MP4 视频,而AVPlayerViewController无需在向用户播放之前完全下载文件?
我正在curl使用一个重定向到 S3 存储桶的端点。
我必须将一些大标头传递给我的请求,但由于超出了最大标头大小,该请求失败了:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>RequestHeaderSectionTooLarge</Code>
<Message>Your request header section exceeds the maximum allowed size.</Message>
<MaxSizeAllowed>8192</MaxSizeAllowed>
<RequestId>AP394DD4D4F133</RequestId>
<HostId>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)
有没有办法在 S3 级别对此进行调整并增加允许的最大标头大小?
使用FFmpeg录制直播流。
实际上,它是一个平台,某人可以在其中进行直播(相机或屏幕),其他人可以以视图的形式加入流。
直播的人可以选择录制该直播。FFmpeg正在使用录制流。
正在以文件格式记录流WEBM。
问题是 FFmpeg 抛出错误。
WebM 仅支持 VP8 或 VP9 或 AV1 视频以及 Vorbis 或 Opus 音频和 WebVTT 字幕。
无法为输出文件 #0 写入标头(编解码器参数不正确?):参数无效
记录流的命令如下。
ffmpeg -loglevel debug -protocol_whitelist pipe udp rtp
-fflags+genpts -f sdp -i pipe:0 -map 0:v:0 -c:v copy
-map 0:a:0 -strict -2 -c:a copy -flags +global_header 1234_VIDEO_1671647432529.webm
Run Code Online (Sandbox Code Playgroud)
| 服务 | 版本 |
|---|---|
| 服务器(EC2) | AWS Linux 2 |
| FFmpeg版本 | 4.3.2-静态 |
注意:两周前,同一个命令正在运行。
我们有一个当前使用 SSL/TLS 证书的 PostgreSQL RDS 实例rds-ca-2019。建议更新到新的 CA。
选项为rds-ca-ecc384-g1、rds-ca-rsa4096-g1、 或rds-ca-rsa2048-g1。
CA 之间有什么区别?
我有一个应用程序将用于处理一些高度敏感的文档。
目的是通过我的应用程序将这些文档上传到 S3。这些文档也只能由我的应用程序根据需要检索。
正如我所读到的,S3 提供服务器端加密 (SSE),其中数据分别在上传/下载时透明地加密和解密。
既然如此,这似乎是我对 S3 存储桶进行的任何错误配置,或者如果我的 AWS 凭证遭到泄露,攻击者就可以访问我在 S3 中的所有敏感数据。我知道我应该确保不会错误配置 S3 并保护我的凭据,但我也知道事情会发生。
基本上,据我所知,服务器端加密实际上是一个“勾选框”类型的选项,允许您说您有静态加密,但不能保护您免受最常见的 S3 数据泄漏(存储桶配置错误和信用受到损害)。
言归正传,客户端加密似乎是我的最佳选择。也就是说,我还没有读到很多关于在整个数据生命周期中管理用于在客户端加密数据的密钥的好选择。
我的问题是
我正在尝试curl使用 Homebrew安装brew install curl。
但是,安装失败并显示:
下载的 GitHub Packages 清单已损坏或修改(不是有效的 JSON
==> Downloading https://ghcr.io/v2/homebrew/core/brotli/manifests/1.0.9
Already downloaded: /Users/currentuser/Library/Caches/Homebrew/downloads/922ce7b351cec833f9bd2641f27d8ac011005f8b1f7e1119b8271cfb4c0d3cd7--brotli-1.0.9.bottle_manifest.json
Error: curl: Failed to download resource "brotli_bottle_manifest"
The downloaded GitHub Packages manifest was corrupted or modified (it is not valid JSON):
/Users/currentuser/Library/Caches/Homebrew/downloads/922ce7b351cec833f9bd2641f27d8ac011005f8b1f7e1119b8271cfb4c0d3cd7--brotli-1.0.9.bottle_manifest.json
Run Code Online (Sandbox Code Playgroud)
有什么问题吗?
如果我的 ECS 任务中运行的代码严格是单线程的,并且不使用并行化或多线程,那么是否可以安全地假设为该任务分配超过 1 个 vCPU 不会对其性能产生影响?会浪费吗?
1024在内存值相同的情况下,使用(1 个 vCPU)与(2 个 vCPU)运行相同的单线程容器2048不会利用额外的 vCPU,对吗?
在不使用集群的 Node.js 应用程序的上下文中,这将如何工作?
您可以指定 SQS 作为 Lambda 函数的事件源,并可以选择定义批处理窗口持续时间。
您还可以指定WaitTimeSeconds呼叫的ReceiveMessage。
这两种设置之间的主要区别是什么?
有哪些用例?
目前,我已经创建了一个 Aurora Serverless v2 MySQL 数据库集群。
当谈到使用查询编辑器时,我收到以下消息:
没有支持查询编辑器的数据库
目前,查询编辑器仅支持 Aurora Serverless 数据库。仅显示您有权访问的 Aurora Serverless 数据库。
要使用数据库的查询编辑器,数据库必须启用数据 API。
“附加连接”部分中的“数据 API”选项不再可用,而且我找不到它,因此我跳过了它。
amazon-s3 ×4
amazon-ecs ×1
amazon-rds ×1
amazon-sqs ×1
avplayer ×1
aws-fargate ×1
aws-lambda ×1
encryption ×1
ffmpeg ×1
h.264 ×1
homebrew ×1
ios ×1
node.js ×1
swift ×1
terraform ×1
video ×1