Amazon web services 如何提供使用AWS Javascript SDK将容器实例注册到AWS ECS集群的实例标识文档?
我正在使用AWS Javascript SDK创建集群,并为ECS任务注册容器实例。我对为请求参数提供实例标识文档值感到惊讶。我正在尝试将正在运行的EC2实例注册为容器实例。通过执行以下命令Amazon web services 如何提供使用AWS Javascript SDK将容器实例注册到AWS ECS集群的实例标识文档?,amazon-web-services,amazon-ec2,amazon-ecs,aws-sdk-js,aws-sdk-nodejs,Amazon Web Services,Amazon Ec2,Amazon Ecs,Aws Sdk Js,Aws Sdk Nodejs,我正在使用AWS Javascript SDK创建集群,并为ECS任务注册容器实例。我对为请求参数提供实例标识文档值感到惊讶。我正在尝试将正在运行的EC2实例注册为容器实例。通过执行以下命令curl命令,我获得了实例标识文档 curlhttp://169.254.169.254/latest/dynamic/instance-identity/document/ 输出: { "accountId" : "01234567891", "ar
curl
命令,我获得了实例标识文档
curlhttp://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:提供了身份证件,但无效。
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
我们是否必须从EC2实例执行registerContainerInstances
API
请引导!!!我已经解决了这个问题。使用EC2 SDK启动一个带有ECS AMI镜像的实例,并在用户数据中添加以下脚本
#!/bin/bash
echo "ECS_CLUSTER=YOUR_CLUSTER_NAME" >> /etc/ecs/ecs.config
上述代码将注册到指定的ECS群集。不需要使用registerContainerInstances
API。如果AWS从API引用中删除此API,那就太好了