-
具有足够 AWS Identity and Access Management (IAM) 权限的
AWS账户,可以创建 Amazon CloudFront 分配 和Lambda函数。 -
一个
us-east-1区域下的Amazon S3存储桶,以便向其上传Lambda部署包。 -
一个预先创建好的
S3多区域接入点。 -
安装并 配置 好的 AWS 命令行 (CLI) 以部署
CloudFormation模版。 -
Node.js 20 或更高版本,建议使用 nvm 管理你的
Node.js版本。 -
该解决方案的
GitHub存储库。你可以使用 Git 命令从终端克隆存储库。 -
用于打包
Lambda部署包的zip命令行工具。通常可使用软件包管理器快速安装。 -
用于发出
HTTP请求的 curl 命令行工具。通常curl预装在现代操作系统上。
./deploy_get.sh 'MrapX-Get-Demo' 'clst-lambda-pkg' 'mrap-sg-01' 'm7xo58b1n6jet.mrap'- 第一个参数(必须):
CloudFormation堆栈名。 - 第二个参数(必须):预先创建好的
us-east-1区域下的用来临时存储Lambda部署包的Amazon S3存储桶名。 - 第三个参数(必须):预先创建好的承担故障转移功能的
Amazon S3存储桶名。 - 第四个参数(必须):预先创建好的
S3多区域接入点别名。 - 第五个参数(可选):
AWS CLI配置名。
堆栈会被部署在 us-east-1 区域。
部署完成后可在 CloudFormation 资源页查看 CloudFront 的分配 ID,在输出页查看对应的域名。
- 往
S3多区域接入点关联的任一存储桶手动上传文件,待跨区域复制(CRR)将文件同步到其他存储桶后,通过CloudFront分配的域名下载该文件。 - 往承担故障转移功能的
Amazon S3存储桶手动上传文件,立即通过CloudFront分配的域名下载该文件。
./clean.sh 'MrapX-Get-Demo'CloudFormation可能无法删除Lambda函数版本,因为它是与CloudFront发行版关联的复制函数。在这种情况下,请在几个小时后再次尝试删除Lambda函数。 有关更多信息,请参阅 删除 Lambda@Edge 函数和副本。
./deploy_put.sh 'MrapX-Put-Demo' 'clst-lambda-pkg' 'mrap-sg-01' 'm7xo58b1n6jet.mrap'- 第一个参数(必须):
CloudFormation堆栈名。 - 第二个参数(必须):预先创建好的
us-east-1区域下的用来临时存储Lambda部署包的Amazon S3存储桶名。 - 第三个参数(必须):预先创建好的承担故障转移功能的
Amazon S3存储桶名。 - 第四个参数(必须):预先创建好的
S3多区域接入点别名。 - 第五个参数(可选):
AWS CLI配置名。
堆栈会被部署在 us-east-1 区域。
部署完成后可在 CloudFormation 资源页查看 CloudFront 的分配 ID,在输出页查看对应的域名。
- 为可信密钥组创建密钥对。
- 通过
CloudFront控制台上传公钥。 - 通过
CloudFront控制台创建密钥组,并将公钥添加到密钥组。 - 修改分配的行为,打开限制查看器访问,关联密钥组。
- 重新设置密钥对格式,导出
DER格式的私有密钥。 - 使用 Java 创建 URL 签名。
- 通过签名
URL,执行POST方法上传文件,请求体为文件流。 - 通过下载流程的
CloudFront分配域名执行GET方法下载文件。
./clean.sh 'MrapX-Put-Demo'CloudFormation可能无法删除Lambda函数版本,因为它是与CloudFront发行版关联的复制函数。在这种情况下,请在几个小时后再次尝试删除Lambda函数。 有关更多信息,请参阅 删除 Lambda@Edge 函数和副本。