簡體   English   中英

AWS ECS Fargate - 為什么 /etc/hosts 在 2 個 aws 賬戶之間不同?

[英]AWS ECS Fargate - Why /etc/hosts is different between 2 aws accounts?

我正在 aws 帳戶 (aws-dev) 中的 aws ecs fargate 上部署一個 java 應用程序,它工作得很好。 我的應用程序調用以獲取本地主機並能夠解決它。

InetAddress.getLocalHost()

在應用程序啟動時,我打印了 /etc/hosts 的內容,它看起來像這樣:

127.0.0.1 localhost
10.111.11.111 ip-10-111-11-111.ec2.internal

到目前為止一切正常。

現在我有了另一個 aws 帳戶 (aws-uat),並將相同的應用程序(相同的 docker 圖像)部署到 ecs fargate,但出現未知主機錯誤。

java.net.UnknownHostException: 718ec01ffa6a11dea91ea43ea6d18328-1111111111: 718ec01ffa6a11dea91ea43ea6d18328-1111111111: System error

這個錯誤的原因看起來是,/etc/hosts 在這個帳戶中是不同的。 這里的 /etc/hosts 內容如下所述,並且缺少主機名映射:

127.0.0.1 localhost
10.11.11.111

我的問題是為什么從 aws ecs fargate 上的相同 docker 圖像運行的容器會有不同的 /etc/hosts 以及為什么在以后的情況下主機名沒有映射到 ip? 這是否與 2 個帳戶之間的 aws.networking 有關,如果是,可能是什么以及如何解決? 或者這里有其他問題?

您應該檢查運行其中每一個的 VPC 中的 DNS 選項。我猜您可能在第二個 VPC 中禁用了 DNS 支持或 DNS 主機名。

暫無
暫無

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

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