Как предоставить документ, удостоверяющий личность экземпляра, для регистрации экземпляра контейнера в кластере AWS ECS с использованием AWS Javascript SDK? - PullRequest
2 голосов
/ 12 июля 2020

Я использую AWS Javascript SDK для создания кластера и регистрации экземпляра контейнера для задачи ECS. Меня поразило то, что я указал значение документа, удостоверяющего личность, для параметров запроса. Я пытаюсь зарегистрировать свой работающий экземпляр EC2 как экземпляр контейнера. Я получил документ, удостоверяющий личность экземпляра, выполнив следующую команду curl command.

curl http://169.254.169.254/latest/dynamic/instance-identity/document/

Вывод:

{
  "accountId" : "01234567891",
  "architecture" : "x86_64",
  "availabilityZone" : "us-east-11",
  "billingProducts" : null,
  "devpayProductCodes" : null,
  "marketplaceProductCodes" : null,
  "imageId" : "ami-123456789012d",
  "instanceId" : "i-12345678901",
  "instanceType" : "t2.micro",
  "kernelId" : null,
  "pendingTime" : "2020-07-12T15:57:19Z",
  "privateIp" : "172.31.33.40",
  "ramdiskId" : null,
  "region" : "us-east-1",
  "version" : "2017-09-30"
}

Я преобразовал вывод в строку, но Я получаю сообщение об ошибке в коде NodeJS.

{ InvalidParameterException: An identity document was provided, but not valid.

message:
'The identity document and identity document signature were not valid.',
code: 'InvalidParameterException',
time: 2020-07-14T07:30:59.782Z,
requestId: '7bca816f-8c8f-4e6e-8e77-04c93b45c17e',
statusCode: 400,
retryable: false,
retryDelay: 68.57527460306602 } 'InvalidParameterException: The identity document and identity document signature were not valid.\n  

Должны ли мы выполнять registerContainerInstances API из экземпляра EC2?

Пожалуйста, проведите !!!

1 Ответ

0 голосов
/ 14 июля 2020

Я устранил проблему. Используйте SDK EC2 для запуска экземпляра с изображением ECS AMI и добавьте следующий сценарий в пользовательские данные.

#!/bin/bash
echo "ECS_CLUSTER=YOUR_CLUSTER_NAME" >> /etc/ecs/ecs.config

Приведенный выше код будет зарегистрирован в указанном кластере ECS. Использование registerContainerInstances API не обязательно. Было бы здорово, если бы AWS удалил этот API из справочника API.

...