AWS CDK: как создать Route53 A Record, указывающую на Elasti c IP? - PullRequest
1 голос
/ 02 марта 2020

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

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

У меня еще нет ресурса, для которого я хочу A запись, на которую нужно указать, поэтому я хочу создать elasti c 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?

1 Ответ

1 голос
/ 03 марта 2020

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

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

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