Ask*_*mov 9 amazon-ec2 amazon-web-services aws-cloudformation aws-cdk
在AWS CDK中,我创建了一个EC2实例和弹性IP,如下所示:
// EC2 Instance
let ec2Instance = new ec2.Instance(this, "EC2Instance", {
instanceType: ec2.InstanceType.of(InstanceClass.T2, InstanceSize.MICRO),
vpc: vpc,
securityGroup: securityGroupEc2,
keyName: Config.keyPairName,
machineImage: new ec2.GenericLinuxImage({"eu-west-1": Config.ec2ImageAmi}),
blockDevices: [{deviceName: "/dev/sda1", volume: ec2.BlockDeviceVolume.ebs(30)}]
});
// Elastic IP
let eip = new ec2.CfnEIP(this, "Ip");
Run Code Online (Sandbox Code Playgroud)
我很难理解如何声明它们之间的关联,因为我无法使用AWS CDK 文档来理解如何声明它。似乎我需要AWS::EC2::EIPAssociation.EIP: string提供,但我不知道如何从eip对象中获取它。
Ask*_*mov 12
没有很好地解释,但解决方案是:
// EC2 Instance <> EIP
let ec2Assoc = new ec2.CfnEIPAssociation(this, "Ec2Association", {
eip: eip.ref,
instanceId: ec2Instance.instanceId
});
Run Code Online (Sandbox Code Playgroud)
对于Cfn*CDK 资源,我发现 CloudFormation 文档比 CDK API 提供更多信息。
CloudFormation文档AWS::EC2::EIPinstanceId显示,在创建 时可以使用一个属性EIP,我认为这应该避免单独创建CfnEIPAssociation。
| 归档时间: |
|
| 查看次数: |
9113 次 |
| 最近记录: |