АРМ ФОВ: получить IP-адрес контейнера, например, когда задача начала называется
Мне удалось запустить задачу с помощью AWS-SDK для узла js, но этот ответ не содержит IP-адрес экземпляра, на котором была инициирована задача. Есть ли какой-либо способ получить IP экземпляра в том же ответе ?
Каковы возможные варианты ? Однако я вижу containerInstanceArn в ответе.
var ecs = new ECS_AWS.ECS({apiVersion: '2014-11-13'});
         var params = {
      family: 'test-code123',
      containerDefinitions: [
          {
              environment: [],
              name: 'simple-app',
              image: 'abc/cbuild:2',
              cpu: 1024,
              memory: 500,
              portMappings: [
                  {
                      containerPort: 8000,
                      hostPort: 8000
                  }
              ],
              command: [
                  'node',
                  '/src1/server.js',
                  '8000'
              ],
              essential: true
          }
      ]
       };
       ecs.registerTaskDefinition(params, function(err, data) {
          if (err) console.log("ECS error" + err + err.stack); // an error occurred
          else       console.log(data);
Как только задача создана, я делаю вызов API runTask
var ecs = new ECS_AWS.ECS({apiVersion: '2014-11-13'});
          var params = {
        taskDefinition: 'arn:aws:ecs:ap-southeast-1:32:task-definition/test-code123:5', /* required */
        count: 1,
              };
      ecs.runTask(params, function(err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else     console.log(data);           // successful response
      });
1 ответ:
На основе существующих API ECS не существует прямого API для получения IP экземпляра, с которого была запущена задача.
Вам нужно будет использовать
describeContainerInstancesAPI ecs, чтобы получить физический идентификатор экземпляра, а затем вызвать API ec2, чтобы получить IP экземпляра, где была запущена задача.