Я пытаюсь развернуть дистрибутив Cloudfront с помощью Terraform и получаю сообщение об ошибке при указании 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 — уникальный идентификатор.
При выполнении 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. что это такое.
Вы определяете тот же originID в поведении кеша?
@StephenG нет, это запись route53





Ошибка связана с поведением кэша.
Вы должны убедиться, что 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}"
...
что такое
domain_name? это ведро S3?