amazon-web-services - 创建 CloudFront 分配时出错:NoSuchOrigin:
问题描述
我正在尝试使用 Terraform 部署 Cloudfront 发行版,并在指定 origin_id 时出错
Cloudfront 通过 Route53 查找指向负载均衡器。
resource "aws_cloudfront_distribution" "my-app" {
origin {
custom_origin_config {
http_port = 443
https_port = 443
origin_protocol_policy = "https-only"
origin_ssl_protocols = ["TLSv1.2"]
}
domain_name = "${var.domain_name}"
origin_id = "Custom-${var.domain_name}"
}
...
default_cache_behavior {
allowed_methods = ["GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "DELETE"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "${local.origin_id}"
...
其中var.domain_name
是 route53 记录,并且local.origin_id
是唯一 ID。
执行 terraform apply 时出现此错误:
aws_cloudfront_distribution.my-app: error creating CloudFront Distribution: NoSuchOrigin: One or more of your origins or origin groups do not exist.
文档指出:origin_id (Required) - A unique identifier for the origin.
它是。
解决方案
该错误与缓存行为有关。您需要确保 与target_origin_id
缓存origin_id
行为相关。
像这样:
resource "aws_cloudfront_distribution" "my-app" {
origin {
custom_origin_config {
http_port = 443
https_port = 443
origin_protocol_policy = "https-only"
origin_ssl_protocols = ["TLSv1.2"]
}
domain_name = "${var.domain_name}"
origin_id = "Custom-${var.domain_name}"
}
...
default_cache_behavior {
allowed_methods = ["GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "DELETE"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "Custom-${var.domain_name}"
...
推荐阅读
- algorithm - 从仓库拣货的算法
- sitecore - 当您从体验编辑器创建和保存数据源时,Sitecore 中的工作流状态为空白
- kubernetes - windows下安装多节点kubernetes集群
- javascript - 使用javascript获取div中的span元素
- reactjs - 通过使用 Jest 在 Router 中将函数作为 props 传递来测试函数
- excel - VBA用数字删除整行(For循环的变量)
- r - 使用后删除匹配条件的行
- ios - Fabric Crashlytics 中的 probeGC 崩溃
- python - seaborn violinplot中的四分位数线属性
- python - 在python中将文本文件作为字符串列表读取