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

时间:2019-12-06 10:19:24

标签: 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"))

这还将生成默认的启动配置。我想为此自动伸缩组编写自己的启动配置。

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

1 个答案:

答案 0 :(得分:1)

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

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

  • 角色
  • instance_type
  • 键名
  • 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,
)