Как создать ListnerCertificate CertificateArn в loadbalancer - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу добавить certificate в listner из ApplicationLoadBalancer.Как я могу добавить и как я могу связаться с каждым из них, я использую протокол HTTPS, для которого мне нужно установить / настроить sslcertificate.

Listener = t.add_resource(elb.Listener(
    "Listener",
    Certificates=elb.Certificate(
        CertificateArn="",
    ),
    Port="443",
    Protocol="HTTPS",
    LoadBalancerArn=Ref(ApplicationLoadBalancer),
    SslPolicy="ELBSecurityPolicy-TLS-1-2-Ext-2018-06",
    DefaultActions=[elb.Action(
        Type="forward",
        TargetGroupArn=Ref(TargetGroupApp)
    )]
))

ListenerCertificate = t.add_resource(elb.ListenerCertificate(
    "ListenerCertificate",
    Certificates=elb.Certificate(
            CertificateArn="",
            ),
    ListenerArn=Ref(Listener)
    ))

Как я могу добавить certificate в listner и listnercertificate

1 Ответ

0 голосов
/ 11 февраля 2019

Существует два способа добавить существующий сертификат в прослушиватель - вы перечислили оба из них, но вам действительно нужен только один из них.Кроме того, я предполагаю, что вам нужно создать сертификат.Это показывает, как, и это показывает оба способа прикрепления этого сертификата.Стоит помнить одну вещь - есть ручной шаг к утверждению создания сертификата, даже если он создан в CloudFormation, поэтому вам нужно следить за запросом на утверждение в вашей электронной почте:

from troposphere.certificatemanager import Certificate
# First create the certificate if it doesn't already exist

cert = t.add_resource(
    Certificate(
        "MyCert",
        DomainName="example.com",
    )
)

# Now you can add it to the load balancer directly/inline
Listener = t.add_resource(elb.Listener(
    "Listener",
    Certificates=elb.Certificate(
        CertificateArn=cert.Ref(),
    ),
    Port="443",
    Protocol="HTTPS",
    LoadBalancerArn=Ref(ApplicationLoadBalancer),
    SslPolicy="ELBSecurityPolicy-TLS-1-2-Ext-2018-06",
    DefaultActions=[elb.Action(
        Type="forward",
        TargetGroupArn=Ref(TargetGroupApp)
    )]
))


# Or you can add it to an existing Listener with this resource
ListenerCertificate = t.add_resource(elb.ListenerCertificate(
    "ListenerCertificate",
    Certificates=elb.Certificate(
            CertificateArn=cert.Ref(),
            ),
    ListenerArn=Ref(Listener)
    ))

Если у вас уже есть сертификат, вам не нужен первый шаг для его создания - вместо этого просто укажите аргумент arn (вы можете найти его на панели инструментов), а не cert.Ref()

Hopeэто помогает.

...