我正在尝试通过在非默认 VPC上形成云来创建自动扩展组,但收到两个错误:
安全组"安全组"在默认 VPC 中不存在
此用户没有默认 VPC
我的第一次尝试是在没有默认 VPC 的区域上进行的,那是我第一次获得No default VPC for this user
时,我认为当我不尝试使用它时它想要/需要默认 VPC 很奇怪。然后,我继续重新创建默认 VPC,并得到了The security group 'SecurityGroup' does not exist in default VPC
。
我继续在没有自动缩放部分的情况下运行我的模板,只是为了让网络基础设施到位,这样我就可以在控制台上玩(请参阅下文(
Resources:
VpcT:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 192.168.0.0/16
EnableDnsSupport: true
EnableDnsHostnames: true
PublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
AvailabilityZone: !Sub ${AWS::Region}a
VpcId: !Ref VpcT
CidrBlock: 192.168.0.0/24
MapPublicIpOnLaunch: true
PublicSubnet2:
Type: AWS::EC2::Subnet
Properties:
AvailabilityZone: !Sub ${AWS::Region}b
VpcId: !Ref VpcT
CidrBlock: 192.168.1.0/24
MapPublicIpOnLaunch: true
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: sg
VpcId: !Ref VpcT
SecurityGroupIngress:
- IpProtocol: -1
CidrIp: 0.0.0.0/0
SecurityGroupEgress:
- IpProtocol: -1
CidrIp: 0.0.0.0/0
使用该模板,我得到了一个VPC(VpcT(,两个分配自动IP地址的子网(PublicSubnet1和PublicSubnet2(,最后是一个安全组(安全组(。
通过控制台并配置了我的启动配置,并通过我选择的高级详细信息Assign a public IP address to every instance
然后在您选择安全组的最后一部分,我收到了以下消息No default VPC found Select another VPC, or contact AWS Support if you want to create a new default VPC
我只是忽略并最终确定了启动配置
继续使用先前创建的启动配置创建自动扩展组,并在尝试创建启动配置No default VPC found Select another VPC, or contact AWS Support if you want to create a new default VPC
时收到完全相同的消息,我再次忽略了继续该过程并选择了我之前创建的 PublicSubnet1 和 PublicSubnet2 并最终确定了自动扩展组配置。一切正常,我的自动伸缩组上指定的实例已创建,一切正常。
所以我验证了您可以在没有默认 VPC 的情况下创建一个自动伸缩组,并且我的 cloudformation 自动伸缩模板上可能缺少一些东西(请参阅下文(
LaunchConfig:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
LaunchConfigurationName: LaunchConfig
AssociatePublicIpAddress: true
ImageId: ami-02ccb28830b645a41
EbsOptimized: false
InstanceMonitoring: false
InstanceType: t2.micro
KeyName: gh_rsa
SecurityGroups:
- SecurityGroup
AutoScalingGrpPubInstances:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
Cooldown: 300
HealthCheckGracePeriod: 300
VPCZoneIdentifier:
- !Ref PublicSubnet1
- !Ref PublicSubnet2
LaunchConfigurationName: !Ref LaunchConfig
DesiredCapacity: 1
MaxSize: 3
MinSize: 1
根据文档,我需要提供的所有内容都是我尝试使用!Ref PublicSubnetX
和实际子网 IDsubnet-0e15c1ff36f7a228b
VPCZoneIdentifier
创建实例的 Auto Scaling 组,但没有运气。
有人可以指出我如何解决这个问题的正确方向吗?
如今,我建议迁移到AWS::EC2::LaunchTemplate
而不是使用AWS::AutoScaling::LaunchConfiguration
。前者是可变的,并提供了更多的功能。
知道了,您需要引用安全组。 您缺少!Ref
.
LaunchConfig:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
LaunchConfigurationName: LaunchConfig
AssociatePublicIpAddress: true
ImageId: ami-02ccb28830b645a41
EbsOptimized: false
InstanceMonitoring: false
InstanceType: t2.micro
KeyName: gh_rsa
SecurityGroups:
- !Ref SecurityGroup
希望这有帮助。