Ошибка при создании цели автоматического масштабирования приложения на AWS при использовании Terraform - определение `scalable_resource` для пользовательского` aws_appautoscaling_target` - PullRequest
0 голосов
/ 13 апреля 2020

Цель

Я внедряю решение для автоматического масштабирования потоков данных Kinesis.

Одно возможное решение, которому я следую, хорошо документировано в репо aws -samples / aws -application-auto-scaling-kinesis . Однако в примере кода используется шаблон yaml. Я sh определю то же самое, используя .

До сих пор история

При попытке создать масштабируемую цель для my_custom_resource,

resource "aws_appautoscaling_target" "my_custom_resource" {
  resource_id        = "https://${aws_api_gateway_rest_api.my_api.id}.execute-api.${var.region}.amazonaws.com/prod/scalableTargetDimensions/${var.stream}"
  scalable_dimension = "custom-resource:ResourceType:Property"
  service_namespace  = "custom-resource"
}

Все атрибуты были построены, следуя AWS Автоматическое масштабирование документов

Этот же ресурс создается с помощью CloudFormation в связанном репо AWS:

KinesisAutoScaling:
  Type: AWS::ApplicationAutoScaling::ScalableTarget
  DependsOn: LambdaScaler
  Properties:
    ResourceId: !Sub https://${MyApi}.execute-api.${AWS::Region}.amazonaws.com/prod/scalableTargetDimensions/${MyKinesisStream}
    ScalableDimension: 'custom-resource:ResourceType:Property'
    ServiceNamespace: custom-resource

Примечание: нерелевантные атрибуты опущены для краткость.

Проблема

terraform apply приводит к следующей ошибке:

<b>Error: Error creating application autoscaling target:  
ValidationException: Validation failed for resource:  
https://k5df89sd23.execute-api.us-west-1.amazonaws.com/prod/scalableTargetDimensions/my-test-stream,  
scalable dimension: custom-resource:ResourceType:Property.  
Reason: Scalable resource not found</b>

  on application-autoscaling.tf line 9, in resource "aws_appautoscaling_target" "my_custom_resource":  
   9: resource "aws_appautoscaling_target" "my_custom_resource" {

Что может быть неправильным в определении терраформы?


Мне известно, что Terraform поддерживает шаблоны CloudFormation с использованием aws_cloudformation_stack - обходной путь, который я искренне sh избегаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...