AWS CDK:如何创建指向弹性IP的Route53 A记录?

时间:2020-03-02 18:17:18

标签: amazon-web-services aws-cdk

我正在创建CfnUserPoolDomain并收到错误消息“自定义域不是有效的子域:无法解析根域,请确保根域存在A记录。”

我需要有一条指向子域的A记录,如here所述。

我还没有想要A记录指向的资源,因此我想创建一个不执行任何操作(不指向任何内容)的弹性IP,并创建一个指向该EIP的A记录。

    CfnEIP eip = CfnEIP.Builder.create(this, "apex-a-record-target")
            .domain("vpc")
            .build();

    ARecord apexRecord = ARecord.Builder.create(this, "apex-a-record")
            .zone(hostedZone)
            .target(RecordTarget.fromIpAddresses( ** what goes here ? **   ))
            .build();

我看不到如何从EIP获取IPv4地址?如何获取IP地址或将A记录与EIP相关联?

1 个答案:

答案 0 :(得分:2)

某些cloudformation资源不会返回任何属性,但是您可以使用Cfn Ref功能“提取”它们的值。对于L1 CDK构造,可以使用.ref来完成。

我认为您可以执行以下操作:

    ARecord apexRecord = ARecord.Builder.create(this, "apex-a-record")
            .zone(hostedZone)
            .target(RecordTarget.fromIpAddresses(eip.ref))
            .build();