2017-02-08 6 views
0

Я играл с амазоном AWS SDK (для NodeJS) последние пару дней, особенно с частью EC2. Мне было интересно, можно ли узнать, каким будет ваш IP-адрес перед загрузкой новых экземпляров.Получите следующий (частный) Ip-адрес от Amazon AWS SDK для экземпляра EC2

Я проверил документацию и Google, но я не смог найти ответ на этот вопрос. Итак, перед запуском функции runInstances у меня есть функция, которая возвращает мне следующий ip-адрес n, который будет назначен мне, если я создам n новых экземпляров прямо сейчас.

Я не знаю, возможно ли это, но я ничего не могу с этим поделать.

+0

почему вы должны знать это? избегайте фиксированных ips, когда это возможно. это сделает вашу жизнь более трудной с точки зрения масштабируемости и всех приятных блестящих особенностей облака. – hellomichibye

+0

Я в основном просто пробовал вещи, и поэтому я подумал, возможно ли это. Я ничего не нашел в Интернете по этому поводу, поэтому я спрашиваю здесь :-) –

ответ

1

Вы не можете предсказать частный IP-адрес, который будет назначен, но вы можете указать IP-адрес при запуске экземпляра.

runInstances() команда в Amazon SDK для Node.js имеет параметр PrivateIpAddress, который может указать IP-адрес для назначения экземпляра:

var params = { 
    ImageId: 'STRING_VALUE', /* required */ 
    MaxCount: 0, /* required */ 
    MinCount: 0, /* required */ 
    NetworkInterfaces: [ 
    { 
     PrivateIpAddress: 'STRING_VALUE' 
    } 
    /* etc */ 
}; 
ec2.runInstances(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 
+0

Да, я видел это поле, но как узнать, что заполнить в этом поле :) Как я могу узнать без сбоев что указанный IP-адрес еще не принят –

+0

Вам нужно будет сохранить свой собственный список и назначить неиспользованный или использовать DescribeInstances для получения списка текущих экземпляров, а затем выбрать адрес, который не используется. –