[英]how to get DNS ELB automatically ELB AWS Cloud formation
對於我的堆棧,我需要在 AWS 上自動檢索我的負載均衡器的 dns,因為我刪除/創建更新我的堆棧和我的服務器,名稱一直在變化,或者我需要能夠從我的 ELB 中自動檢索 dns在亞馬遜
感謝
目前尚不清楚您是否在同一個堆棧中創建該負載均衡器,以及您在談論哪個負載均衡器。 如果它是同一堆棧中的 ELB,這非常容易,方法是使用!GetAtt
function 和正確的 output。有關 ELB 在 cloudformation 中的輸出的信息可以在此處找到。
如果您正在談論一個已經存在的負載均衡器,那么有幾個選項。 如果它是在另一個堆棧中創建的,您始終可以通過使用cloudformation自帶的 ImportValue function 來交叉引用它。 第二種選擇是將其作為參數傳遞給堆棧。 如果該值隨后發生變化,您可以使用新值作為參數輕松更新您的模板。
最后一個選項是使用執行 lambda function 的自定義資源,它檢索所需的 DNS 值並將其作為 output 值返回給 CloudFormation 資源。 然后,您可以使用!GetAtt
function 來引用返回值。 但是,您必須注意,當您更新堆棧時,此 function 不會始終執行,因此您可以添加一個虛擬參數作為自定義資源的輸入,您可以更改該參數以強制重新運行 lambda 以檢索最新值。 這個選項的實現需要做一些工作,並且只比簡單地使用堆棧參數傳遞值更容易使用。
在 Cloudformation 模板的 Output 部分,您可以獲得 DNS url
.
.
.
Resources:
.
.
.
MyLoadBalancer:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
.
.
.
.
.
Outputs:
LoadBalancerOutput:
Value: !GetAtt MyLoadBalancer.DNSName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.