Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

777
Vistas
Terraform: use parámetros de SSM en la definición de contenedor de ECS

Estoy usando Terraform para implementar una tarea de ECS y me gustaría usar los parámetros de AWS SSM dentro de la definición de contenedor de la tarea de ECS.

Tengo 3 parámetros de SSM que me gustaría usar para anular las propiedades predeterminadas definidas en service.json. (PUERTO, PRUEBA_PROP_1, PRUEBA_PROP_2)

¿Hay alguna manera de que proporcione el ARN de estos parámetros de SSM para las variables de entorno de definición de contenedor?

Recurso de terraformación:

 resource "aws_ecs_task_definition" "testapp" { family = "testapp" network_mode = "awsvpc" cpu = 256 memory = 512 container_definitions = file("../modules/ecs_service/task-definitions/service.json") requires_compatibilities = [ "FARGATE" ] execution_role_arn = "arn:aws:iam::redacted:role/ecsTaskExecutionRole" task_role_arn = "arn:aws:iam::redacted:role/ecsTaskExecutionRole" }

servicio.json

 [ { "name": "testapp", "image": "redacted/demoapp:latest", "portMappings": [ { "containerPort": 59817, "hostPort": 59817, "protocol": "tcp" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "testappLG", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "devtest" } }, "Environment": [ { "Name": "PORT", "Value": "9001" }, { "Name": "TEST_PROP_1", "Value": "Override value - test prop 1" }, { "Name": "TEST_PROP_2", "Value": "Override value - test prop 2" } ] } ]
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede crear el parámetro SSM en esta ejecución de Terraform, en cuyo caso ya tendría una referencia, o puede buscarlo mediante una fuente de datos . A modo de ejemplo, supongamos que utiliza una fuente de datos:

 data "aws_ssm_parameter" "foo" { name = "foo" }

Ahora, en lugar de la función file() , usaría la función templatefile() , para que pueda usar la interpolación dentro del json. Eso significa que la línea en su plantilla de Terraform cambiaría a esto (pasando el ARN de un secreto que desea usar en el JSON):

 container_definitions = templatefile( "../modules/ecs_service/task-definitions/service.json", { secret1 = data.aws_ssm_parameter.foo.arn })

Finalmente, su archivo JSON debería verse así para decirle a ECS que busque el secreto y lo pase al contenedor cuando cree una instancia de su tarea:

 [ { "name": "testapp", "image": "redacted/demoapp:latest", "portMappings": [ { "containerPort": 59817, "hostPort": 59817, "protocol": "tcp" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "testappLG", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "devtest" } }, "secrets": [ { "name": "MY_SECRET", "valueFrom": "${secret1}" } ], "Environment": [ { "Name": "PORT", "Value": "9001" }, { "Name": "TEST_PROP_1", "Value": "Override value - test prop 1" }, { "Name": "TEST_PROP_2", "Value": "Override value - test prop 2" } ] } ]
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda