How to create AutoScalling Group using CDK for existing EC2 instance?

0

I have been exploring AWS-CDK recently and programming language I am using is Python. Since I am a newbie in this concept, I am trying to achieve one thing: How can I create AutoScaling Group for existing ec2 instance? I assume somewhere i need to mention the instance id, attached here by as one parameter to ASG.

Now what exact issue I am facing is, I am not able to understand how to pass the details of existing ec2 instance while configuring AutoScalingGroup. I am not creating VPC using CDK, instead I created one EC2 instance using console.

Any leads would be really helpful!!

Below is the code for AutoScalingGroup:

{ from constructs import Construct from aws_cdk import aws_autoscaling as autoscaling

from aws_cdk import (aws_ec2 as ec2, aws_ssm as ssm, Stack)

class AutoScalingStack(Stack): def init(self, scope:Construct, id: str,vpc: ec2.Vpc, **kwargs) -> None: super().init(scope,**kwargs)

autoscaling.AutoScalingGroup(self, "ASG",
vpc=vpc,
launch_template= launch_template

)

PS: I am unable to find AWS CDK tag.

已提問 1 年前檢視次數 914 次
1 個回答
1

Hi,

I would like to inform you that attaching an existing EC2 instance to an AutoScalingGroup created via CDK or CloudFormation is not directly possible.

If you would check the CDK Documentation for class AutoScalingGroup - https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_autoscaling/AutoScalingGroup.html

You will find there's no such property or method available that can help in attaching existing EC2 instance to ASG.

Due to this limitation, your requirement can be completed using AWS Console or AWS CLI, and the process to do so is given in the document - https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-instance-asg.html

The API that is responsible for doing this is 'AttachInstances' - https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachInstances.html

So, as a workaround, you may use custom resources in CDK to trigger this API and attach the ec2 instance via CDK if you do not wish to do so via the console. https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.custom_resources/README.html

If this is only a one-time requirement, then I'd suggest doing this via console, but if it is something that you would be doing in multiple accounts or regions, then I would recommend using custom resources to automate this process.

AWS
支援工程師
Sagar_T
已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南