我想使用我的域链接来访问 s3 对象而不是 s3 对象链接

问题描述 投票:0回答:1

我正在进行 OTA 更新,我的要求是我需要一个域链接,物联网设备将从该域链接获取更新文件(将存储在 s3 中),如何通过域链接链接 s3 存储桶(由于物联网设备限制,无法直接使用 s3 存储桶链接)?

amazon-web-services amazon-s3 amazon-route53 aws-iot
1个回答
0
投票

如果您需要自定义域来提供 S3 存储桶中的文件,您可以将 Amazon CloudFront 与 Amazon Route 53 结合使用来实现此目的。这是一个逐步过程:

  1. 创建 S3 存储桶:

    • 创建一个 S3 存储桶,用于存储 OTA 更新文件。
    • 确保 S3 存储桶中的文件可公开读取(或设置适当的存储桶策略),以便 CloudFront 可以访问它们。
  2. 创建 CloudFront 分配

    • 打开 CloudFront 控制台并创建新的分配。
    • 对于源,选择您的 S3 存储桶。
    • 确保分配设置为“使用所有边缘位置(最佳性能)”。
    • 记下分发域名(例如,
      d12345abcdwq.cloudfront.net
      )。
  3. 设置 SSL:

    • 要将 HTTPS 与您的自定义域结合使用,请在 AWS Certificate Manager (ACM) 中请求或导入 SSL 证书。
    • 验证后,请在“SSL 证书”部分中将此证书分配给您的 CloudFront 分配。
  4. 配置路线 53:

    • 使用 Route 53 购买域或转移现有域。
    • 在您域的托管区域中创建新的“A”记录集。
    • 将别名目标设置为您的 CloudFront 分配域名(来自步骤 2)。
    • 现在,您的自定义域将指向 CloudFront 发行版,后者又从您的 S3 存储桶中获取文件。
  5. 使用自定义域访问文件:

    • 完成上述设置后,您可以使用自定义域访问 S3 存储桶中的文件。例如,如果您的自定义域是
      updates.mydomain.com
      ,并且您的 S3 存储桶中有一个名为
      update.bin
      的文件,您可以通过
      https://updates.mydomain.com/update.bin
      访问它。
  6. 限制直接 S3 存储桶访问(可选):

    • 如果您想确保只能通过 CloudFront(和您的自定义域)访问文件,而不是直接从 S3 URL 访问,您可以更新 S3 存储桶策略以限制仅访问 CloudFront。这可以使用存储桶策略中的
      aws:Referer
      条件或仅允许 CloudFront 源访问身份访问 S3 存储桶来实现。
© www.soinside.com 2019 - 2024. All rights reserved.