From 92ddd9ca3b3c0a36247ad9bdc47123a0ef99a53e Mon Sep 17 00:00:00 2001 From: Anson Shie Date: Sat, 19 Jul 2025 02:05:05 +0000 Subject: [PATCH] use elasticIP --- .../common-ec2-instance-template.yml | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/cloudformation/common-ec2-instance-template.yml b/cloudformation/common-ec2-instance-template.yml index 62221a0..d6956ca 100644 --- a/cloudformation/common-ec2-instance-template.yml +++ b/cloudformation/common-ec2-instance-template.yml @@ -1,6 +1,6 @@ AWSTemplateFormatVersion: "2010-09-09" Description: CloudFormation template for creating EC2 instances with same - permission policy, AZ, and existing security groups + permission policy, AZ, and existing security groups, and bind with Elastic IP Parameters: InstanceType: @@ -57,13 +57,26 @@ Resources: Roles: - coseeing-ec2-common + ElasticIP: + Type: AWS::EC2::EIP + Properties: + Domain: vpc + + EIPAssociation: + Type: AWS::EC2::EIPAssociation + Properties: + InstanceId: !Ref EC2Instance + AllocationId: !GetAtt ElasticIP.AllocationId + Outputs: InstanceId: Description: The Instance ID Value: !Ref EC2Instance + + InstancePublicIp: + Description: The Elastic IP address associated with the instance + Value: !Ref ElasticIP + PublicDNS: Description: Public DNS of the EC2 instance Value: !GetAtt EC2Instance.PublicDnsName - InstancePublicIp: - Description: The public IP address of the EC2 instance - Value: !GetAtt [EC2Instance, PublicIp]