awsvp c: Конфигурация сети недопустима для данного networkMode этого определения задачи - PullRequest
0 голосов
/ 10 января 2020

Определение моей задачи:

resource "aws_ecs_task_definition" "datadog" {
  family        = "${var.environment}-datadog-agent-task"
  task_role_arn = "arn:aws:iam::xxxxxxxx:role/datadog-role"

  container_definitions = <<EOF
[
  {
    "name": "${var.environment}-${var.datadog-identifier}",
    "network_mode" : "awsvpc",
    "image": "datadog/agent:latest",
    "portMappings": [
      {
...

Определение моего сервиса:

resource "aws_ecs_service" "datadog" {
  name            = "${var.environment}-${var.datadog-identifier}-datadog-ecs-service"
  cluster         = "${var.cluster}"
  task_definition = "${aws_ecs_task_definition.datadog.arn}"

  network_configuration {
    subnets = flatten(["${var.private_subnet_ids}"])
  }

  # This allows running one for every instance
  scheduling_strategy = "DAEMON"
}

Я получаю следующую ошибку -

InvalidParameterException: Network Configuration is not valid for the given networkMode of this task definition

Что-то мне не хватает Вот? Если посмотреть на документы Terraform и проблемы с GitHub, это должно сработать. Это связано с запуском Datadog как демона?

1 Ответ

1 голос
/ 10 января 2020

Вам необходимо установить aws_ecs_task_definition network_mode на awsvpc, если вы определяете network_configuration службы, которая использует это определение задачи.

Это упоминается в документации для параметра network_configuration ресурса aws_ecs_service :

network_configuration - (Необязательно) Конфигурация сети для службы. Этот параметр требуется для определений задач, которые используют сетевой режим awsvpc для получения своего собственного сетевого интерфейса Elasti c, и он не поддерживается для других сетевых режимов.

В вашем случае вы ' мы добавили параметр network_mode в определение container вместо определения task (задача - это набор из n контейнеров, которые сгруппированы для совместного использования некоторых ресурсов). Схема определения контейнера не допускает параметр network_mode.

...