IAM не может получить доступ к шаблону запуска - PullRequest
0 голосов
/ 22 января 2020

Я использую Node SDK * 1042, чтобы попытаться использовать шаблон запуска для запуска экземпляра EC2. В веб-консоли для того же пользователя у меня есть доступ к идентификатору шаблона запуска, но в Node API он сообщает, что шаблон запуска с идентификатором не существует:

версия: aws-sdk@2.606.0

screenshot of id in console

Снимок экрана в AWS Консоль

screenshot of id in my config file

Снимок экрана в моем конфигурационном файле

(последние несколько символов заблокированы для безопасности, но они одинаковы)

Это узел

         AWS = require('aws-sdk');
         AWS.config.update({region: global.settings.aws.region});

         let instanceParams = {
                LaunchTemplate: {
                    LaunchTemplateId: global.settings.aws.ltId
                }, 
                InstanceType: 't2.micro',
                MinCount: 1,
                MaxCount: 1
             };
             let instancePromise = new AWS.EC2().runInstances(instanceParams).promise();
             instancePromise.then(
               function(data) {
                 console.log(data);
               }).catch(
                 function(err) {
                 console.error(err, err.stack);
               });

Эта ошибка, которую возвращает API:

InvalidLaunchTemplateId.NotFound: Указанный шаблон запуска с идентификатором шаблона lt-03969d13638b5XXXX не существует. в Request.extractError (/ApplicationPath/node_modules/aws-sdk/lib/services/ec2.js:50:35) в Request.callListeners (/ ApplicationPath / node_modules / aws -sdk / lib / sequential_executor. js: 106: 20) в Request.emit (/ApplicationPath/node_modules/aws-sdk/lib/sequential_executor.js:78:10) в Request.emit (/ ApplicationPath / node_modules / aws - sdk / lib / request. js: 683: 14) в Request.transition (/ApplicationPath/node_modules/aws-sdk/lib/request.js:22:10) в AcceptorStateMachine.runTo (/ ApplicationPath / node_modules / aws -sdk / lib / state_machine. js: 14: 12) в /ApplicationPath/node_modules/aws-sdk/lib/state_machine.js:26:10 по запросу. (/ApplicationPath/node_modules/aws-sdk/lib/request.js:38:9) по запросу. (/ApplicationPath/node_modules/aws-sdk/lib/request.js:685:12) в Request.callListeners (/ApplicationPath/node_modules/aws-sdk/lib/sequential_executor.js:116: 18) в Request.emit (/ApplicationPath/node_modules/aws-sdk/lib/sequential_executor.js:78:10) в Request.emit (/ ApplicationPath / node_modules / aws -sdk / lib / request. js: 683: 14) в Request.transition (/ApplicationPath/node_modules/aws-sdk/lib/request.js:22:10) в AcceptorStateMachine.runTo (/ ApplicationPath / node_modules / aws - sdk / lib / state_machine. js: 14: 12) по адресу /ApplicationPath/node_modules/aws-sdk/lib/state_machine.js:26:10 по запросу. (/ApplicationPath/node_modules/aws-sdk/lib/request.js:38:9) по запросу. (/ApplicationPath/node_modules/aws-sdk/lib/request.js:685:12) в Request.callListeners (/ApplicationPath/node_modules/aws-sdk/lib/sequential_executor.js:116: 18) в callNextListener (/ApplicationPath/node_modules/aws-sdk/lib/sequential_executor.js:96:12) в IncomingMessage.onEnd (/ApplicationPath/node_modules/aws-sdk/lib/event_listeners* *: 307: 13) в IncomingMessage.emit (events. js: 214: 15) в IncomingMessage.EventEmitter.emit (domain. js: 476: 20) {message: 'Указанный шаблон запуска с идентификатором шаблона. lt-03969d13638b5XXXX, не существует. ', код:' InvalidLaunchTemplateId.NotFound ', время: 2020-01-22T15: 29: 18.641Z, requestId:' 16082702-49c0-4451-a3b7-570b930b5238 ', код состояния: 400, код состояния: 400 : false, retryDelay: 47.92654090836894}

Доступ IAM включает в себя:

AmazonEC2FullAccess

AmazonEC2FullAccess

(JSON очень длинные, но я с удовольствием выложу их сюда, если нужно)

Я думаю, что Существует некоторая ошибка разрешения для IAM, но я не могу определить, что это может быть. Спасибо за помощь и, пожалуйста, дайте мне знать, если есть какая-либо другая ясность, которую я могу предоставить.

1 Ответ

1 голос
/ 22 января 2020

Когда вы видите, что данный ресурс AWS существует в консоли AWS, но он не возвращается вызовами awscli или SDK (или наоборот), вероятно, причиной является одно из следующих:

  • вы запросили неправильный регион
  • вы запросили неправильный AWS аккаунт (ваши действительные учетные данные относятся ко второму, другому аккаунту)
  • у вас есть неправильно набрал имя ресурса / id
  • ваш браузер кэшировал результаты, которые больше не существуют (refre sh ваш браузер)
...