У меня есть служба ECS, которая порождает несколько контейнеров:
resource "aws_ecs_service" "rocketchat" {
name = "rocketchat-ecs-service"
cluster = "${aws_ecs_cluster.rocketchat.id}"
task_definition = "${aws_ecs_task_definition.rocketchat.arn}"
desired_count = 2
iam_role = "${aws_iam_role.ecs_service.name}"
...
Но созданные им экземпляры EC2 не имеют тега «Имя». я думал что name_prefix
было то, что я искал, но это не работает:
resource "aws_launch_configuration" "rocketchat" {
security_groups = ["${aws_security_group.instance_sg.id}"]
name_prefix = "${var.project_prefix}-rocketchat-"
key_name = "${aws_key_pair.circles_rocketchat.key_name}"
...
В определении задачи для этого контейнера также есть поле имени, которое тоже не работает:
[
{
"name": "rocketchat",
"cpu": 256,
"essential": true,
...
Документы Amazon говорят здесь что «тегирование при создании» не поддерживается в «шаблоне запуска», но я не уверен, что это точно актуально; особенно, когда вы берете мою другую службу ECS в том же кластере, в котором нет балансировщика нагрузки и, следовательно, нет конфигурации запуска.
РЕДАКТИРОВАТЬ:
Предложение @B.Miller ниже не помечает фактические экземпляры, но оно отображается в консоли в разделе EC2> Auto Scaling Groups> Теги
+-------------+---------------------+-------------------+
| Key | Value | Tag New Instances |
+-------------+---------------------+-------------------+
| Environment | dev | Yes |
+-------------+---------------------+-------------------+
| Name | rocketchat-instance | Yes |
+-------------+---------------------+-------------------+
name_prefix
создает случайное уникальное имя для конфигурации запуска с использованием префикса, а не префиксы запускаемых с ним вещей. name
в определении задачи - это имя самого определения задачи. Поскольку вы используете конфигурацию запуска, я предполагаю, что вы используете группа автомасштабирования. Группы автомасштабирования позволяют установить теги затем распространять эти теги.
Например, вы можете указать отдельные теги и заставить их распространяться:
resource "aws_autoscaling_group" "default" { ... tags = [ { key = "explicit1" value = "value1" propagate_at_launch = true }, { key = "explicit2" value = "value2" propagate_at_launch = true }, ] ... }
Редактировать: обратите внимание, что это работает с AMI Amazon, оптимизированным для ECS, но не с CoreOS.