gpt4 book ai didi

python - 创建弹性伸缩组时如何禁用生命周期钩子(Hook)?

转载 作者:行者123 更新时间:2023-12-03 16:01:43 25 4
gpt4 key购买 nike

您好,我正在使用 aws cdk 在 aws 中创建资源。当我创建 aws Auto Scaling 组时,我看到创建了许多其他资源。

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

这也创建了以下资源,例如

autoscallingDrainECSHookFunctionServiceRole219A7F8B,
autoscallingDrainECSHookFunctionServiceRoleDefaultPolicyE2FB5F79,
autoscallingDrainECSHookFunctionBE2A2160,
autoscallingDrainECSHookFunctionAllowInvokeLocationCdkStackcdkstackautoscallingLifecycleHookDrainHookTopicA75797CC21F927C0,
autoscallingDrainECSHookFunctionTopic3103D34F,
autoscallingLifecycleHookDrainHookRoleA95F8BD2,
autoscallingLifecycleHookDrainHookRoleDefaultPolicyBB70BF84,
autoscallingLifecycleHookDrainHookTopicA04CE464,
autoscallingLifecycleHookDrainHook9489AED1

为什么要创建这些资源?如果我不需要这些资源,如何限制它?有人可以帮我吗?谢谢

最佳答案

aws-cdk 中的“L2”构造意味着“包含电池”。这通常意味着它将生成诸如角色(具有所需的最低权限)和其他常用且被认为是最佳实践的资源之类的内容。

当创建上面的自动缩放组时,我获得的资源是:

AWS::EC2::SecurityGroup - 作为 asg 的一部分创建实例时获得的安全组

AWS::IAM::Role - 实例作为 asg 的一部分创建时获得的 iam 角色

AWS::IAM::InstanceProfile - 实例的实例配置文件,这是在实例启动时将角色链接到实例的方式

AWS::AutoScaling::LaunchConfiguration - 实例、配置文件和安全组的启动配置附在此处

AWS::AutoScaling::AutoScalingGroup - ASG 本身,以上述 LaunchConfiguration 作为属性

生命周期 Hook 仅在 asg 创建后添加。如果您将 ASG 构造传递给另一个依赖生命周期 Hook 的 L2 构造,它可能会自动创建它们。

“包含电池”方法是对所有这些进行抽象,但是,如果您想手动创建所有这些资源并自行调整它们,则存在 L1 构造。您可以使用 CfnAutoScalingGroup class 来执行此操作

关于python - 创建弹性伸缩组时如何禁用生命周期钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59264194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com