【以下的问题经过翻译处理】 我正在使用 AWS CDK 并尝试为使用了启动模板的自动伸缩组启用 associatePublicIpAddress 属性。
我的第一次尝试是设置 associatePublicIpAddress: true
,但我收到了这个错误 (<https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-autoscaling/lib /auto-scaling-group.ts#L1526-L1528>)
// 首次尝试
new asg.AutoScalingGroup(this, 'ASG', {
associatePublicIpAddress: true, // here
minCapacity: 1,
maxCapacity: 1,
vpc,
vpcSubnets: {
subnetType: SubnetType.PUBLIC,
onePerAz: true,
availabilityZones: [availabilityZone],
},
mixedInstancesPolicy: {
instancesDistribution: {
spotMaxPrice: '1.00',
onDemandPercentageAboveBaseCapacity: 0,
},
launchTemplate: new LaunchTemplate(this, 'LaunchTemplate', {
securityGroup: this._securityGroup,
role,
instanceType
machineImage,
userData: UserData.forLinux(),
}),
launchTemplateOverrides: [
{
instanceType: InstanceType.of(
InstanceClass.T4G,
InstanceSize.NANO
),
},
],
},
keyName,
})
// 错误信息
if (props.associatePublicIpAddress) {
throw new Error('Setting \'associatePublicIpAddress\' must not be set when \'launchTemplate\' or \'mixedInstancesPolicy\' is set');
}
我的第二次尝试是不设置 associatePublicIpAddress
并查看它是否自动设置,因为自动伸缩组位于具有互联网网关的公共子网中。但实际上它仍然没有提供公网 IP 地址。
自动伸缩组是否支持同时配置mixedInstancesPolicy
、associatePublicIpAddress
?