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,
)