Установить имя экземпляра контейнера ECS

Я использую ECS для создания кластера и экземпляра контейнера с помощью Cloudformation, но я не знаю, как установить имя создаваемого экземпляра контейнера ECS.

Любая идея, где установить имя? Вот мой сценарий.

      {
  "AWSTemplateFormatVersion" : "2010-09-09",

  "Description" : "Amazon ECS Preview Quickstart Template",

 "Parameters" : {

  "ClusterName": {
  "Description" : "Name of your Amazon ECS Cluster",
  "Type" : "String",
  "ConstraintDescription" : "must be a valid Amazon ECS Cluster.",
  "Default" : "xxxxx"
},

"InstanceType" : {
  "Description" : "Container Instance type",
  "Type" : "String",
  "Default" : "t2.medium",
  "AllowedValues" : [ "t2.micro", "t2.small", "t2.medium", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ],
  "ConstraintDescription" : "must be a valid EC2 instance type."
}
   },

  "Mappings" : {
"AWSInstanceType2Arch" : {
  "t2.medium"   : { "Arch" : "HVM64"  }
},

"AWSRegionArch2AMI" : {
  "eu-west-1"      : { "HVM64" : "ami-f66de585"  }
}

  },

  "Resources" : {

"ContainerInstance" : {
  "Type": "AWS::EC2::Instance",
  "Properties": {
    "IamInstanceProfile" : { "Ref" : "ECSIamInstanceProfile" },
    "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
      { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] },
    "InstanceType"   : { "Ref" : "InstanceType" },
    "SecurityGroups" : [ "xxxx","xxxx", "xxxx" ],
    "KeyName"        : { "Ref" : "KeyName" },
    "UserData"       : { "Fn::Base64" : { "Fn::Join" : ["", [
      "#!/bin/bash -xe\n",
      "echo ECS_CLUSTER=", { "Ref" : "ClusterName" },
      " >> /etc/ecs/ecs.config\n"
    ]]}}
  }
},
"ECSIamInstanceProfile" : {
  "Type" : "AWS::IAM::InstanceProfile",
  "Properties" : {
    "Path" : "/",
    "Roles" : ["ecsInstanceRole"]
  }
}
  },

 "Outputs" : {
  "ECSInstance" : {
    "Description" : "eu-west-1",
     "Value" : { "Fn::Join" : ["", ["ssh ec2-user@", { "Fn::GetAtt" :     [ "ContainerInstance", "PublicDnsName" ]}]] }
}
 }
}

person paul    schedule 18.05.2016    source источник
comment
не ясно - вы сказали, что хотите кластер ECS, но вы определяете экземпляр EC2. разве у вас не должно быть типа AWS::ECS::Cluster и в определении вашей задачи контейнеры со свойством name   -  person Frederic Henri    schedule 18.05.2016
comment
вашему кластеру нужен контейнер, который является экземпляром ec2, в чем проблема?   -  person paul    schedule 18.05.2016
comment
да, но это то, что amazon делает для вас, когда вы используете ECS — вы можете управлять собой с помощью EC2 и развертывать свой контейнер или использовать ECS и не управлять низкоуровневым экземпляром   -  person Frederic Henri    schedule 18.05.2016
comment
Я создаю весь кластер и контейнер с нуля, без какого-либо ручного действия. В любом случае, это выходит за рамки темы о том, как дать имя экземпляру контейнера XD   -  person paul    schedule 18.05.2016
comment
да, но вы упоминаете ECS, но здесь вы не используете сервис   -  person Frederic Henri    schedule 18.05.2016


Ответы (1)


Вы пробовали пометить экземпляр:

"ContainerInstance" : {
  "Type": "AWS::EC2::Instance",
  "Properties": {
    "IamInstanceProfile" : { "Ref" : "ECSIamInstanceProfile" },
    "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
      { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] },
    "InstanceType"   : { "Ref" : "InstanceType" },
    "SecurityGroups" : [ "xxxx","xxxx", "xxxx" ],
    "KeyName"        : { "Ref" : "KeyName" },
    "UserData"       : { "Fn::Base64" : { "Fn::Join" : ["", [
      "#!/bin/bash -xe\n",
      "echo ECS_CLUSTER=", { "Ref" : "ClusterName" },
      " >> /etc/ecs/ecs.config\n"
    ]]}},
    "Tags": [{"key": "Name", "value": "Your name"}]
  }
},

Я не уверен в синтаксисе, но должен работать.

person Michał    schedule 18.05.2016
comment
Не совсем так, но именование работало нормально, добавляя тег имени. Тег добавлен? Может быть, синтаксис должен быть таким: Теги: [{Имя: Ваше имя}]? - person Michał; 18.05.2016
comment
Я понимаю, что я не поместил теги на уровень свойств. Работает спасибо! - person paul; 18.05.2016