ApplicationLoadBalancedFargateService - 使用已有证书

0

【以下的问题经过翻译处理】 我有一个支持子域的证书,我想将其作为Fargate部署的一部分使用。该证书已知用于根域和建议的子域(通过应用到CloudFront分配进行测试)。

当我尝试将证书应用于我的堆栈时,我得到以下错误(已屏蔽元素):

堆栈部署失败:错误:名为MyStack的堆栈创建失败,可能需要在AWS控制台中手动删除:ROLLBACK_COMPLETE:资源处理程序返回消息:“证书ARN'arn:aws:acm:us -east-1:nnnnnnnnnnnn:certificate / x-x-x-x-x'无效(服务:ElasticLoadBalancingV2,状态代码:400,请求ID:XXXX,扩展请求ID:null)”(RequestToken:XXXX,HandlerErrorCode:InvalidRequest)

如果没有redirect_httpcertificate参数,那么堆栈就可以部署。

BASENAME="secure-stack"
DOMAIN_APEX = "example.org.uk"
SUBDOMAIN_NAME = f"costs.{DOMAIN_APEX}"
CERT_ARN='arn:aws:acm:us-east-1:nnnnnnnnnnnn:certificate/x-x-x-x-x'

class CynapseCostStack(Stack):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        vpc = ec2.Vpc(self, f"{BASENAME}-vpc", max_azs=2,)

        cluster = ecs.Cluster(self, f"{BASENAME}-cluster", vpc=vpc)

        task_image_options = ecs_patterns.ApplicationLoadBalancedTaskImageOptions(...)

        ecs_patterns.ApplicationLoadBalancedFargateService(
            self,
            f"{BASENAME}-service",
            service_name=f"{BASENAME}-service",
            cluster=cluster,
            cpu=256,
            desired_count=1,
            task_image_options=task_image_options,
            memory_limit_mib=512,
            public_load_balancer=True,
            load_balancer_name=f"{BASENAME}-lb",
            domain_name=SUBDOMAIN_NAME,
            domain_zone=route53.HostedZone.from_lookup(self, f"{BASENAME}-zone", domain_name=DOMAIN_APEX),
            redirect_http=True,
            certificate=acm.Certificate.from_certificate_arn(self, f"{BASENAME}-cert", CERT_ARN),
        )
1 Antwort
0

【以下的回答经过翻译处理】 一个可能的原因是您正在尝试在us-east-1以外的区域部署。 对于ALB,证书必须在相同的区域中。而对于CloudFront,证书必须在您已验证的us-east-1区域中。有关更多详细信息,请参阅https://docs.aws.amazon.com/acm/latest/userguide/acm-regions.html

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen