AWS CDK 如何覆盖自动缩放组中的默认启动配置?
AWS CDK How to override default launch configuration in auto scaling group?
您好,我正在研究 AWS CDK。我正在创建 ECS。我创建了如下自动缩放组。
autoScallingGroup=asg.AutoScalingGroup(self, id = "auto scalling", vpc= vpc, machine_image=ecs.EcsOptimizedImage.amazon_linux(), desired_capacity=1, key_name="mws-location", max_capacity=1, min_capacity=1, instance_type=ec2.InstanceType("t2.xlarge"))
这也将生成默认启动配置。我想为这个 Auto Scaling 组编写我自己的启动配置。
有人可以帮我解决这个问题吗?任何帮助,将不胜感激。谢谢
在 CDK 中没有创建启动配置的特定结构。但是,您可以通过将参数传递给 aws_autoscaling.AutoScalingGroup 构造函数来构造一个。
您需要指定 AutoScalingGroup class 的以下属性:
- 角色
- instance_type
- key_name
- machine_image
- user_data
- associate_public_ip_address
- block_devices
您还可以使用 add_security_group()
功能添加安全组。
例如,如果要将用户数据添加到 LaunchConfig:
userdata = ec2.UserData.for_linux(shebang="#!/bin/bash -xe")
userdata.add_commands(
"echo '======================================================='",
"echo \"ECS_CLUSTER=${MWSServiceCluster}\" >> /etc/ecs/ecs.config"
)
asg = autoscaling.AutoScalingGroup(
self,
"asg-identifier",
...
user_data=userdata,
)
您好,我正在研究 AWS CDK。我正在创建 ECS。我创建了如下自动缩放组。
autoScallingGroup=asg.AutoScalingGroup(self, id = "auto scalling", vpc= vpc, machine_image=ecs.EcsOptimizedImage.amazon_linux(), desired_capacity=1, key_name="mws-location", max_capacity=1, min_capacity=1, instance_type=ec2.InstanceType("t2.xlarge"))
这也将生成默认启动配置。我想为这个 Auto Scaling 组编写我自己的启动配置。
有人可以帮我解决这个问题吗?任何帮助,将不胜感激。谢谢
在 CDK 中没有创建启动配置的特定结构。但是,您可以通过将参数传递给 aws_autoscaling.AutoScalingGroup 构造函数来构造一个。
您需要指定 AutoScalingGroup class 的以下属性:
- 角色
- instance_type
- key_name
- machine_image
- user_data
- associate_public_ip_address
- block_devices
您还可以使用 add_security_group()
功能添加安全组。
例如,如果要将用户数据添加到 LaunchConfig:
userdata = ec2.UserData.for_linux(shebang="#!/bin/bash -xe")
userdata.add_commands(
"echo '======================================================='",
"echo \"ECS_CLUSTER=${MWSServiceCluster}\" >> /etc/ecs/ecs.config"
)
asg = autoscaling.AutoScalingGroup(
self,
"asg-identifier",
...
user_data=userdata,
)