АРМ ФОВ: получить 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 экземпляра, с которого была запущена задача.
Вам нужно будет использовать
describeContainerInstances
API ecs, чтобы получить физический идентификатор экземпляра, а затем вызвать API ec2, чтобы получить IP экземпляра, где была запущена задача.