使用 AWS .NET SDK 启动新的 EC2 实例时,如何在用户数据中设置 ECS_CLUSTER=my_cluster_name?
我通过在机器上运行 bash 脚本找到了有关手动执行此操作的信息。但我对学习如何使用 SDK 以编程方式执行此操作特别感兴趣。
在 RunInstancesRequest 类中找到它。对我来说,关键不仅在于找到 UserData 字段,还在于包含 IamInstanceProfile。下面是一个例子:
string userDataString = $"#!/bin/bash \necho ECS_CLUSTER=my_cluster_name >> /etc/ecs/ecs.config";
string userData = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(userDataString));
var response = client.RunInstances(new RunInstancesRequest
{
ImageId = "ami-abc12345",
InstanceType = "t2.micro",
KeyName = "my-key-pair",
MaxCount = 1,
MinCount = 1,
SecurityGroupIds = new List<string> { "sg-1a2b3c4d"},
SubnetId = "subnet-6e7f829e",
UserData = userData,
IamInstanceProfile = new IamInstanceProfileSpecification { Name = "ecsInstanceRole" }
});
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/EC2/TRunInstancesRequest.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句