AWS Amazon EC2 Auto Scaling Attachment
This page shows how to write Terraform and CloudFormation for Amazon EC2 Auto Scaling Attachment and write them securely.
aws_autoscaling_attachment (Terraform)
The Attachment in Amazon EC2 Auto Scaling can be configured in Terraform with the resource name aws_autoscaling_attachment
. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
An example could not be found in GitHub.
Parameters
-
alb_target_group_arn
optional - string -
autoscaling_group_name
required - string -
elb
optional - string -
id
optional computed - string
Explanation in Terraform Registry
Provides an Auto Scaling Attachment resource.
NOTE on Auto Scaling Groups and ASG Attachments: Terraform currently provides both a standalone
aws_autoscaling_attachment
resource (describing an ASG attached to an ELB or ALB), and anaws_autoscaling_group
withload_balancers
andtarget_group_arns
defined in-line. These two methods are not mutually-exclusive. Ifaws_autoscaling_attachment
resources are used, either alone or with inlineload_balancers
ortarget_group_arns
, theaws_autoscaling_group
resource must be configured to ignore changes to theload_balancers
andtarget_group_arns
arguments within alifecycle
configuration block.
Tips: Best Practices for The Other AWS Amazon EC2 Auto Scaling Resources
In addition to the aws_launch_configuration, AWS Amazon EC2 Auto Scaling has the other resources that should be configured for security reasons. Please check some examples of those resources and precautions.
aws_launch_configuration
Check public IPs should be given to Auto Scaling instances
It is better to block public access on the Internet to them. It is better to avoid associating public IP addresses if this is unintentional.
AWS::AutoScaling::LaunchConfiguration (CloudFormation)
The LaunchConfiguration in AutoScaling can be configured in CloudFormation with the resource name AWS::AutoScaling::LaunchConfiguration
. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
An example could not be found in GitHub.
Parameters
-
AssociatePublicIpAddress
optional - Boolean -
BlockDeviceMappings
optional - List of BlockDeviceMapping -
ClassicLinkVPCId
optional - String -
ClassicLinkVPCSecurityGroups
optional - List -
EbsOptimized
optional - Boolean -
IamInstanceProfile
optional - String -
ImageId
required - String -
InstanceId
optional - String -
InstanceMonitoring
optional - Boolean -
InstanceType
required - String -
KernelId
optional - String -
KeyName
optional - String -
LaunchConfigurationName
optional - String -
MetadataOptions
optional - MetadataOptions -
PlacementTenancy
optional - String -
RamDiskId
optional - String -
SecurityGroups
optional - List -
SpotPrice
optional - String -
UserData
optional - String
Explanation in CloudFormation Registry
The
AWS::AutoScaling::LaunchConfiguration
resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. When you update the launch configuration for an Auto Scaling group, CloudFormation deletes that resource and creates a new launch configuration with the updated properties and a new name. Existing instances are not affected. To update existing instances when you update theAWS::AutoScaling::LaunchConfiguration
resource, you can specify an UpdatePolicy attribute for the group. You can find sample update policies for rolling updates in Auto scaling template snippets. For more information, see CreateLaunchConfiguration in the Amazon EC2 Auto Scaling API Reference and Launch configurations in the Amazon EC2 Auto Scaling User Guide.Note To configure Amazon EC2 instances launched as part of the Auto Scaling group, you can specify a launch template or a launch configuration. We recommend that you use a launch template to make sure that you can use the latest features of Amazon EC2, such as Dedicated Hosts and T2 Unlimited instances. For more information, see Creating a launch template for an Auto Scaling group.