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年前910ビュー
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年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ