AWS CloudFront 是一项适用于 Web 和视频分发的快速内容传输服务,可以提供高速缓存内容并保护应用程序免受 DDoS 攻击。@aws-cdk/aws-cloudfront 是一个 AWS CDK 构造库,可让开发人员使用 TypeScript 或 JavaScript 构建 CloudFront 分发并管理 CloudFront 表示层策略和缓存行为。本文将详细讲解如何在项目中使用该 npm 包。
安装 npm 包
要在项目中使用 @aws-cdk/aws-cloudfront,需要在命令行中使用 npm 或 yarn 安装它。请确保您已经正常安装了这些软件包管理工具。
npm install @aws-cdk/aws-cloudfront # or yarn add @aws-cdk/aws-cloudfront
构建 CloudFront 分发
首先,您需要引入 @aws-cdk/aws-cloudfront
的所有必要组件。
import { CloudFrontWebDistribution, OriginProtocolPolicy } from '@aws-cdk/aws-cloudfront'; import { Bucket } from '@aws-cdk/aws-s3'; import { Stack, StackProps, Construct } from '@aws-cdk/core';
接下来,设置 CloudFront 分发的配置,例如来源 bucket、错误页面、已启用的协议策略等等。
-- -------------------- ---- ------- ------ ----- ---------- ------- ----- - ------------------ ---------- --- ------- ------- ----------- - ------------ --- ------- ----- ------------ - --- ------------ ------------- ----- ------------ - --- ------------------------------- ----------------- - -------------- - - --------------- - --------------- ------------ -- ---------- -- ------------------ ---- --- -- -- -------------------- - - ---------- ---- ------------- ---- ----------------- -------------- -- -- --------------------- -------------------------------- --- - -
此处的 sourceBucket
只是一个 Amazon S3 存储桶,用于存储您的 Web 应用程序文件。
启动 CDK 程序,如果您还没有配置
AWS 认证,请根据提示操作,将 CloudFormation 栈部署到您的 AWS 账户。
npx cdk bootstrap npx cdk deploy
在成功执行以上命令后,您应该能够在 AWS 服务控制台中看到您的 CloudFront 分发。
修改策略和缓存行为
除了基本配置,您还可以自定义 CloudFront 分发的更多行为,例如访问控制、缓存过期等等。
-- -------------------- ---- ------- ----- ------------ - --- ------------------------------- ----------------- - -------------- - - --------------- - --------------- ------------- --------------------- --- -------------------------- -------------------------- -- ---------- -- ------------------ ---- --- -- -- -------------------- - - ---------- ---- ------------- ---- ----------------- ------------ ------------------- ----- -- -- --------------------- -------------------------------- ----------- --------------------------- ------------ ------------------ ---
在上面的示例中,我们指定了一个名为 S3OriginAccessIdentity
的 OriginAccessIdentity 以控制 S3 桶的访问权限。还设置了一个 404 错误页面,其中 errorCachingMinTtl
将缓存错误页面的最小 TTL 设置为 5 秒。
更多详细的选项,请参阅 AWS CloudFront API 文档。
总结
本文介绍了如何在项目中构建和管理 CloudFront 分发,您可以使用 @aws-cdk/aws-cloudfront 快速实现这一目标。了解这一过程,可以让前端开发人员更好地理解和掌握云计算服务,并为项目提供更强大的开发和测试支持。
示例代码
完整的示例代码可以在下面找到。
-- -------------------- ---- ------- ------ - -------------------------- -------------------- - ---- -------------------------- ------ - ------ - ---- ------------------ ------ - ------ ----------- --------- - ---- ---------------- ------ - ---------- - ---- -------------------------- ------ - ----------- - ---- -------------------------- ------ - -------------------- - ---- -------------------------- ------ ----- ---------- ------- ----- - ------------------ ---------- --- ------- ------- ----------- - ------------ --- ------- ----- ------------ - --- ------------ ------------- ----- ------------ - --- ------------------------------- ----------------- - -------------- - - --------------- - --------------- ------------- --------------------- --- -------------------------- -------------------------- -- ---------- -- ------------------ ---- --- -- -- -------------------- - - ---------- ---- ------------- ---- ----------------- ------------ ------------------- ----- -- -- --------------------- -------------------------------- ----------- --------------------------- ------------ ------------------ --- - -
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/aws-cdk-aws-cloudfront