Как сгенерировать ListnerCertificate CertificateArn в loadbalancer

Я хочу добавить 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 в списке и listnercertificate,

1 ответ

Есть два способа добавить существующий сертификат в прослушиватель - вы перечислили оба из них, но вам действительно нужен только один из них. Кроме того, я предполагаю, что вам нужно создать сертификат. Это показывает, как, и это показывает оба способа прикрепления этого сертификата. Нужно помнить одну вещь - есть ручной шаг к утверждению создания сертификата, даже если он создан в 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()

Надеюсь, это поможет.

Другие вопросы по тегам