gpt4 book ai didi

amazon-web-services - 如何在 AWS SAM Cloud-Formation 中使用 Route53 设置自定义域名

转载 作者:行者123 更新时间:2023-12-03 07:11:23 25 4
gpt4 key购买 nike

原始问题:如何从 SAM Cloud-formation 中的 AWS APIGateway 域名中获取 RegionalDomainName

编辑:我更改了问题,希望为该答案带来更多流量,因为它回答了几个问题,而不仅仅是我原来的问题。


当我尝试部署堆栈时收到以下错误:

资源 DomainName 不支持 Fn::GetAtt 中的属性类型 RegionalDomainName

我的 yml 文件如下所示:

  PublicApi:
Type: AWS::Serverless::Api
Properties:
Name: PublicApi
...
EndpointConfiguration: REGIONAL

DomainName:
Type: AWS::ApiGateway::DomainName
Properties:
RegionalCertificateArn: "arn:aws:acm:${Region}:XXXXXXXXXXX:certificate/XXXXXXXXXXXXX"
DomainName: !Sub ${Stage}.${name}
EndpointConfiguration:
Types:
- REGIONAL

myDNSRecord:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneId : Z1UJRXOUMOOFQ8
Name: !Sub ${Stage}.${name}
AliasTarget:
HostedZoneId: Z1UJRXOUMOOFQ8
DNSName: !GetAtt DomainName.regionalDomainName
Type: A

UrlMapping:
Type: AWS::ApiGateway::BasePathMapping
DependsOn:
- PublicApi
Properties:
DomainName: !Ref DomainName
RestApiId: !Ref PublicApi
Stage: !Ref Stage

以下内容来自DomainName documentation :

“区域域名与此自定义域名的区域终端节点关联的域名。您可以通过添加将自定义域名指向该区域域名的 DNS 记录来设置此关联。”

我很困惑需要做什么才能使该域名成为区域性的。

我在不同的迭代中也遇到了以下错误,我认为这应该修复:

“当 REGIONAL 处于事件状态时,无法导入 EDGE 证书。”

在这方面的任何帮助将不胜感激!

最佳答案

我从几个不同的论坛找到了针对不同问题的不同解决方案,并最终提出了一个可行的模型。我希望这对将来的人有所帮助。

  PublicApi:
Type: AWS::Serverless::Api
Properties:
Name: PublicApi
StageName: ApiStage
...
EndpointConfiguration: REGIONAL
  DomainName:
Type: AWS::ApiGateway::DomainName
Properties:
RegionalCertificateArn: "arn:aws:acm:u${Region}:XXXXXXXX:certificate/XXXXXXXX"
DomainName: stage.example.com
SecurityPolicy: TLS_1_2
EndpointConfiguration:
Types:
- REGIONAL
LambdaDNS:
Type: AWS::Route53::RecordSetGroup
Properties:
HostedZoneName:
Ref: example.com.
RecordSets:
- Name:
Fn::Sub: stage.example.com.
Type: A
AliasTarget:
HostedZoneId: Z1UJRXOUMOOFQ8
DNSName:
Fn::GetAtt:
- DomainName
- RegionalDomainName
UrlMapping:
Type: AWS::ApiGateway::BasePathMapping
DependsOn:
- PublicApi
- PublicApiStage
Properties:
DomainName:
Ref: DomainName
RestApiId:
Ref: PublicApi
Stage: ApiStage

对我来说,关键部分最终是 BasePathMapping 中的 DependsOn。

关于amazon-web-services - 如何在 AWS SAM Cloud-Formation 中使用 Route53 设置自定义域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60762069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com