AWS CDK: как создать запись Route53 A, указывающую на эластичный IP-адрес?

Я создаю CfnUserPoolDomain, и я получаю сообщение об ошибке «Пользовательский домен не является допустимым поддоменом: не удалось разрешить корневой домен, убедитесь, что для корневого домена существует запись A».

Мне нужна запись A, указывающая на поддомен, как описано здесь.

У меня еще нет ресурса, на который я хочу указывать запись A, поэтому я хочу создать эластичный IP-адрес, который ничего не делает (ни на что не указывает), и создать запись A, указывающую на этот EIP.

    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();

Я не понимаю, как получить адрес IPv4 из EIP? Как мне получить IP-адрес или иным образом связать запись A с EIP?


person John    schedule 02.03.2020    source источник


Ответы (1)


Некоторые облачные информационные ресурсы не возвращают никаких атрибутов, но вы можете «извлечь» их значение с помощью функции Cfn Ref. Для конструкций L1 CDK это можно сделать с помощью .ref.

Думаю, вы можете сделать следующее:

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