簡體   English   中英

使用私有 ip 參數的 AWS ECS 任務定義環境變量

[英]AWS ECS Task Definition environment variable using private ip parameter

我有一個簡單的 MVP 風格的全棧 MERN 應用程序,在單個 t2.micro SPOT 實例上使用 3x 服務/3x 任務部署。

挑戰:每次更換 SPOT 實例時,私有 IP 都會發生變化。

解決方法:后端的 env 變量需要使用 DB_HOST 更新,以便它可以連接到托管在同一 ec2 SPOT 實例上的數據庫任務。

要求:有沒有辦法將 ec2 SPOT 容器實例私有 IP 作為參數傳遞給 Env 變量,這樣如果它發生變化,后端任務定義中的 DB_HOST env 變量會自動更新?

在此處輸入圖像描述

您可以使用實例元數據獲取 IP 地址。 還有容器的 ECS 元數據。 如果您需要此環境變量,則需要在運行應用程序之前運行腳本。

任何東西的任何部分都可能沒有任何充分的理由依賴私有 ip 地址。 如果您想以可靠的方式訪問此實例,您將使用負載均衡器、目標組等。如果這用於在 ECS 上托管容器,您將創建一個服務。 也許你會使用 App Mesh。

這正是您遇到的確切原因,因為實例可以停止和啟動,這將為其提供一個新的 ip 地址。 這可能由於您無法控制的原因而發生,例如硬件故障。

通常,當您剛剛啟動並運行某些東西時,您可能會使用您擁有的這個私有 ip 地址。 但是,一旦事情進展順利並且您在其他地方需要這個 ip 地址,最好做正確的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM