![](/img/trans.png)
[英]Kube-aws: Template format error: Unresolved resource dependencies [IAMRoleController]
[英]AWS EB: Unresolved resource dependencies
由於這篇精彩的文章,我的 Django 應用程序已部署並正常工作: https://medium.com/@justaboutcloud/how-to-deploy-a-django3-application-on-elastic-beanstalk-python3-7-and-amazon- linux-2-bd9b8447b55
我要結束項目並設置 HTTPS。為此,我在 my.ebextensions 文件夾中創建了一個名為 02_https.config 的配置文件
在此文件中,我復制並粘貼了文章中的代碼:
option_settings:
aws:elbv2:listener:443:
SSLCertificateArns: <YourACMCertificateARN>
Protocol: HTTPS
Resources:
AWSEBV2LoadBalancerListener:
Type: 'AWS::ElasticLoadBalancingV2::Listener'
Properties:
LoadBalancerArn: { "Ref" : "AWSEBV2LoadBalancer" }
DefaultActions:
- RedirectConfig:
Port: 443
Protocol: HTTPS
StatusCode: HTTP_301
Type: redirect
Port: 80
Protocol: HTTP
當我部署應用程序時,我收到此錯誤消息:
Service:AmazonCloudFormation, Message:Template format error: Unresolved resource dependencies [AWSEBV2LoadBalancer] in the Resources block of the template
我有兩個理論:
我沒有以正確的格式粘貼 ARN 證書,這會影響我的 YAML 格式
此代碼的格式有問題。
有人可以提供一些意見嗎?
對我來說,由於幾個原因,您的理論似乎都不適合您收到的錯誤。
首先,讓我們仔細閱讀錯誤。
Service:AmazonCloudFormation, Message:Template format error: Unresolved resource dependencies [AWSEBV2LoadBalancer] in the Resources block of the template
支持 EB 環境的 CFN 堆棧抱怨未解決的依賴項“AWSEBV2LoadBalancer”。 這意味着正在創建的堆棧不知道此邏輯 ID“AWSEBV2LoadBalancer”的用途。
只有當你的 beantalk 應用程序是:
單實例應用(無LB)
要么
使用 ELB(經典 V1 LB),其在 EB CFN 堆棧中的邏輯 ID 是“AWSEBLoadBalancer”而不是“AWSEBV2LoadBalancer”。
后來的“AWSEBV2LoadBalancer”被用作應用程序和網絡 LB 的邏輯 ID。
從您分享的媒體文章鏈接中,我看到作者使用應用程序負載均衡器創建了他的環境。 你錯過了嗎?
eb create django3 --elb-type application --region eu-west-1
此外,您共享的代碼片段是有效的 YAML。
您正在嘗試使用負載均衡器將 HTTP 請求重定向到 HTTPS。但是您使用的是 EB 環境類型:單個實例,它沒有負載均衡器。
要么切換到 EB 環境類型:負載平衡,要么停止使用負載平衡器將 HTTP 請求重定向到 HTTPS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.