基础介绍:
Amazon CloudFront 是一种快速的内容分发网络 (CDN) 服务,可以在开发人员友好环境中以低延迟和高传输速度向全球客户安全分发数据、视频、应用程序和 API。以下场景均是使用aws国外区域演示
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。各种规模和行业的客户可以为几乎任何使用案例存储和保护任意数量的数据,例如数据湖、云原生应用程序和移动应用程序。借助高成本效益的存储类和易于使用的管理功能,您可以优化成本、组织数据并配置精细调整过的访问控制,从而满足特定的业务、组织和合规性要求。天然的和CDN形成了常规架构模型
A账号的CDN 配置B账号的S3桶
分两种场景
1.公开桶
2.私有权限桶
提前上传好一个测试文件
1.公开桶
B账号:1.公开桶
对应桶策略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<s3-name>/*"
}
]
}
复制服务端点备用
A账号:CDN操作
创建cdn 输入上一步的服务端点地址,源路径url 按照你的需求来配,保证cdn 长域名能被访问
创建对应行为路由规则
测试效果
2.私有桶
A账号CDN配置
创建cdn源接口
创建配置cdn
B账号S3配置权限
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "AllowCloudFrontServicePrincipal",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<s3-name>/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::904115123825:distribution/<CDN-ID>"
}
}
}
]
}
测试