如何使用AWS CDK与EC2实例创建Elastic IP关联?

问题描述 投票:0回答:1

在AWS CDK中,我有一个EC2实例和Elastic 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");

我很难理解如何在它们之间声明一个关联,因为我无法感知到使用... AWS CDK文档 如何申报。看来,我需要 AWS::EC2::EIPAssociation.EIP: string 提供,而我缺少的是如何从它的 eip 对象。

amazon-web-services amazon-ec2 amazon-cloudformation aws-cdk
1个回答
1
投票

虽然拼得不是很好,但解决方法是。

    // EC2 Instance <> EIP
    let ec2Assoc = new ec2.CfnEIPAssociation(this, "Ec2Association", {
        eip: eip.ref,
        instanceId: ec2Instance.instanceId
    });
© www.soinside.com 2019 - 2024. All rights reserved.