AWS CDK 如何覆盖自动扩展组中的默认启动配置?

Nir*_*jan 5 python amazon-web-services autoscaling aws-cdk

您好,我正在开发 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"))
Run Code Online (Sandbox Code Playgroud)

这也将生成默认启动配置。我想为这个自动扩展组编写自己的启动配置。

有人可以帮我解决这个问题吗?任何帮助,将不胜感激。谢谢

Vik*_*yol 4

CDK 中没有创建启动配置的特定构造。但是,您可以通过将参数传递给 aws_autoscaling.AutoScalingGroup 构造函数来构造一个。

您需要指定 AutoScalingGroup 类的以下属性:

  • 角色
  • 实例类型
  • 键名
  • 机器图像
  • 用户数据
  • 关联公共 IP 地址
  • 块设备

您还可以使用该功能添加安全组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,
)
Run Code Online (Sandbox Code Playgroud)