写点什么

Amazon S3 路径弃用计划

  • 2019-09-30
  • 本文字数:2252 字

    阅读完需:约 7 分钟

Amazon S3 路径弃用计划

上周,我们相当低调地(事实上是过于低调地)宣布了我们的计划,准备缓慢而谨慎地弃用用于指定 S3 存储桶中对象地址的基于路径的访问模型。为了撰写此博文,我花了一些时间与 S3 团队交谈,以便更好地了解情况。我了解到的情况如下…


我们在 2006 年初推出了 S3。Jeff Bezos 最初提出的 S3 规范非常简洁 – 他想在 Internet 中使用 malloc(C 程序的关键内存分配功能)。以此为起点,S3 已经发展到现在可以存储数万亿个对象,并且每秒可处理针对这些对象的数百万个请求。在过去的 13 年中,我们为 S3 增添了许多新的存储选项、功能和安全控制措施。


旧与新的比较


S3 目前支持两种不同的寻址模型:路径式和虚拟托管式。让我们快速了解一下这两种模型。路径式模型看起来是这样的(全局 S3 终端节点):


https://s3.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg


https://s3.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png


或这样的(区域 S3 终端节点之一):


https://s3-us-east-2.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg


https://s3-us-east-2.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png


在此示例中,jbarr-public 和 jeffbarr-public 是存储桶名称;/images/ritchie_and_thompson_pdp11.jpeg 和 /jeffbarr-public/classic_amazon_door_desk.png 是对象键。


即使这些对象由不同的 AWS 账户拥有并位于不同的 S3 存储桶中(还可能位于不同的 AWS 区域中),但它们都位于 DNS 子域 s3.amazonaws.com 中。在我们查看等效的虚拟托管式引用时,请记住这一点(尽管您可能认为它们是“新的”,但它们至少从 2010 年就开始存在了):


https://jbarr-public.s3.amazonaws.com/images/ritchie_and_thompson_pdp11.jpeg


https://jeffbarr-public.s3.amazonaws.com/classic_amazon_door_desk.png


这些 URL 引用相同的对象,但这些对象现在位于不同的 DNS 子域中(分别在 jbarr-public.s3.amazonaws.com 和jeffbarr-public.s3.amazonaws.com 中)。虽然差别很小,但非常重要。在使用 URL 引用对象时,DNS 解析用于将子域名映射到 IP 地址。在路径式模型中,子域始终是 s3.amazonaws.com 或其中一个区域终端节点;在虚拟托管式模型中,子域特定于存储桶。这种额外等级的终端节点特异性是打开 S3 许多重要改进之门的关键。


除旧


针对我们上周宣布的原始弃用计划的反馈,我们将做出重大更改。下面是执行摘要:


原始计划 – 对路径式模型的支持将于 2020 年 9 月 30 日终止。


修订后的计划 – 2020 年 9 月 30 日或之前创建的存储桶将继续支持路径式模型。在该日期之后创建的存储桶必须使用虚拟托管模型引用。


我们迁移到虚拟托管引用的原因有二:


首先,我们预计会在数十个区域拥有数十亿个存储桶,因此随着时间推移,将所有传入请求直接路由到一小组终端节点会越来越没有意义。在这个集中式模型中,DNS 解析、扩展、安全性和流量管理(包括 DDoS 防护)更具挑战性。在出现问题时,虚拟托管模型能够缩小影响区域(我们在内部称之为“爆炸半径”);这有助于我们提高可用性和性能。


其次,团队还在开发大量强大功能,其中许多功能需要使用独特的虚拟托管式子域。迁移到此模型将使您在发布这些新功能后立即从中受益。例如,我们计划弃用某些最陈旧的安全密码和版本(稍后将详细介绍)。如果您使用的是虚拟托管引用,则弃用过程会更简单、更顺畅(无论是对您还是对我们都是如此)。


布新


举例来说,使用虚拟托管引用时可能实现的一项功能是,我们正在考虑为您提供对每个存储桶的安全配置(包括密码和密码版本)的更多控制。如果您有自己的想法,请随时与我们联系。


向前迈进


以下是关于我们的计划的一些信息:


识别路径式引用 – 您可以使用 S3 访问日志(查找 Host Header 字段)和 AWS CloudTrail 数据事件(查找 requestParameters 条目的 host 元素)识别正在进行路径式请求的应用程序。


编程性访问 – 如果您的应用程序使用某个 AWS 开发工具包 访问 S3,则除了确保您的开发工具包是最新版本之外,您无需执行任何操作。SDK 已经对 S3 使用虚拟托管引用,除非存储桶名称包含一个或多个“.”字符。


包含点的存储桶名称 – 请务必注意,包含“.”字符的存储桶名称对于网站托管和其他使用案例完全有效。但是,TLS 和 SSL 证书存在一些已知问题。我们正在努力制定计划来支持虚拟托管对这些存储桶的请求,并将在 2020 年 9 月 30 日之前分享详细信息。


不可路由的名称 – 某些在 URL 的路径组件中有效的字符不适合作为域名的一部分。此外,路径区分大小写,但域名和子域名不区分大小写。自去年以来,我们一直在对新的存储桶名称实施更严格的规定。如果您的数据位于具有不可路由名称的存储桶中,并且您想要切换到虚拟托管请求,则可以使用新的 S3 批处理操作功能来移动数据。但是,如果这个选项不可行,请联系 AWS 开发人员支持。


文档 – 我们计划更新 S3 文档,以鼓励所有开发人员构建使用虚拟托管请求的应用程序。虚拟托管文档是一个很好的起点。


我们可随时为您提供帮助


S3 团队一直与我们的一些客户合作来帮助他们迁移,他们已准备好与更多客户合作。


我们的目标是使本次弃用顺利平稳,我们希望尽可能帮助减少您可能产生的任何成本! 如果您有任何问题、疑问或疑虑,请随时与我们联系。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/amazon-s3-path-deprecation-plan-the-rest-of-the-story/


2019-09-30 15:19726
用户头像

发布了 1912 篇内容, 共 147.9 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

揭秘华为云GaussDB(for Influx):最佳实践之数据建模

华为云开发者联盟

MySQL 数据建模 数据模型 华为云 GaussDB(for Influx)

Go单体服务开发最佳实践

万俊峰Kevin

微服务 单体架构 web开发 go-zero Go 语言

BIGO 的数据管理与应用实践

NebulaGraph

数据库 图数据库 数据管理

REDIS集群安装运维调优及常见问题处理

IT巅峰技术

DevSecOps“内置安全保护”,让软件研发“天生健康”

华为云开发者联盟

DevOps DevSecOps 软件研发 安全架构设计 安全隐私

英特尔分享进军独显市场的背后思考

科技新消息

《数字经济全景白皮书》Z世代用户洞察篇(3)重磅发布!

易观分析

用户分析 Z世代

Swoole中的协程使用相关说明,快来围观

CRMEB

【易安联】安全都是有边界的,零信任也不例外

极客天地

想参加培训学习web前端不知道靠不靠谱

@零度

web前端开发

【阿里云大咖说】填问卷送好礼正式上线,快来参与吧!

大咖说

大咖说 问卷 礼品

Docker下,极速体验编译pinpoint1.6.x分支

程序员欣宸

Java 分布式 4月月更

双许可、先决条件、附加条款……开源许可证的疑难杂问

一君

培训学习选择java好还是前端好

@零度

JAVA开发 web前端

JavaScript的事件循环机制浅析

程序猿布欧

JavaScript 前端 前端面试 防抖节流

一文详解Java日志框架JUL

华为云开发者联盟

Java 日志 框架 日志框架 JUL

“一个扫描枪一张表”,韵达选择 TDengine 应对每日亿级数据量

TDengine

数据库 tdengine

眼见不一定为实:调用链HBase倾斜修复

捉虫大师

HBase 数据倾斜 4月月更

源码解析Synchronous Queue 这种特立独行的队列

华为云开发者联盟

MQ 堆栈 队列 Synchronous Queue 公平队列

什么是敏捷开发,敏捷开发落地指南之迭代排期

阿里云云效

云计算 阿里云 敏捷开发 研发 研发敏捷

这是一个有关自律的复杂故事

Coffee Cat

数据分析 监控 自律 跑步 可观测

javaScript深拷贝和浅拷贝简单梳理

程序猿布欧

JavaScript 前端 深拷贝 浅拷贝 深拷贝与浅拷贝

企评家,助力创业板企业成长性评价

企评家

企业评价 企业大数据 创业板 评价维度 成长性

C语言总结_数组与函数传参练习题

DS小龙哥

4月月更

在MAUI中使用Masa Blazor

MASA技术团队

C# .net 微软 组件 组件库

超干货 | 手把手教你快速构建一个企业自有“微信”!

融云 RongCloud

Docker知识对应验证

Docker 4月月更

知识管理:新时代企业竞争力核心

小炮

企业知识管理 企业知识管理工具

大数据培训学习程序员有必要吗

@零度

大数据开发

为安全而生!浪潮云参编的《数据安全法》实施参考(第一版)重磅发布

云安全

活动预告 | 洞见科技纪凯受邀出席「隐私计算应用与发展论坛」

洞见科技

Amazon S3 路径弃用计划_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章