武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

使用 Amazon CloudFront 交付应用程序的动态内容

  • 2019-09-18
  • 本文字数:1751 字

    阅读完需:约 6 分钟

使用 Amazon CloudFront 交付应用程序的动态内容

许多网站和 Web 应用程序都会组合提供静态内容(HTML、CSS、JPG 或者所有最终访客都可以看到的其他文件)和动态内容(为每个最终访客个性化)。幸运的是,Amazon CloudFront 同时支持这两种内容,以减少延迟,保护基础设施,优化成本。在本博文中,我们将演示如何使用 CloudFront 来通过单个分发同时交付静态内容和动态内容,满足动态和静态网站以及 Web 应用程序的需要。您将会学习如何通过 CloudFront 连接到自定义的动态内容源(在此例中为一个 Amazon EC2 Web 服务器)和用于静态内容的 Amazon S3 存储桶,从而实现这一目标。


为设置用于交付动态内容的源,您首先要创建一个 Amazon S3 存储桶,然后分配一个允许 CloudFront 访问来自 Amazon S3 的数据的策略。然后,您会在一个 Amazon EC2 实例上创建一个 Web 服务器,其中包含您的动态内容,然后创建一个 Amazon IAM 角色并代入该 Amazon EC2 实例。最后,您会创建一个含有两个源的 CloudFront Web 分发,从而安全地从这两个源为用户交付动态和静态内容。


在此 AWS CloudFormation 部署模板中,我们已经简化了此设置过程,因此您仅需要指定两个参数:一个 S3 存储桶名称以及一个将与作为模板的一部分创建的 Amazon EC2 实例关联的 Amazon EC2 密钥对名称。然后一切搞定!


以此模板为起点,还可以方便地构建您自己的自定义工作流。




  1. 选择参数 — 选择下一步,然后在参数页面选择选项。在部署模板时,您需要指定下列参数:


a) 堆栈名称— 输入部署堆栈的名称(尝试提供一定的随机性)。所创建的所有资源(包括 S3 存储桶)都将以此名称为前缀。 注意:堆栈名称中不要使用任何大写字母,因为 S3 的命名规则不允许使用大写字母。


b) EC2 密钥名称— 选择一个现有的 EC2 密钥对名称,以与将使用模板创建的 Amazon EC2 实例关联。如果您没有现有的密钥对,请遵循 Amazon Elastic Compute 云用户指南中的步骤创建一个新的 EC2 密钥对。


c) Ec2vpcid— 选择您希望创建实例以服务示例动态网站的 VPC。


  1. 完成设置步骤 — 选择下一步,然后再次选择下一步。在提示您确认您在使用自定义名称创建 IAM 资源时,选择是。然后单击页面底部的创建更改集,然后再次单击创建更改集。最后选择执行以启动 CloudFormation 堆栈。完成运行可能需要几分钟时间。


堆栈将会创建下列项目:


  • 一个用于存储并仅通过 CloudFront 服务静态内容的 Amazon S3 存储桶

  • 一个包含示例动态内容的 Amazon EC2 实例

  • 一个将由之前创建的 EC2 实例代入的 AWS IAM 角色

  • 一个包含两个源的 Amazon CloudFront 分发,用于分别从 S3 和 EC2 服务静态内容和动态内容


  1. 网站测试— 如要测试动态内容的分发,请执行如下操作:


a) 在“资源”选项卡下打开新创建的 S3 存储桶,然后创建一个新的文件夹,命名为“static”。然后将一个示例 *.png 图像文件上传到该文件夹中,将其命名为 png。


b) 通过您刚刚创建的 CloudFormation 堆栈找到该网站的 URL。在堆栈页面打开输出选项卡。在这里,您可以看到所显示的静态和动态内容的网站 URL,如以下屏幕截图所示:



c) 在键下,您将看到值 MainWebPage。该行显示了包含您的动态内容的 Web 服务器的 URL。您可以将此网站作为起点来实施您自己的网页。DynamicContentCacheTest 行显示了 CloudFront 缓存动态内容的方式。最后,StaticContent 行显示了含有 S3 源上的静态内容的 CloudFront 分发的 URL。


就这么简单! 然后通过类似的流程,您可以创建自己的自定义解决方案,以通过 CloudFront 来交付静态内容和动态内容。


作者介绍:


陈水生


陈水生是 AWS 中国解决方案架构师,负责基于 AWS 云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内和全球的应用和推广,在大规模并发应用架构、高性能计算、边缘计算以及自动化运维等方面有丰富的实践经验。在加入 AWS 之前,在中国平安、IBM 等企业担任解决方案架构师、中间件专家等职位,负责售前方案咨询和架构设计,在数据库、中间件及企业混合云等方面有丰富经验。


相关文章:


https://aws.amazon.com/cn/blogs/networking-and-content-delivery/deliver-your-apps-dynamic-content-using-amazon-cloudfront-getting-started-template/


本文转载自 AWS 博客。


原文链接:


https://aws.amazon.com/cn/blogs/china/deliver-your-apps-dynamic-content-using-amazon-cloudfront-getting-started-template/


2019-09-18 15:09747
用户头像

发布了 1823 篇内容, 共 89.5 次阅读, 收获喜欢 73 次。

关注

评论

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

制造行业全面预算可以这样管!

用友BIP

全面预算

倒计时3天,京东技术20年实践分享邀您莅临!

京东科技开发者

京东云峰会 企业号 7 月 PK 榜

MySQL之InnoDB存储结构 | 京东物流技术团队

京东科技开发者

MySQL 数据库 innodb 企业号 7 月 PK 榜

TiDB简述及TiKV的数据结构与存储 | 京东物流技术团队

京东科技开发者

数据库 TiDB TiKV 底层架构 企业号 7 月 PK 榜

复杂「场景」数据导入导出

不在线第一只蜗牛

前端 场景搭建

温州堡垒机厂商哪家好?咨询电话多少?包含哪些功能?

行云管家

网络安全 堡垒机 温州 温州企业

国企采购堡垒机就选行云管家!优势多多!

行云管家

云计算 云安全 堡垒机 国企

国产替代的新领域:用友BIP积极投身信创生态建设

用友BIP

国产替代

主流开源分析引擎梳理,看看你最中意谁?| StoneDB数据库观察

StoneDB

MySQL 数据库 StoneDB

开发了一个Java库的Google Bard API,可以自动化与AI对话了

快乐非自愿限量之名

Java 数据库 架构搭建

PCB板为什么要做树脂塞孔?

华秋PCB

PCB 电路板 PCB设计 树脂塞孔 高密布线

合约编写基础知识介绍基础篇

BSN研习社

为什么 MySQL 使用 B+ 树?| StoneDB数据库观察

StoneDB

MySQL 数据库 B+树

聊一聊Java中的Steam流 | 京东物流技术团队

京东科技开发者

Java steam 企业号 7 月 PK 榜

用css实现简易报警灯| 社区征文

肥晨

年中技术盘点

CSS架构之BEM设计模式| 社区征文

肥晨

年中技术盘点

实现价值替代,不只是功能替代

用友BIP

国产替代

驱动您的在线成功:解密香港云主机的关键优势

一只扑棱蛾子

香港云主机

Midjourney最强劲的对手来临,SDXL被动开源的浪潮,AI生成图片未来可期 | 社区征文

派大星

年中技术盘点

使用 INFINI Console 实现 Elasticsearch 的增量数据迁移

极限实验室

数据迁移 infini 实现原理 功能介绍 增量迁移

OpenHarmony社区运营报告(2023年6月)

OpenHarmony开发者

OpenHarmony

浅谈常态化压测 | 京东物流技术团队

京东科技开发者

测试 压力测试 常态化压测 企业号 7 月 PK 榜

NLP领域再创佳绩!阿里云机器学习平台 PAI 多篇论文入选 ACL 2023

阿里云大数据AI技术

人工智能 自然语言处理 nlp 企业号 7 月 PK 榜

用友23大行业数智底座解决方案,助力企业高质量发展

用友BIP

数智底座

非常小的一个东西,Spring依赖注入Bean类型的8种情况

不在线第一只蜗牛

前端 spring-boot

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)| 社区征文

肥晨

年中技术盘点

StoneDB 开源社区月刊 | 202301期

StoneDB

开源社区 StoneDB

促进协作、提高生产力:育碧选择Perforce Helix Core的原因

龙智—DevSecOps解决方案

游戏开发 育碧 刺客信条

房地产LED广告显示屏项目方案

Dylan

广告 项目 房地产 LED显示屏

Stable Diffusion AIGC:3步成为P图大师

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

IPD(集成产品开发)是什么?适合什么样的团队?

禅道项目管理

使用 Amazon CloudFront 交付应用程序的动态内容_软件工程_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章