Пользовательский aws_lb_listener для aws_elastic_beanstalk_environment с Terraform - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть рабочая среда aws_elastic_beanstalk_environment в Terraform, и я хотел бы добавить к ней перенаправление HTTP в HTTPS.

Я создал aws_lb_listener для этого и хотел бы установить load_balancer_arn, чтобы он указывал на мое приложение Elasti c BeanStalk.

resource "aws_elastic_beanstalk_environment" "default" {
  depends_on          = ["aws_route53_record.cert_dns_validate_record"]
  name                = "${var.app_env_name}"
  application         = "${var.app_env_name}"
  solution_stack_name = "${var.solution_stack_name}"
  ...
}

resource "aws_lb_listener" "http" {
  load_balancer_arn = "${element(aws_elastic_beanstalk_environment.default.load_balancers, 0)}"
  port              = "80"
  protocol          = "HTTP"

  default_action {
    type = "redirect"

    redirect {
      port        = "443"
      protocol    = "HTTPS"
      status_code = "HTTP_301"
    }
  }
}

Когда я пытаюсь сделать это, но я получаю следующую ошибку:

Error: Error creating LB Listener: ValidationError: 'awseb-e-p-AWSEBLoa-1E9JXK93ULR1I' must be in ARN format
    status code: 400, request id: d38933a0-c1e3-43fc-ac22-10659beb86b6

  on ../modules/elasticbeanstalk/environment/main.tf line 420, in resource "aws_lb_listener" "http":
 420: resource "aws_lb_listener" "http" {

Есть идеи, что я могу делать неправильно?

Вот мой полный файл .tf: https://pastebin.com/KhakuvQJ

1 Ответ

0 голосов
/ 07 апреля 2020

Вы должны не манипулировать Elasti c Средой Beanstalk, как это. Это может вызвать проблемы, которые вы даже можете успеть исправить. Я настоятельно рекомендую использовать первый ресурс elastic_beanstalk_configuration_template для управления имеющейся у вас конфигурацией Elasti c Beanstalk по умолчанию. Затем вы можете включить свой шаблон в aws_elastic_beanstalk_environment. Конец дня, Elasti c Beanstalk - это просто фрагмент CloudFormation.

Пожалуйста, прочтите Setting опцию и список опций конфигурации .

...